( COLOUR )

DECIMAL

(  colour control follows )
128 VARIABLE red
128 VARIABLE green
128 VARIABLE blue
0 VARIABLE fgdbgd  ( 0 or 128 )
0 VARIABLE qtxt    ( 0 or 512 )
0 VARIABLE gcol_action
: ?gcol_action  gcol_action @ ;
: set_fgdbgdtxt fgdbgd @  qtxt @ OR ;
: cols_tostack red @ green @ blue @ ;
: set_colours ?gcol_action set_fgdbgdtxt cols_tostack GCOL ;


: grfgd    0 fgdbgd !   0 qtxt ! ;  ( graphic foreground )
: grbgd  128 fgdbgd !   0 qtxt ! ;
: txtfgd   0 fgdbgd ! 512 qtxt ! ;  ( text foreground )
: txtbgd 128 fgdbgd ! 512 qtxt ! ;

: midblue 0 red ! 0 green ! 128 blue ! ;
: yellow 255 red ! 255 green ! 0 blue ! ;
: bluebgd midblue grbgd set_colours ;
: yellowtxt yellow txtfgd set_colours
  midblue txtbgd set_colours ;
: fullscreen_std NOWIMPS bluebgd yellowtxt ;

( Using colours already on stack: )
: use_colour ( r,g,b ... )
  >R >R >R ?gcol_action 0  R> R> R> GCOL ;
: cfill  ( r,g,b .... )
  use_colour 300 200 50 CIRCLE-FILL ;

EXIT