cfdg: Two new macros: rule and rules
parent
085a9b9ff4
commit
554bc131fe
|
@ -5,7 +5,7 @@ USING: kernel alien.c-types combinators namespaces arrays
|
||||||
opengl.gl opengl.glu opengl ui ui.gadgets.slate
|
opengl.gl opengl.glu opengl ui ui.gadgets.slate
|
||||||
vars colors self self.slots
|
vars colors self self.slots
|
||||||
random-weighted colors.hsv cfdg.gl accessors
|
random-weighted colors.hsv cfdg.gl accessors
|
||||||
ui.gadgets.handler ui.gestures assocs ui.gadgets ;
|
ui.gadgets.handler ui.gestures assocs ui.gadgets macros ;
|
||||||
|
|
||||||
IN: cfdg
|
IN: cfdg
|
||||||
|
|
||||||
|
@ -137,6 +137,25 @@ VAR: threshold
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
: [rules] ( seq -- quot )
|
||||||
|
[ unclip swap [ [ do ] curry ] map concat 2array ] map
|
||||||
|
[ call-random-weighted ] swap prefix
|
||||||
|
[ when ] swap prefix
|
||||||
|
[ iterate? ] swap append ;
|
||||||
|
|
||||||
|
MACRO: rules ( seq -- quot ) [rules] ;
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
: [rule] ( seq -- quot )
|
||||||
|
[ [ do ] swap prefix ] map concat
|
||||||
|
[ when ] swap prefix
|
||||||
|
[ iterate? ] prepend ;
|
||||||
|
|
||||||
|
MACRO: rule ( seq -- quot ) [rule] ;
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
VAR: background
|
VAR: background
|
||||||
|
|
||||||
: set-initial-background ( -- ) T{ hsva f 0 0 1 1 } clone >self ;
|
: set-initial-background ( -- ) T{ hsva f 0 0 1 1 } clone >self ;
|
||||||
|
|
Loading…
Reference in New Issue