mirror of https://git.sr.ht/~rabbits/left
Simplified marker drawing
This commit is contained in:
parent
abcc43690d
commit
e0999f0a0e
40
src/left.tal
40
src/left.tal
|
@ -1208,16 +1208,15 @@
|
|||
( | reset state )
|
||||
<reset-state>
|
||||
( | paint )
|
||||
.scroll/x LDZ2 ;<draw-character>/anchor STA2
|
||||
.scroll/x LDZ2 ;draw-character/anchor STA2
|
||||
#0020 .Screen/y DEO2
|
||||
[ LIT2 15 -Screen/auto ] DEO
|
||||
get-scroll-addr
|
||||
&>l ( -- )
|
||||
<draw-character>
|
||||
LDAk #0a NEQ ?&>no-lb
|
||||
draw-character LDAk #0a NEQ ?&>no-lb
|
||||
<draw-lb>
|
||||
.Screen/y DEI2 .Screen/height DEI2 #0010 SUB2 GTH2 ?&end
|
||||
.scroll/x LDZ2 ;<draw-character>/anchor STA2 &>no-lb next-glyph LDAk ?&>l
|
||||
.scroll/x LDZ2 ;draw-character/anchor STA2 &>no-lb next-glyph LDAk ?&>l
|
||||
( | draw size left when not dir )
|
||||
file-is-dir ?&end
|
||||
#0000 OVR2 SUB2 #0f <draw-decimal>
|
||||
|
@ -1231,7 +1230,7 @@
|
|||
POP .Screen/sprite DEO
|
||||
JMP2r
|
||||
|
||||
@<draw-character> ( addr* -- addr* )
|
||||
@draw-character ( addr* -- addr* )
|
||||
scan-state get-glyph-addr .Screen/addr DEO2
|
||||
get-color ,&c STR
|
||||
[ LIT2r &anchor $2 ] LITr -Screen/x DEO2kr
|
||||
|
@ -1246,7 +1245,7 @@
|
|||
get-glyph-width POPr STH2r ADD2 ,&anchor STR2
|
||||
JMP2r
|
||||
|
||||
@<draw-glyph> ( addr* -- addr* )
|
||||
@draw-glyph ( addr* -- addr* )
|
||||
[ LITr -Screen/x ] DEI2r
|
||||
( ) get-utf8-addr .Screen/addr DEO2
|
||||
get-utf8-width STHk
|
||||
|
@ -1256,20 +1255,19 @@
|
|||
JMP2r
|
||||
|
||||
@draw-word-until ( str* x* color -- str* )
|
||||
;<draw-glyph>/color STA
|
||||
;draw-glyph/color STA
|
||||
,&x STR2
|
||||
&>w ( -- )
|
||||
.Screen/x DEI2 [ LIT2 &x $2 ] LTH2 ?{
|
||||
walk-word
|
||||
( ) #0006 ;dotdot-icn !<draw-short-glyph> }
|
||||
<draw-glyph>
|
||||
next-glyph LDAk #20 GTH ?&>w
|
||||
draw-glyph next-glyph LDAk #20 GTH ?&>w
|
||||
JMP2r
|
||||
|
||||
@<draw-short-glyph> ( length* addr* -- )
|
||||
.Screen/addr DEO2
|
||||
.Screen/x DEI2
|
||||
( ) ;<draw-glyph>/color LDA .Screen/sprite DEO
|
||||
( ) ;draw-glyph/color LDA .Screen/sprite DEO
|
||||
ADD2 .Screen/x DEO2
|
||||
JMP2r
|
||||
|
||||
|
@ -1284,8 +1282,14 @@
|
|||
.nav/len LDZ #00 EQUk ?<draw-navbar-empty>
|
||||
&>l ( -- )
|
||||
#000a .Screen/x DEO2
|
||||
DUP [ LIT &sel $1 ] get-marker-color ;<draw-glyph>/color STA
|
||||
DUP get-marker <draw-marker>
|
||||
DUP [ LIT &sel $1 ] get-marker-color STH
|
||||
( cap ) ;marker-icns .Screen/addr DEO2
|
||||
STHkr #02 SFT .Screen/sprite DEO
|
||||
DUP get-marker find-prev-spacer
|
||||
( label ) LDA2k [ LIT2 "@| ] NEQ2 ?{ INC2 INC2 }
|
||||
#007c STHkr draw-word-until POP2
|
||||
( cap ) ;marker-icns/end .Screen/addr DEO2
|
||||
STHr #02 SFT .Screen/sprite DEO
|
||||
<draw-lb>
|
||||
INC GTHk ?&>l
|
||||
POP2 <draw-cat>
|
||||
|
@ -1343,18 +1347,6 @@
|
|||
( recover x ) .Screen/x DEO2
|
||||
JMP2r
|
||||
|
||||
@<draw-marker> ( str* -- )
|
||||
;marker-icns <draw-marker-cap>
|
||||
( | rewind )
|
||||
find-prev-spacer LDA2k [ LIT2 "@| ] NEQ2 ?{ INC2 INC2 }
|
||||
#007c ;<draw-glyph>/color LDA draw-word-until POP2 ;marker-icns/end
|
||||
( >> )
|
||||
|
||||
@<draw-marker-cap> ( addr* -- )
|
||||
.Screen/addr DEO2
|
||||
;<draw-glyph>/color LDA #02 SFT .Screen/sprite DEO
|
||||
JMP2r
|
||||
|
||||
@<clear-filepath> ( -- )
|
||||
#07 get-cat-x #0004 ADD2 .Screen/x DEO2
|
||||
#0004 .Screen/y DEO2
|
||||
|
|
Loading…
Reference in New Issue