(m291) Scrolling tracks again

This commit is contained in:
Devine Lu Linvega 2024-08-30 13:47:12 -07:00
parent 2d1b4b2670
commit c57be86439
1 changed files with 33 additions and 32 deletions

View File

@ -116,7 +116,7 @@
POP2 BRK POP2 BRK
&scroll ( distance -> ) &scroll ( distance -> )
.selection/scroll LDZ ADD DUP #ff NEQ ?{ POP JMP2r } .selection/scroll LDZ ADD DUP #ff NEQ ?{ POP BRK }
.selection/scroll STZ .selection/scroll STZ
<redraw-dir> <redraw-dir>
BRK BRK
@ -222,6 +222,7 @@
.selection STZ !<redraw-dir> .selection STZ !<redraw-dir>
@<pick> ( alt id -- ) @<pick> ( alt id -- )
[ LIT2 00 -selection/scroll ] STZ
DUP .lines/folders LDZ LTH ?&folder DUP .lines/folders LDZ LTH ?&folder
.lines/folders LDZ SUB DUP .lines/tracks LDZ LTH ?&tracks .lines/folders LDZ SUB DUP .lines/tracks LDZ LTH ?&tracks
POP JMP2r POP JMP2r
@ -516,15 +517,15 @@
#0008 .Screen/x DEO2 #0008 .Screen/x DEO2
;dict/empty #0f !<draw-uf2> } ;dict/empty #0f !<draw-uf2> }
( | folders ) ( | folders )
.selection LDZ <draw-folders> <draw-folders>
;mem/tracks .lines/tracks LDZ .selection LDZ .lines/folders LDZ SUB
( >> ) ( >> )
@<draw-files> ( addr* length selection -- ) @<draw-tracks> ( -- )
,&sel STR .selection LDZ ,&sel STR
DUP ?{ POP2 POP JMP2r }
#0008 .Screen/x DEO2 #0008 .Screen/x DEO2
#00 SWP2 ,&t STR2 .lines/tracks LDZ #00 NEQk ?{ POP2 JMP2r }
.selection/scroll LDZ .lines/folders LDZ LTH ?{
.selection/scroll LDZ .lines/folders LDZ SUB ADD }
&>l ( -- ) &>l ( -- )
[ LITr 05 ] [ LITr 05 ]
( | selected ) ( | selected )
@ -539,7 +540,31 @@
( | normal ) ( | normal )
#0008 .Screen/x DEO2 #0008 .Screen/x DEO2
#00 OVR #00 OVR
( CELLSIZE ) #70 SFT2 [ LIT2 &t $2 ] ADD2 STHr <draw-uf2> ( CELLSIZE ) #70 SFT2 ;mem/tracks ADD2 STHr <draw-uf2>
.Screen/y DEI2k #0010 ADD2 ROT DEO2
INC GTHk ?&>l
POP2 JMP2r
@<draw-folders> ( -- )
.selection LDZ ,&sel STR
#0008 .Screen/x DEO2
.lines/folders LDZ #00 NEQk ?{ POP JMP2r }
.selection/scroll LDZ ADD GTHk ?{ POP2 JMP2r }
&>l ( -- )
[ LITr 05 ]
( | selected )
DUP [ LIT &sel $1 ] NEQ ?{
POPr [ LITr 06 ] ;fill-icn <draw-background> }
( | gizmo )
.Screen/y DEI2 [ LIT2 15 -Screen/auto ] DEO
.Screen/width DEI2 #0010 SUB2 .Screen/x DEO2
[ LIT2 00 "> ] #20 SUB #50 SFT2 ;font/glyphs ADD2 .Screen/addr DEO2
DUPr [ LITr -Screen/sprite ] DEOr
.Screen/y DEO2
( | normal )
#0008 .Screen/x DEO2
#00 OVR
( CELLSIZE ) #70 SFT2 ;mem/folders ADD2 STHr <draw-uf2>
.Screen/y DEI2k #0010 ADD2 ROT DEO2 .Screen/y DEI2k #0010 ADD2 ROT DEO2
INC GTHk ?&>l INC GTHk ?&>l
POP2 JMP2r POP2 JMP2r
@ -758,30 +783,6 @@
.Screen/y DEO2 .Screen/y DEO2
JMP2r JMP2r
@<draw-folders> ( selection -- )
,&sel STR
#0008 .Screen/x DEO2
.lines/folders LDZ #00 NEQk ?{ POP JMP2r }
.selection/scroll LDZ ADD GTHk ?{ POP2 JMP2r }
&>l ( -- )
[ LITr 05 ]
( | selected )
DUP [ LIT &sel $1 ] NEQ ?{
POPr [ LITr 06 ] ;fill-icn <draw-background> }
( | gizmo )
.Screen/y DEI2 [ LIT2 15 -Screen/auto ] DEO
.Screen/width DEI2 #0010 SUB2 .Screen/x DEO2
[ LIT2 00 "> ] #20 SUB #50 SFT2 ;font/glyphs ADD2 .Screen/addr DEO2
DUPr [ LITr -Screen/sprite ] DEOr
.Screen/y DEO2
( | normal )
#0008 .Screen/x DEO2
#00 OVR
( CELLSIZE ) #70 SFT2 ;mem/folders ADD2 STHr <draw-uf2>
.Screen/y DEI2k #0010 ADD2 ROT DEO2
INC GTHk ?&>l
POP2 JMP2r
@get-uf2-width ( text* -- width* ) @get-uf2-width ( text* -- width* )
[ LIT2r 0000 ] [ LIT2r 0000 ]
&>while ( -- ) &>while ( -- )