Merge branch 'master' of git://factorcode.org/git/factor
commit
90287744dc
|
@ -1 +1 @@
|
|||
demos
|
||||
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -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. ;
|
||||
|
|
|
@ -10,7 +10,7 @@ IN: demos
|
|||
: demo-vocabs ( -- seq ) "demos" tagged [ second ] map concat [ name>> ] map ;
|
||||
|
||||
: <run-vocab-button> ( vocab-name -- button )
|
||||
dup '[ drop [ , run ] call-listener ] <bevel-button> ;
|
||||
dup '[ drop [ , run ] call-listener ] <bevel-button> { 0 0 } >>align ;
|
||||
|
||||
: <demo-runner> ( -- gadget )
|
||||
<pile> 1 >>fill demo-vocabs [ <run-vocab-button> add-gadget ] each ;
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
demos
|
||||
web
|
||||
network
|
||||
|
|
|
@ -1 +1 @@
|
|||
demos
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
demos
|
||||
example
|
||||
|
|
|
@ -1 +1 @@
|
|||
demos
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
demos
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
demos
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
demos
|
||||
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
demos
|
||||
web
|
||||
|
|
Loading…
Reference in New Issue