@@ 28,7 28,7 @@ BRK
( when sub active )
;draw-menu/sel LDA #ff EQU ,&no-sub JCN
( when sel changed )
- .Mouse/y DEI2 #0004 SUB2 ;draw-sub/height LDA #04 SFT SFT2 NIP #01 SUB
+ .Mouse/y DEI2 #0004 SUB2 menu-r SFT2 NIP #01 SUB
DUP ;draw-sub/sel LDA EQU ,&no-change JCN
DUP ;draw-sub/sel STA
;draw-menu/sel LDA #ff ;draw-sub JSR2
@@ 237,7 237,7 @@ JMP2r
#00 ,&id STR
;manifest/menu
&cat
- [ LIT2 &theme 0401 ] [ LIT &sel ff ] [ LIT &id $1 ] EQU [ JMP SWP POP ] ;draw-chr/color STA
+ menu-sel menu-def [ LIT &sel ff ] [ LIT &id $1 ] EQU [ JMP SWP POP ] ;draw-chr/color STA
INC2k ;draw-str JSR2 POP2 #00 .Screen/sprite DEO
;skip-sub JSR2
,&id LDR INC ,&id STR
@@ 255,9 255,9 @@ JMP2r
LDAk STH INC2 ;skip-str JSR2
STHr #00
&subcat
- STHk [ LIT2 &theme 0804 ] STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA
+ STHk menu-hov menu-sel STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA
[ LIT2 &anchor $2 ] .Screen/x DEO2
- #00 OVR INC [ LIT &height 30 ] SFT2 #0004 ADD2 .Screen/y DEO2
+ #00 OVR INC menu-l SFT2 #0004 ADD2 .Screen/y DEO2
SWP2 ;draw-label JSR2 SWP2
INC GTHk ,&subcat JCN
POP2 POP2
@@ 268,9 268,16 @@ JMP2r
@draw-label ( label* -- next-label* )
- ;draw-label-bg JSR2
+ .Screen/x DEI2
+ .Screen/y DEI2
+ .Screen/auto DEI
+ #f2 .Screen/auto DEO
+ ;blank-icn .Screen/addr DEO2
+ ;draw-chr/color LDA .Screen/sprite menu-label
+ .Screen/auto DEO
+ .Screen/y DEO2
( mod )
- .Screen/x DEI2 STH2k #0078 ADD2 .Screen/x DEO2
+ STH2k #0078 ADD2 .Screen/x DEO2
LDA2k ;get-keymod-str JSR2 ;draw-str-right JSR2 POP2
STH2r .Screen/x DEO2
#0004 ADD2 ;draw-str JSR2
@@ 317,7 324,7 @@ JMP2r
@draw-str ( str* -- str* )
- [ LIT &auto 01 ] .Screen/auto DEO
+ menu-auto .Screen/auto DEO
&while
LDAk ;draw-chr JSR2
INC2 LDAk ,&while JCN
@@ 430,4 437,3 @@ JMP2r
2020 20b8 7c7c 3838
@blank-icn
0000 0000 0000 0000
-
@@ 7,6 7,14 @@
|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &chord $1
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
+%menu-def { #01 }
+%menu-sel { #07 }
+%menu-hov { #0d }
+%menu-auto { #01 }
+%menu-label { DEO }
+%menu-l { #30 }
+%menu-r { #03 }
+
|0000
@state
@@ 76,8 84,6 @@
;draw-once JSR2
( let's begin! )
;file-new JSR2
- #0701 ;draw-menu/theme STA2
- #0d07 ;draw-sub/theme STA2
;draw-menu JSR2
BRK
@@ 1058,25 1064,11 @@ JMP2r
@draw-chr ( char -- )
- #20 SUB #00 SWP #30 SFT2 ;font ADD2 &raw .Screen/addr DEO2
+ #20 SUB #00 SWP #30 SFT2 ;font ADD2 .Screen/addr DEO2
[ LIT &color 01 ] .Screen/sprite DEO
JMP2r
-@draw-label-bg ( -- )
-
- .Screen/x DEI2
- .Screen/y DEI2
- .Screen/auto DEI
- #f2 .Screen/auto DEO
- ;blank-icn .Screen/addr DEO2
- ;draw-chr/color LDA .Screen/sprite DEO
- .Screen/auto DEO
- .Screen/y DEO2
- .Screen/x DEO2
-
-JMP2r
-
@get-strw ( str* -- width* )
;slen JSR2 #30 SFT2