Merge branch 'master' of git://factorcode.org/git/factor

db4
Doug Coleman 2008-12-01 17:53:57 -06:00
commit 790829ea6f
2 changed files with 17 additions and 15 deletions

13
basis/ui/gadgets/editors/editors.factor Normal file → Executable file
View File

@ -1,6 +1,6 @@
! Copyright (C) 2006, 2008 Slava Pestov
! See http://factorcode.org/license.txt for BSD license.
USING: accessors arrays documents io kernel math models
USING: accessors arrays documents kernel math models
namespaces locals fry make opengl opengl.gl sequences strings
io.styles math.vectors sorting colors combinators assocs
math.order fry calendar alarms ui.clipboards ui.commands
@ -218,7 +218,7 @@ M: editor ungraft*
] with-editor-translation ;
: selection-start/end ( editor -- start end )
dup editor-mark* swap editor-caret* sort-pair ;
[ editor-mark* ] [ editor-caret* ] bi sort-pair ;
: (draw-selection) ( x1 x2 -- )
over -
@ -227,9 +227,8 @@ M: editor ungraft*
swap [ gl-fill-rect ] with-translation ;
: draw-selected-line ( start end n -- )
[ start/end-on-line ] keep tuck
[ editor get offset>x ] 2dip
editor get offset>x
[ start/end-on-line ] keep
tuck [ editor get offset>x ] 2bi@
(draw-selection) ;
: draw-selection ( -- )
@ -237,9 +236,9 @@ M: editor ungraft*
editor get selection-start/end
over first [
2dup [
[ 2dup ] dip draw-selected-line
draw-selected-line
1 translate-lines
] each-line 2drop
] with with each-line
] with-editor-translation ;
M: editor draw-gadget*

View File

@ -25,7 +25,7 @@ USING: kernel
ui.render
multi-methods
multi-method-syntax
combinators.short-circuit.smart
combinators.short-circuit
processing.shapes
flatland ;
@ -86,7 +86,7 @@ TUPLE: <separation> < <behaviour> { radius initial: 25 } ;
[ BEHAVIOUR view-angle>> in-view? ]
[ eq? not ]
}
&& ;
2&& ;
:: neighborhood ( SELF OTHERS BEHAVIOUR -- boids )
OTHERS [| OTHER | SELF OTHER BEHAVIOUR within-neighborhood? ] filter ;
@ -154,7 +154,7 @@ M: <boids-gadget> ungraft* ( <boids-gadget> -- ) t >>paused drop ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
M:: <boids-gadget> draw-gadget* ( BOIDS-GADGET -- )
:: iterate-system ( BOIDS-GADGET -- )
[let | SKY [ BOIDS-GADGET gadget->sky ]
BOIDS [ BOIDS-GADGET boids>> ]
@ -183,11 +183,14 @@ M:: <boids-gadget> draw-gadget* ( BOIDS-GADGET -- )
map
BOIDS-GADGET (>>boids)
BOIDS-GADGET (>>boids) ] ;
origin get
[ BOIDS-GADGET boids>> [ draw-boid ] each ]
with-translation ] ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
M:: <boids-gadget> draw-gadget* ( BOIDS-GADGET -- )
origin get
[ BOIDS-GADGET boids>> [ draw-boid ] each ]
with-translation ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -197,7 +200,7 @@ M:: <boids-gadget> draw-gadget* ( BOIDS-GADGET -- )
[
GADGET paused>>
[ f ]
[ GADGET relayout-1 25 milliseconds sleep t ]
[ GADGET iterate-system GADGET relayout-1 1 milliseconds sleep t ]
if
]
loop