]> gitweb.factorcode.org Git - factor.git/commitdiff
color-picker-game: games for all color types
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 3 May 2023 16:46:40 +0000 (09:46 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 3 May 2023 16:46:40 +0000 (09:46 -0700)
extra/color-picker-game/color-picker-game.factor
extra/color-picker/color-picker.factor

index 3702a5149977ab7031709040441ca08ff0893bf3..3c65fe851d278ef2774f5972d7eb269f352fa0f0 100644 (file)
@@ -33,18 +33,21 @@ TUPLE: color-picker-game < track ;
         model>> random-color swap set-model
     ] <border-button> ;
 
-: <color-picker-game> ( -- gadget )
+:: <color-picker-game> ( constructor -- gadget )
     vertical color-picker-game new-track
     white-interior { 5 5 } >>gap
     horizontal <track>
     random-color <model> <color-preview> 1/2 track-add
-    \ <rgba> <color-sliders> swap over
+    constructor <color-sliders> swap over
     [ <color-preview> 1/2 track-add 1 track-add ]
     [ f track-add ]
     [ <color-status> f track-add ] tri*
     <match-button> f track-add
     <reset-button> f track-add ;
 
+: <color-picker-games> ( -- gadget )
+    [ <color-picker-game> ] <color-tabs> ;
+
 MAIN-WINDOW: color-picker-game-window
     { { title "Color Picker Game" } }
-    <color-picker-game> { 5 5 } <border> >>gadgets ;
+    <color-picker-games> { 5 5 } <border> >>gadgets ;
index 0faeaeaa53bcf484a517593d228023ca3a1c52a1..aac97b647738de598d1413b2da23cfb4788687dd 100644 (file)
@@ -61,7 +61,7 @@ M: color-preview model-changed
     [ <color-preview> 1 track-add ]
     [ <color-status> f track-add ] bi ;
 
-: <color-pickers> ( -- gadget )
+:: <color-tabs> ( quot: ( constructor -- gadget ) -- gadget )
     <tabbed-gadget> {
         <rgba>
         <hsla>
@@ -75,9 +75,11 @@ M: color-preview model-changed
         <yiqa>
         <yuva>
     } [
-        [ <color-picker> ]
-        [ name>> "<" ?head drop ">" ?tail drop add-tab ] bi
-    ] each ;
+        quot [ name>> "<" ?head drop ">" ?tail drop add-tab ] bi
+    ] each ; inline
+
+: <color-pickers> ( -- gadget )
+    [ <color-picker> ] <color-tabs> ;
 
 MAIN-WINDOW: color-picker-window { { title "Color Picker" } }
     <color-pickers> { 5 5 } <border> white-interior >>gadgets ;