ui: change selected gadgets to a hash-set.
							parent
							
								
									aa26fec7c6
								
							
						
					
					
						commit
						8c88e0448a
					
				| 
						 | 
				
			
			@ -1,8 +1,9 @@
 | 
			
		|||
! Copyright (C) 2005, 2009 Slava Pestov.
 | 
			
		||||
! See http://factorcode.org/license.txt for BSD license.
 | 
			
		||||
USING: math.rectangles math.vectors namespaces kernel accessors
 | 
			
		||||
assocs combinators sequences opengl opengl.gl colors
 | 
			
		||||
assocs combinators sequences sets opengl opengl.gl colors
 | 
			
		||||
colors.constants ui.gadgets ui.pens ;
 | 
			
		||||
FROM: namespaces => set ;
 | 
			
		||||
IN: ui.render
 | 
			
		||||
 | 
			
		||||
SYMBOL: clip
 | 
			
		||||
| 
						 | 
				
			
			@ -94,7 +95,7 @@ M: gadget gadget-foreground dup interior>> pen-foreground ;
 | 
			
		|||
: draw-background ( gadget -- )
 | 
			
		||||
    origin get [
 | 
			
		||||
        [
 | 
			
		||||
            dup selected-gadgets get key?
 | 
			
		||||
            dup selected-gadgets get in?
 | 
			
		||||
            [ draw-selection-background ]
 | 
			
		||||
            [ draw-standard-background ] if
 | 
			
		||||
        ] [ draw-gadget* ] bi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,12 +89,12 @@ M: node gadget-text*
 | 
			
		|||
: gadget-at-path ( parent path -- gadget )
 | 
			
		||||
    [ swap nth-gadget ] each ;
 | 
			
		||||
 | 
			
		||||
GENERIC# leaves* 1 ( tree assoc -- )
 | 
			
		||||
GENERIC# leaves* 1 ( tree set -- )
 | 
			
		||||
 | 
			
		||||
M: node leaves* [ children>> ] dip leaves* ;
 | 
			
		||||
 | 
			
		||||
M: array leaves* '[ _ leaves* ] each ;
 | 
			
		||||
 | 
			
		||||
M: gadget leaves* conjoin ;
 | 
			
		||||
M: gadget leaves* adjoin ;
 | 
			
		||||
 | 
			
		||||
: leaves ( tree -- assoc ) H{ } clone [ leaves* ] keep ;
 | 
			
		||||
: leaves ( tree -- set ) HS{ } clone [ leaves* ] keep ;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue