Added hover state changes
This commit is contained in:
parent
fe2bee8a95
commit
db9edf663e
|
@ -48,6 +48,15 @@
|
|||
3f3f 3f3f 3f1f 0000 7f7f 7f5f 4020 1f00
|
||||
ffff ffff ffff 0000 ffff ffff 0000 ff00
|
||||
fcfc fcfc fcf8 0000 fefe fefa 0204 f800 ]
|
||||
@btn-hover-chr [
|
||||
0000 001f 3f3f 3f3f 0000 1f3f 7f7f 7f7f
|
||||
0000 00ff ffff ffff 0000 ffff ffff ffff
|
||||
0000 00f8 fcfc fcfc 0000 f8fc fefe fefe
|
||||
fcfc fcfc fcfc fcfc fefe fefe fefe fefe
|
||||
3f3f 3f3f 3f3f 3f3f 7f7f 7f7f 7f7f 7f7f
|
||||
3f3f 3f3f 3f1f 0000 7f7f 7f7f 5f20 1f00
|
||||
ffff ffff ffff 0000 ffff ffff ff00 ff00
|
||||
fcfc fcfc fcf8 0000 fefe fefe fa04 f800 ]
|
||||
|
||||
@keys
|
||||
&peep 0000 0060 1008 0808 0808 0808 0000 0000 ={ f090 9190 }
|
||||
|
|
|
@ -42,8 +42,12 @@
|
|||
JMP2r
|
||||
|
||||
@<set-hover> ( id* -- )
|
||||
DUP2 .hover LDZ2 EQU2 ?{ .hover STZ2
|
||||
JMP2r }
|
||||
DUP2 #0030 LTH2 ?{ POP2 JMP2r }
|
||||
DUP2 .hover LDZ2 EQU2 ?{
|
||||
( undraw ) .hover LDZ2 ;btn-chr <draw-key-id>
|
||||
DUP2 ;btn-hover-chr <draw-key-id>
|
||||
.hover STZ2
|
||||
( redraw ) JMP2r }
|
||||
POP2 JMP2r
|
||||
|
||||
@<set-position> ( id* -- )
|
||||
|
@ -56,6 +60,62 @@
|
|||
(
|
||||
@|drawing )
|
||||
|
||||
@<draw-keyboard> ( -- )
|
||||
#0020 #0000
|
||||
&l ( -- )
|
||||
DUP2 ;btn-chr <draw-key-id>
|
||||
INC2 GTH2k ?&l
|
||||
POP2 POP2 JMP2r
|
||||
|
||||
@<draw-key-id> ( id* frame* -- )
|
||||
OVR2 <set-position>
|
||||
OVR2 #001d EQU2 ?<draw-key-space>
|
||||
STH2
|
||||
#0006 MUL2 ;layout ADD2
|
||||
( ) STH2k #0004 ADD2 LDA2
|
||||
( ) STH2kr #0002 ADD2 LDA2
|
||||
( ) STH2r LDA2 STH2r <draw-key>
|
||||
JMP2r
|
||||
|
||||
@<draw-glyph> ( addr* -- )
|
||||
.Screen/addr DEO2
|
||||
[ LIT2 15 -Screen/auto ] DEO
|
||||
[ LIT2 0a -Screen/sprite ] DEO
|
||||
JMP2r
|
||||
|
||||
@<draw-key> ( a* b* c* frame* -- )
|
||||
<draw-button>
|
||||
.Screen/x DEI2k #0002 SUB2 ROT DEO2
|
||||
.Screen/y DEI2k #0024 SUB2 ROT DEO2
|
||||
( | a )
|
||||
<draw-glyph>
|
||||
.Screen/x DEI2k #0002 SUB2 ROT DEO2
|
||||
.Screen/y DEI2k #000c ADD2 ROT DEO2
|
||||
( | b )
|
||||
<draw-glyph>
|
||||
.Screen/x DEI2k #0002 SUB2 ROT DEO2
|
||||
.Screen/y DEI2k #000c ADD2 ROT DEO2
|
||||
( | c )
|
||||
<draw-glyph>
|
||||
.Screen/x DEI2k #0006 ADD2 ROT DEO2
|
||||
.Screen/y DEI2k #001c SUB2 ROT DEO2
|
||||
JMP2r
|
||||
|
||||
@<draw-key-space> ( id* frame* -- )
|
||||
STH2
|
||||
POP2 .Screen/x DEI2 .Screen/y DEI2 #1204 STH2r <draw-frame>
|
||||
;fill-icn .Screen/addr DEO2
|
||||
[ LIT2 31 -Screen/auto ] DEO
|
||||
#03ee !<draw-times>
|
||||
|
||||
@<draw-button> ( frame* -- )
|
||||
STH2
|
||||
.Screen/x DEI2 .Screen/y DEI2 #0204 STH2r <draw-frame>
|
||||
;fill-icn .Screen/addr DEO2
|
||||
[ LIT2 12 -Screen/auto ] DEO
|
||||
[ LIT2 03 -Screen/sprite ] DEOk DEOk DEOk DEO
|
||||
JMP2r
|
||||
|
||||
@<draw-frame> ( x* y* w h sprite* -- )
|
||||
.Screen/addr DEO2
|
||||
,&h STR
|
||||
|
@ -83,61 +143,6 @@
|
|||
INC GTHk ?&repeat-loop
|
||||
POP2 JMP2r
|
||||
|
||||
@<draw-keyboard> ( -- )
|
||||
#0020 #0000
|
||||
&l ( -- )
|
||||
DUP2 #00 <draw-key-id>
|
||||
INC2 GTH2k ?&l
|
||||
POP2 POP2 JMP2r
|
||||
|
||||
@<draw-key-id> ( id* state -- )
|
||||
POP DUP2 <set-position>
|
||||
DUP #1d EQU ?<draw-key-space>
|
||||
#0006 MUL2 ;layout ADD2
|
||||
( ) STH2k #0004 ADD2 LDA2
|
||||
( ) STH2kr #0002 ADD2 LDA2
|
||||
( ) STH2r LDA2 ;btn-chr <draw-key>
|
||||
JMP2r
|
||||
|
||||
@<draw-glyph> ( addr* -- )
|
||||
.Screen/addr DEO2
|
||||
[ LIT2 15 -Screen/auto ] DEO
|
||||
[ LIT2 0a -Screen/sprite ] DEO
|
||||
JMP2r
|
||||
|
||||
@<draw-key> ( a* b* c* frame* -- )
|
||||
<draw-button>
|
||||
.Screen/x DEI2k #0002 SUB2 ROT DEO2
|
||||
.Screen/y DEI2k #0024 SUB2 ROT DEO2
|
||||
( | a )
|
||||
<draw-glyph>
|
||||
.Screen/x DEI2k #0002 SUB2 ROT DEO2
|
||||
.Screen/y DEI2k #000c ADD2 ROT DEO2
|
||||
( | b )
|
||||
<draw-glyph>
|
||||
.Screen/x DEI2k #0002 SUB2 ROT DEO2
|
||||
.Screen/y DEI2k #000c ADD2 ROT DEO2
|
||||
( | c )
|
||||
<draw-glyph>
|
||||
.Screen/x DEI2k #0006 ADD2 ROT DEO2
|
||||
.Screen/y DEI2k #001c SUB2 ROT DEO2
|
||||
JMP2r
|
||||
|
||||
@<draw-key-space> ( id* -- )
|
||||
.Screen/x DEI2 .Screen/y DEI2 #1204 ;btn-chr <draw-frame>
|
||||
;fill-icn .Screen/addr DEO2
|
||||
[ LIT2 31 -Screen/auto ] DEO
|
||||
#03ee <draw-times>
|
||||
POP2 JMP2r
|
||||
|
||||
@<draw-button> ( frame* -- )
|
||||
STH2
|
||||
.Screen/x DEI2 .Screen/y DEI2 #0204 STH2r <draw-frame>
|
||||
;fill-icn .Screen/addr DEO2
|
||||
[ LIT2 12 -Screen/auto ] DEO
|
||||
[ LIT2 03 -Screen/sprite ] DEOk DEOk DEOk DEO
|
||||
JMP2r
|
||||
|
||||
@<draw-times> ( color times -- )
|
||||
OVR .Screen/sprite DEO
|
||||
INC DUP ?<draw-times>
|
||||
|
|
Loading…
Reference in New Issue