mirror of https://git.sr.ht/~rabbits/left
Faster glyph drawing
This commit is contained in:
parent
51210d6efb
commit
88d01bb3d6
23
src/left.tal
23
src/left.tal
|
@ -1193,7 +1193,7 @@
|
|||
( | reset state )
|
||||
<reset-state>
|
||||
( | paint )
|
||||
.scroll/x LDZ2 ;draw-character/anchor STA2
|
||||
.scroll/x LDZ2 .Screen/x DEO2
|
||||
#0020 .Screen/y DEO2
|
||||
[ LIT2 15 -Screen/auto ] DEO
|
||||
get-scroll-addr
|
||||
|
@ -1201,7 +1201,7 @@
|
|||
scan-state draw-character LDAk #0a NEQ ?{
|
||||
<draw-lb>
|
||||
.Screen/y DEI2 .Screen/height DEI2 #0010 SUB2 GTH2 ?&end
|
||||
.scroll/x LDZ2 ;draw-character/anchor STA2 }
|
||||
.scroll/x LDZ2 .Screen/x DEO2 }
|
||||
next-glyph LDAk ?&>l
|
||||
( | draw size left )
|
||||
#0000 OVR2 SUB2 #0f <draw-decimal>
|
||||
|
@ -1216,18 +1216,17 @@
|
|||
JMP2r
|
||||
|
||||
@draw-character ( addr* -- addr* )
|
||||
get-glyph-addr .Screen/addr DEO2
|
||||
get-color ,&c STR
|
||||
[ LIT2r &anchor $2 ] LITr -Screen/x DEO2kr
|
||||
( | draw normal )
|
||||
[ LIT2 &c $1 -Screen/sprite ] DEOk DEO
|
||||
( | draw underline )
|
||||
[ LIT2 00 -state/underline ] LDZ EQU ?{
|
||||
[ LITr -Screen/x ] DEI2r
|
||||
( glyph* ) get-glyph-addr .Screen/addr DEO2
|
||||
( color ) get-color ,&color STR
|
||||
( width* ) get-glyph-width STH2
|
||||
( draw2 ) [ LIT2 &color $1 -Screen/sprite ]
|
||||
( draw1 ) DUPr [ LITr 08 LTHr JMPr DEOk ] DEO
|
||||
( [ LIT2 00 -state/underline ] LDZ EQU ?{
|
||||
DEO2kr
|
||||
;underline-icn .Screen/addr DEO2
|
||||
[ LIT2 05 -Screen/sprite ] DEOk DEO }
|
||||
( | set position )
|
||||
get-glyph-width POPr STH2r ADD2 ,&anchor STR2
|
||||
[ LIT2 05 -Screen/sprite ] DEOk DEO } )
|
||||
ADD2r [ LITr -Screen/x ] DEO2r
|
||||
JMP2r
|
||||
|
||||
@draw-glyph-utf8 ( addr* -- addr* )
|
||||
|
|
Loading…
Reference in New Issue