\ skinclassictgls

needs togglebutton

decimal

Toggle: 0toggle
Toggle: 1toggle
Toggle: 2toggle
Toggle: 3toggle
Toggle: 4toggle
Toggle: 5toggle
Toggle: 6toggle
Toggle: 7toggle

1313 0toggle tgl.offbmp-id !
1314 0toggle tgl.onbmp-id !
1317 0toggle tgl.midbmp-id !
1000 0toggle tgl.gadget-id !

1310 1toggle tgl.offbmp-id !
1311 1toggle tgl.onbmp-id !
1312 1toggle tgl.midbmp-id !
1001 1toggle tgl.gadget-id !

1310 2toggle tgl.offbmp-id !
1311 2toggle tgl.onbmp-id !
1312 2toggle tgl.midbmp-id !
1002 2toggle tgl.gadget-id !

1310 3toggle tgl.offbmp-id !
1311 3toggle tgl.onbmp-id !
1312 3toggle tgl.midbmp-id !
1003 3toggle tgl.gadget-id !

1313 4toggle tgl.offbmp-id !
1314 4toggle tgl.onbmp-id !
1317 4toggle tgl.midbmp-id !
1004 4toggle tgl.gadget-id !

1310 5toggle tgl.offbmp-id !
1311 5toggle tgl.onbmp-id !
1312 5toggle tgl.midbmp-id !
1005 5toggle tgl.gadget-id !

1310 6toggle tgl.offbmp-id !
1311 6toggle tgl.onbmp-id !
1312 6toggle tgl.midbmp-id !
1006 6toggle tgl.gadget-id !

1310 7toggle tgl.offbmp-id !
1311 7toggle tgl.onbmp-id !
1312 7toggle tgl.midbmp-id !
1007 7toggle tgl.gadget-id !

: do-classic-toggles  ( ekey -- )
    dup 0toggle do-toggle-event
    dup 1toggle do-toggle-event
    dup 2toggle do-toggle-event
    dup 3toggle do-toggle-event
    dup 4toggle do-toggle-event
    dup 5toggle do-toggle-event
    dup 6toggle do-toggle-event
    7toggle do-toggle-event ;


: setinbit  ( flag bit# -- )
    4 input@ >r
    1 swap lshift         ( flag posmask )
    swap if
        r> or
    else
        (hex) 00FF xor   r>  and
    then
    4 input! ;

: set0  ( flag -- )   0 setinbit ;
: set1  ( flag -- )   1 setinbit ;
: set2  ( flag -- )   2 setinbit ;
: set3  ( flag -- )   3 setinbit ;
: set4  ( flag -- )   4 setinbit ;
: set5  ( flag -- )   5 setinbit ;
: set6  ( flag -- )   6 setinbit ;
: set7  ( flag -- )   7 setinbit ;

: inbit?  ( bit# -- flag )
    1 swap lshift    4 input@ and ;

: init-classic-toggles  ( -- )
    0 inbit?  ['] set0  0toggle  init-toggle
    1 inbit?  ['] set1  1toggle  init-toggle
    2 inbit?  ['] set2  2toggle  init-toggle
    3 inbit?  ['] set3  3toggle  init-toggle
    4 inbit?  ['] set4  4toggle  init-toggle
    5 inbit?  ['] set5  5toggle  init-toggle
    6 inbit?  ['] set6  6toggle  init-toggle
    7 inbit?  ['] set7  7toggle  init-toggle
    ;


