 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-: recursive ( quot -- ) iterate? swap when ;
+: recursive ( quot -- ) iterate? swap when ; inline
 
 : multi ( seq -- ) random-weighted* call ;
 

  init-modelview-matrix-stack
  init-color-stack

  set-initial-color

  self> set-color

  start-shape> call ;

: cfdg-window* ( -- )
  [ display ] closed-quot <slate>
  { 500 500 } over set-slate-pdim
  dup "CFDG" open-window ;

: cfdg-window ( -- ) [ cfdg-window* ] with-ui ;

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

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

SYMBOL: dlist

! : build-model-dlist ( -- )
!   1 glGenLists dlist set
!   dlist get GL_COMPILE_AND_EXECUTE glNewList
!   start-shape> call
!   glEndList ;

: build-model-dlist ( -- )
  1 glGenLists dlist set
  dlist get GL_COMPILE_AND_EXECUTE glNewList

  set-initial-color

  self> set-color

  start-shape> call
      
  glEndList ;

: display ( -- )

  GL_PROJECTION glMatrixMode
