]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' of git://factorcode.org/git/factor into new_ui
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 9 Jan 2009 04:44:57 +0000 (22:44 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 9 Jan 2009 04:44:57 +0000 (22:44 -0600)
1  2 
basis/ui/gadgets/buttons/buttons.factor

index f237a427a28e5f96828705fc7b440fb0f13c050b,dabc12d3ae7cda020288f5a768dcf061cbfcdf81..e264dd9aa8a224b76014b755192a82f67918f330
@@@ -6,7 -6,7 +6,7 @@@ classes.tuple opengl opengl.gl math.vec
  ui.gadgets.borders ui.gadgets.labels ui.gadgets.theme
  ui.gadgets.tracks ui.gadgets.packs ui.gadgets.worlds ui.gestures
  ui.render math.geometry.rect locals alien.c-types
- specialized-arrays.float fry ;
+ specialized-arrays.float fry combinators.smart ;
  IN: ui.gadgets.buttons
  
  TUPLE: button < border pressed? selected? quot ;
@@@ -111,12 -111,14 +111,14 @@@ TUPLE: checkmark-paint < caching-pen co
  <PRIVATE
  
  : checkmark-points ( dim -- points )
-     {
-         [ { 0 0 } v* { 0.5 0.5 } v+ ]
-         [ { 1 1 } v* { 0.5 0.5 } v+ ]
-         [ { 1 0 } v* { -0.3 0.5 } v+ ]
-         [ { 0 1 } v* { -0.3 0.5 } v+ ]
-     } cleave 4array ;
+     [
+         {
+             [ { 0 0 } v* { 0.5 0.5 } v+ ]
+             [ { 1 1 } v* { 0.5 0.5 } v+ ]
+             [ { 1 0 } v* { -0.3 0.5 } v+ ]
+             [ { 0 1 } v* { -0.3 0.5 } v+ ]
+         } cleave
+     ] output>array ;
  
  : checkmark-vertices ( dim -- vertices )
      checkmark-points concat >float-array ;
@@@ -197,11 -199,12 +199,11 @@@ M: radio-paint draw-boundar
      GL_LINE_STRIP 0 circle-steps 1+ glDrawArrays ;
  
  :: radio-knob-theme ( gadget -- gadget )
 -    [let | radio-paint [ black <radio-paint> ] |
 -        gadget
 -        f f radio-paint radio-paint <button-paint> >>interior
 -        radio-paint >>boundary
 -        { 16 16 } >>dim
 -    ] ;
 +    black <radio-paint> :> radio-paint
 +    gadget
 +    f f radio-paint radio-paint <button-paint> >>interior
 +    radio-paint >>boundary
 +    { 16 16 } >>dim ;
  
  : <radio-knob> ( -- gadget )
      <gadget> radio-knob-theme ;
@@@ -220,8 -223,8 +222,8 @@@ M: radio-control model-change
      over value>> = >>selected?
      relayout-1 ;
  
 -: <radio-controls> ( assoc model parent quot: ( value model label -- ) -- parent )
 -    '[ _ swap _ call add-gadget ] assoc-each ; inline
 +: <radio-controls> ( assoc model parent quot: ( value model label -- gadget ) -- parent )
 +    '[ _ swap @ add-gadget ] assoc-each ; inline
  
  : radio-button-theme ( gadget -- gadget )
      { 5 5 } >>gap