   glEnd ;
 
 : square ( -- )
-  color> gl-set-hsba
+  self> set-color
   GL_POLYGON glBegin
     -0.5  0.5 glVertex2d
      0.5  0.5 glVertex2d

       sequences sequences.lib namespaces.lib splitting
       math math.functions math.vectors math.trig
       opengl.gl opengl.glu opengl ui ui.gadgets.slate
       vars
       random-weighted colors.hsv cfdg.gl ;

IN: cfdg

! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! hsba { hue saturation brightness alpha }

: <hsba> 4array ;

VAR: color

! ( -- val )

: hue>>        0 color> nth ;
: saturation>> 1 color> nth ;
: brightness>> 2 color> nth ;
: alpha>>      3 color> nth ;

! ( val -- )

: >>hue        0 color> set-nth ;
: >>saturation 1 color> set-nth ;
: >>brightness 2 color> set-nth ;
: >>alpha      3 color> set-nth ;

! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

: hsva>rgba ( hsva -- rgba ) [ 3 head hsv>rgb ] [ peek ] bi suffix ;

: gl-set-hsba ( hsva -- ) hsva>rgba gl-color ;

: gl-clear-hsba ( hsva -- ) hsva>rgba gl-clear ;

! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



VAR: start-shape

: set-initial-color ( -- ) T{ hsva f 0 0 0 1 } clone >self ;

: display ( -- )

