diff --git a/gui/notepad/src/assets.tal b/gui/notepad/src/assets.tal index f1f5607..7daa8eb 100644 --- a/gui/notepad/src/assets.tal +++ b/gui/notepad/src/assets.tal @@ -15,6 +15,9 @@ 0000 00ff 00ff 00ff 00ff 00ff 00ff 0000 ] &c [ 0000 00fe 00fe 00fe 00fe 00fe 00fe 0000 ] +@marker-icn [ + 0000 0000 0000 4060 7060 4000 0000 0000 + 0000 0000 0000 0000 0000 0000 0000 0000 ] @close-icn 0000 00ff 8080 8080 8080 8080 80ff 0000 0000 00ef 202f 202f 202f 202f 20ef 0000 diff --git a/gui/notepad/src/notepad.tal b/gui/notepad/src/notepad.tal index 11485f9..a6020b2 100644 --- a/gui/notepad/src/notepad.tal +++ b/gui/notepad/src/notepad.tal @@ -519,16 +519,18 @@ JMP2r JMP2r -@char-addr ( char -- addr* ) +@char-addr ( prev char -- addr* ) DUP #7e GTH ?&missing DUP #20 LTH ?&blank - #20 SUB + DUP2 #093e EQU2 ?&marker + NIP #20 SUB #00 SWP #50 SFT2 ;font/glyphs ADD2 JMP2r - &blank POP ;font/glyphs JMP2r - &missing POP ;error-icn JMP2r + &blank POP2 ;font/glyphs JMP2r + &missing POP2 ;error-icn JMP2r + &marker POP2 ;marker-icn JMP2r @char-width ( char -- width* ) @@ -649,7 +651,7 @@ JMP2r get-page &while ( draw char ) - LDAk char-addr .Screen/addr DEO2 + DUP2 #0001 SUB2 LDA2 char-addr .Screen/addr DEO2 is-selected STH #0701 STHr [ JMP SWP POP ] .Screen/sprite DEOk DEO .Screen/x DEI2k #0010 SUB2 ROT DEO2 ( draw selector ) @@ -713,6 +715,7 @@ JMP2r .Mouse/x DEI2 ,draw-cursor/x STR2 .Mouse/y DEI2 ,draw-cursor/y STR2 .Screen/addr DEO2 + ( >> ) @draw-cursor ( color -- ) @@ -725,6 +728,14 @@ JMP2r ( @|stdlib ) +@ ( short* -: ) + SWP /b + &b ( byte -: ) + DUP #04 SFT /c + &c ( byte -: ) + #0f AND DUP #09 GTH #27 MUL ADD [ LIT "0 ] ADD #18 DEO + JMP2r + @load-theme ( -- ) ;&path .File/name DEO2