diff --git a/extra/boolean-expr/tags.txt b/extra/boolean-expr/tags.txt index cb5fc203e1..8b13789179 100644 --- a/extra/boolean-expr/tags.txt +++ b/extra/boolean-expr/tags.txt @@ -1 +1 @@ -demos + diff --git a/extra/cfdg/cfdg.factor b/extra/cfdg/cfdg.factor index 6cbbc51786..114ebf5445 100644 --- a/extra/cfdg/cfdg.factor +++ b/extra/cfdg/cfdg.factor @@ -5,7 +5,7 @@ USING: kernel alien.c-types combinators namespaces arrays opengl.gl opengl.glu opengl ui ui.gadgets.slate vars colors self self.slots 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 @@ -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 : set-initial-background ( -- ) T{ hsva f 0 0 1 1 } clone >self ; diff --git a/extra/cfdg/models/chiaroscuro/chiaroscuro.factor b/extra/cfdg/models/chiaroscuro/chiaroscuro.factor index 1034f1527b..d0474cdcb4 100644 --- a/extra/cfdg/models/chiaroscuro/chiaroscuro.factor +++ b/extra/cfdg/models/chiaroscuro/chiaroscuro.factor @@ -5,34 +5,32 @@ USING: kernel namespaces sequences math IN: cfdg.models.chiaroscuro +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + DEFER: white -: black ( -- ) iterate? [ - { { 60 [ [ 0.6 s circle ] do - [ 0.1 x 5 r 0.99 s -0.01 b -0.01 a black ] do ] } - { 1 [ white black ] } } - call-random-weighted -] when ; +: black ( -- ) + { + { 60 [ 0.6 s circle ] [ 0.1 x 5 r 0.99 s -0.01 b -0.01 a black ] } + { 1 [ white black ] } + } + rules ; -: white ( -- ) iterate? [ - { { 60 [ - [ 0.6 s circle ] do - [ 0.1 x -5 r 0.99 s 0.01 b -0.01 a white ] do - ] } - { 1 [ - black white - ] } } - call-random-weighted -] when ; +: white ( -- ) + { + { 60 [ 0.6 s circle ] [ 0.1 x -5 r 0.99 s 0.01 b -0.01 a white ] } + { 1 [ black white ] } + } + rules ; -: chiaroscuro ( -- ) [ 0.5 b black ] do ; +: chiaroscuro ( -- ) { [ 0.5 b black ] } rule ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! : init ( -- ) [ -0.5 b ] >background { -3 6 -2 6 } >viewport - 0.01 >threshold + 0.03 >threshold [ chiaroscuro ] >start-shape ; : run ( -- ) [ init ] cfdg-window. ; diff --git a/extra/demos/demos.factor b/extra/demos/demos.factor index c8e5a35f9e..40149bafa9 100644 --- a/extra/demos/demos.factor +++ b/extra/demos/demos.factor @@ -10,7 +10,7 @@ IN: demos : demo-vocabs ( -- seq ) "demos" tagged [ second ] map concat [ name>> ] map ; : ( vocab-name -- button ) - dup '[ drop [ , run ] call-listener ] ; + dup '[ drop [ , run ] call-listener ] { 0 0 } >>align ; : ( -- gadget ) 1 >>fill demo-vocabs [ add-gadget ] each ; diff --git a/extra/lisppaste/tags.txt b/extra/lisppaste/tags.txt index d17547f347..93e65ae758 100644 --- a/extra/lisppaste/tags.txt +++ b/extra/lisppaste/tags.txt @@ -1,3 +1,2 @@ -demos web network diff --git a/extra/log-viewer/tags.txt b/extra/log-viewer/tags.txt index cb5fc203e1..8b13789179 100755 --- a/extra/log-viewer/tags.txt +++ b/extra/log-viewer/tags.txt @@ -1 +1 @@ -demos + diff --git a/extra/lsys/ui/ui.factor b/extra/lsys/ui/ui.factor index 420d5a3f4c..832f7b9131 100644 --- a/extra/lsys/ui/ui.factor +++ b/extra/lsys/ui/ui.factor @@ -41,7 +41,7 @@ VAR: model : display ( -- ) -black gl-clear +black set-clear-color GL_COLOR_BUFFER_BIT glClear GL_FLAT glShadeModel @@ -57,7 +57,9 @@ camera> do-look-at GL_FRONT_AND_BACK GL_LINE glPolygonMode -white gl-color +white color>raw glColor4d + +! white set-color GL_LINES glBegin { 0 0 0 } gl-vertex { 0 0 1 } gl-vertex glEnd diff --git a/extra/morse/tags.txt b/extra/morse/tags.txt index cb5fc203e1..33a9488b16 100644 --- a/extra/morse/tags.txt +++ b/extra/morse/tags.txt @@ -1 +1 @@ -demos +example diff --git a/extra/msxml-to-csv/tags.txt b/extra/msxml-to-csv/tags.txt index cb5fc203e1..8b13789179 100644 --- a/extra/msxml-to-csv/tags.txt +++ b/extra/msxml-to-csv/tags.txt @@ -1 +1 @@ -demos + diff --git a/extra/roman/tags.txt b/extra/roman/tags.txt index cb5fc203e1..8b13789179 100644 --- a/extra/roman/tags.txt +++ b/extra/roman/tags.txt @@ -1 +1 @@ -demos + diff --git a/extra/taxes/tags.txt b/extra/taxes/tags.txt index cb5fc203e1..8b13789179 100644 --- a/extra/taxes/tags.txt +++ b/extra/taxes/tags.txt @@ -1 +1 @@ -demos + diff --git a/extra/turing/tags.txt b/extra/turing/tags.txt index cb5fc203e1..8b13789179 100644 --- a/extra/turing/tags.txt +++ b/extra/turing/tags.txt @@ -1 +1 @@ -demos + diff --git a/extra/yahoo/tags.txt b/extra/yahoo/tags.txt index 2675462a84..c0772185a0 100644 --- a/extra/yahoo/tags.txt +++ b/extra/yahoo/tags.txt @@ -1,2 +1 @@ -demos web