0.0 1.0 0.1 <range> [| r |
0.0 1.0 0.1 <range> [| g |
0.0 1.0 0.1 <range> [| b |
- r g b 1.0 <rgba> dup >cmyka >rgba
- [ >rgba-components 4array ] bi@
- [ 0.00000001 ~ ] 2all?
+ r g b 1.0 <rgba> dup >cmyka color=
] all?
] all?
] all?
+USING: accessors help.markup help.syntax strings ;
IN: colors
-USING: accessors help.markup help.syntax ;
HELP: color
{ $class-description "The class of colors. Implementations include " { $link rgba } ", " { $vocab-link "colors.gray" } " and " { $vocab-link "colors.hsv" } "." } ;
{ $values { "color" color } { "rgba" rgba } }
{ $contract "Converts a color to an RGBA color." } ;
+HELP: named-color
+{ $values { "name" string } { "color" color } }
+{ $description "Outputs a named color from the color database." }
+{ $notes "In most cases, " { $link POSTPONE: COLOR: } " should be used instead." }
+{ $errors "Throws an error if the color is not listed in " { $snippet "rgb.txt" } ", " { $snippet "factor-colors.txt" } " or " { $snippet "solarized-colors.txt" } "." } ;
+
+HELP: named-colors
+{ $values { "keys" "a sequence of strings" } }
+{ $description "Outputs a sequence of all colors in the " { $snippet "rgb.txt" } " database." } ;
+
+HELP: parse-color
+{ $values { "str" string } { "color" color } }
+{ $description "Parses a string as a named value or as a hexadecimal value." }
+{ $examples
+ { $example
+ "USING: colors prettyprint ;"
+ "COLOR: sky-blue ."
+ "COLOR: sky-blue"
+ }
+ { $example
+ "USING: colors prettyprint ;"
+ "COLOR: #336699 ."
+ "COLOR: #336699"
+ }
+} ;
+
+HELP: COLOR:
+{ $syntax "COLOR: string" }
+{ $description "Parses as a " { $link color } " object using " { $link parse-color } "." }
+{ $errors "Throws an error if the color is not able to be parsed." }
+{ $examples
+ { $code
+ "USING: colors io.styles ;"
+ "\"Hello!\" { { foreground COLOR: cyan } } format nl"
+ }
+} ;
+
ARTICLE: "colors.protocol" "Color protocol"
"Abstract superclass for colors:"
{ $subsections color }
$nl
"Overriding the accessors is purely an optimization, since the default implementations call " { $link >rgba } " and then extract the appropriate component of the result." ;
+ARTICLE: "colors.constants" "Standard color database"
+"The " { $vocab-link "colors" } " vocabulary bundles the X11 " { $snippet "rgb.txt" } " database and Factor's " { $snippet "factor-colors.txt" } " theme database to provide words for looking up color values by name."
+{ $subsections
+ named-color
+ named-colors
+ parse-color
+ POSTPONE: COLOR:
+} ;
+
ARTICLE: "colors" "Colors"
"The " { $vocab-link "colors" } " vocabulary defines a protocol for colors, with a concrete implementation for RGBA colors. This vocabulary is used by " { $vocab-link "io.styles" } ", " { $vocab-link "ui" } " and other vocabularies, but it is independent of them."
$nl
--- /dev/null
+! Copyright (C) 2009 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors colors colors.private literals tools.test ;
+
+{ t } [ COLOR: light-green value>> rgba? ] unit-test
+
+{ T{ rgba f 0.0 0.0 0.0 1.0 } } [ COLOR: #000000 value>> ] unit-test
+{ T{ rgba f 1.0 1.0 1.0 1.0 } } [ COLOR: #FFFFFF value>> ] unit-test
+${ "abcdef" hex>rgba } [ COLOR: #abcdef value>> ] unit-test
+${ "ABCDEF" hex>rgba } [ COLOR: #abcdef value>> ] unit-test
+
+{ T{ rgba f 0.0 0.0 0.0 0.0 } } [ COLOR: #00000000 value>> ] unit-test
+{ T{ rgba f 1.0 0.0 0.0 0.0 } } [ COLOR: #FF000000 value>> ] unit-test
+{ T{ rgba f 1.0 1.0 0.0 0.0 } } [ COLOR: #FFFF0000 value>> ] unit-test
+{ T{ rgba f 1.0 1.0 1.0 0.0 } } [ COLOR: #FFFFFF00 value>> ] unit-test
+{ T{ rgba f 1.0 1.0 1.0 1.0 } } [ COLOR: #FFFFFFFF value>> ] unit-test
+
+${ "cafebabe" hex>rgba } [ COLOR: #cafebabe value>> ] unit-test
+${ "112233" hex>rgba } [ COLOR: #112233 value>> ] unit-test
+${ "11223344" hex>rgba } [ COLOR: #11223344 value>> ] unit-test
! Copyright (C) 2003, 2009 Slava Pestov.
! Copyright (C) 2008 Eduardo Cavazos.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors combinators kernel math ;
+USING: accessors ascii arrays assocs combinators grouping
+io.encodings.utf8 io.files kernel lexer math math.functions
+math.parser sequences splitting vocabs.loader ;
IN: colors
+! FIXME: replace with MIXIN: color INSTANCE: rgba color
TUPLE: color ;
TUPLE: rgba < color
: inverse-color ( color -- color' )
>rgba-components [ [ 1.0 swap - ] tri@ ] dip <rgba> ;
+
+: color= ( color1 color2 -- ? )
+ [ >rgba-components 4array ] bi@ [ 0.00000001 ~ ] 2all? ;
+
+<PRIVATE
+
+: parse-color ( line -- name color )
+ first4
+ [ [ string>number 255 /f ] tri@ 1.0 <rgba> ] dip
+ [ ascii:blank? ] trim-head H{ { CHAR: \s CHAR: - } } substitute swap ;
+
+: parse-colors ( lines -- assoc )
+ [ "!" head? ] reject
+ [ 11 cut [ " \t" split harvest ] dip suffix ] map
+ [ parse-color ] H{ } map>assoc ;
+
+MEMO: colors ( -- assoc )
+ "resource:basis/colors/rgb.txt"
+ "resource:basis/colors/factor-colors.txt"
+ "resource:basis/colors/solarized-colors.txt"
+ [ utf8 file-lines parse-colors ] tri@ assoc-union assoc-union ;
+
+ERROR: invalid-hex-color hex ;
+
+: hex>rgba ( hex -- rgba )
+ dup length {
+ { 6 [ 2 group [ hex> 255 /f ] map first3 1.0 ] }
+ { 8 [ 2 group [ hex> 255 /f ] map first4 ] }
+ { 3 [ [ digit> 15 /f ] { } map-as first3 1.0 ] }
+ { 4 [ [ digit> 15 /f ] { } map-as first4 ] }
+ [ drop invalid-hex-color ]
+ } case <rgba> ;
+
+PRIVATE>
+
+: named-colors ( -- keys ) colors keys ;
+
+ERROR: no-such-color name ;
+
+: named-color ( name -- color )
+ dup colors at [ ] [ no-such-color ] ?if ;
+
+: parse-color ( str -- color )
+ "#" ?head [ hex>rgba ] [ named-color ] if ;
+
+TUPLE: parsed-color < color string value ;
+
+M: parsed-color >rgba value>> >rgba ;
+
+SYNTAX: COLOR: scan-token dup parse-color parsed-color boa suffix! ;
+
+{ "colors" "prettyprint" } "colors.prettyprint" require-when
+++ /dev/null
-Slava Pestov
+++ /dev/null
-IN: colors.constants
-USING: help.markup help.syntax strings colors ;
-
-HELP: lookup-color
-{ $values { "name" string } { "color" color } }
-{ $description "Outputs a named color from the color database." }
-{ $notes "In most cases, " { $link POSTPONE: COLOR: } " should be used instead." }
-{ $errors "Throws an error if the color is not listed in " { $snippet "rgb.txt" } ", " { $snippet "factor-colors.txt" } " or " { $snippet "solarized-colors.txt" } "." } ;
-
-HELP: named-colors
-{ $values { "keys" "a sequence of strings" } }
-{ $description "Outputs a sequence of all colors in the " { $snippet "rgb.txt" } " database." } ;
-
-HELP: COLOR:
-{ $syntax "COLOR: name" }
-{ $description "Parses as a " { $link color } " object with the given name." }
-{ $errors "Throws an error if the color is not listed in " { $snippet "rgb.txt" } "." }
-{ $examples
- { $code
- "USING: colors.constants io.styles ;"
- "\"Hello!\" { { foreground COLOR: cyan } } format nl"
- }
-} ;
-
-ARTICLE: "colors.constants" "Standard color database"
-"The " { $vocab-link "colors.constants" } " vocabulary bundles the X11 " { $snippet "rgb.txt" } " database and Factor's " { $snippet "factor-colors.txt" } " theme database to provide words for looking up color values by name."
-{ $subsections
- lookup-color
- named-colors
- POSTPONE: COLOR:
-} ;
-
-ABOUT: "colors.constants"
+++ /dev/null
-! Copyright (C) 2009 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-USING: colors colors.constants tools.test ;
-
-{ t } [ COLOR: light-green value>> rgba? ] unit-test
+++ /dev/null
-! Copyright (C) 2009 Slava Pestov.
-! See http://factorcode.org/license.txt for BSD license.
-
-USING: accessors ascii assocs colors io.encodings.utf8 io.files
-kernel lexer math math.parser sequences splitting vocabs.loader
-;
-
-IN: colors.constants
-
-<PRIVATE
-
-: parse-color ( line -- name color )
- first4
- [ [ string>number 255 /f ] tri@ 1.0 <rgba> ] dip
- [ ascii:blank? ] trim-head H{ { CHAR: \s CHAR: - } } substitute swap ;
-
-: parse-colors ( lines -- assoc )
- [ "!" head? ] reject
- [ 11 cut [ " \t" split harvest ] dip suffix ] map
- [ parse-color ] H{ } map>assoc ;
-
-MEMO: colors ( -- assoc )
- "resource:basis/colors/constants/rgb.txt"
- "resource:basis/colors/constants/factor-colors.txt"
- "resource:basis/colors/constants/solarized-colors.txt"
- [ utf8 file-lines parse-colors ] tri@ assoc-union assoc-union ;
-
-PRIVATE>
-
-: named-colors ( -- keys ) colors keys ;
-
-ERROR: no-such-color name ;
-
-: lookup-color ( name -- color )
- dup colors at [ ] [ no-such-color ] ?if ;
-
-TUPLE: named-color < color name value ;
-
-M: named-color >rgba value>> >rgba ;
-
-SYNTAX: COLOR: scan-token dup lookup-color named-color boa suffix! ;
-
-{ "colors.constants" "prettyprint" } "colors.constants.prettyprint" require-when
+++ /dev/null
-! Factor UI theme colors
-243 242 234 FactorLightTan
-227 226 219 FactorTan
-172 167 147 FactorDarkTan
- 81 91 105 FactorLightSlateBlue
- 55 62 72 FactorDarkSlateBlue
- 0 51 0 FactorDarkGreen
+++ /dev/null
-USING: accessors colors.constants prettyprint.custom
-prettyprint.backend prettyprint.sections ;
-
-IN: colors.constants.prettyprint
-
-M: named-color pprint* \ COLOR: [ name>> text ] pprint-prefix ;
-
+++ /dev/null
-! $Xorg: rgb.txt,v 1.3 2000/08/17 19:54:00 cpqbld Exp $
-255 250 250 snow
-248 248 255 ghost white
-248 248 255 GhostWhite
-245 245 245 white smoke
-245 245 245 WhiteSmoke
-220 220 220 gainsboro
-255 250 240 floral white
-255 250 240 FloralWhite
-253 245 230 old lace
-253 245 230 OldLace
-250 240 230 linen
-250 235 215 antique white
-250 235 215 AntiqueWhite
-255 239 213 papaya whip
-255 239 213 PapayaWhip
-255 235 205 blanched almond
-255 235 205 BlanchedAlmond
-255 228 196 bisque
-255 218 185 peach puff
-255 218 185 PeachPuff
-255 222 173 navajo white
-255 222 173 NavajoWhite
-255 228 181 moccasin
-255 248 220 cornsilk
-255 255 240 ivory
-255 250 205 lemon chiffon
-255 250 205 LemonChiffon
-255 245 238 seashell
-240 255 240 honeydew
-245 255 250 mint cream
-245 255 250 MintCream
-240 255 255 azure
-240 248 255 alice blue
-240 248 255 AliceBlue
-230 230 250 lavender
-255 240 245 lavender blush
-255 240 245 LavenderBlush
-255 228 225 misty rose
-255 228 225 MistyRose
-255 255 255 white
- 0 0 0 black
- 47 79 79 dark slate gray
- 47 79 79 DarkSlateGray
- 47 79 79 dark slate grey
- 47 79 79 DarkSlateGrey
-105 105 105 dim gray
-105 105 105 DimGray
-105 105 105 dim grey
-105 105 105 DimGrey
-112 128 144 slate gray
-112 128 144 SlateGray
-112 128 144 slate grey
-112 128 144 SlateGrey
-119 136 153 light slate gray
-119 136 153 LightSlateGray
-119 136 153 light slate grey
-119 136 153 LightSlateGrey
-190 190 190 gray
-190 190 190 grey
-211 211 211 light grey
-211 211 211 LightGrey
-211 211 211 light gray
-211 211 211 LightGray
- 25 25 112 midnight blue
- 25 25 112 MidnightBlue
- 0 0 128 navy
- 0 0 128 navy blue
- 0 0 128 NavyBlue
-100 149 237 cornflower blue
-100 149 237 CornflowerBlue
- 72 61 139 dark slate blue
- 72 61 139 DarkSlateBlue
-106 90 205 slate blue
-106 90 205 SlateBlue
-123 104 238 medium slate blue
-123 104 238 MediumSlateBlue
-132 112 255 light slate blue
-132 112 255 LightSlateBlue
- 0 0 205 medium blue
- 0 0 205 MediumBlue
- 65 105 225 royal blue
- 65 105 225 RoyalBlue
- 0 0 255 blue
- 30 144 255 dodger blue
- 30 144 255 DodgerBlue
- 0 191 255 deep sky blue
- 0 191 255 DeepSkyBlue
-135 206 235 sky blue
-135 206 235 SkyBlue
-135 206 250 light sky blue
-135 206 250 LightSkyBlue
- 70 130 180 steel blue
- 70 130 180 SteelBlue
-176 196 222 light steel blue
-176 196 222 LightSteelBlue
-173 216 230 light blue
-173 216 230 LightBlue
-176 224 230 powder blue
-176 224 230 PowderBlue
-175 238 238 pale turquoise
-175 238 238 PaleTurquoise
- 0 206 209 dark turquoise
- 0 206 209 DarkTurquoise
- 72 209 204 medium turquoise
- 72 209 204 MediumTurquoise
- 64 224 208 turquoise
- 0 255 255 cyan
-224 255 255 light cyan
-224 255 255 LightCyan
- 95 158 160 cadet blue
- 95 158 160 CadetBlue
-102 205 170 medium aquamarine
-102 205 170 MediumAquamarine
-127 255 212 aquamarine
- 0 100 0 dark green
- 0 100 0 DarkGreen
- 85 107 47 dark olive green
- 85 107 47 DarkOliveGreen
-143 188 143 dark sea green
-143 188 143 DarkSeaGreen
- 46 139 87 sea green
- 46 139 87 SeaGreen
- 60 179 113 medium sea green
- 60 179 113 MediumSeaGreen
- 32 178 170 light sea green
- 32 178 170 LightSeaGreen
-152 251 152 pale green
-152 251 152 PaleGreen
- 0 255 127 spring green
- 0 255 127 SpringGreen
-124 252 0 lawn green
-124 252 0 LawnGreen
- 0 255 0 green
-127 255 0 chartreuse
- 0 250 154 medium spring green
- 0 250 154 MediumSpringGreen
-173 255 47 green yellow
-173 255 47 GreenYellow
- 50 205 50 lime green
- 50 205 50 LimeGreen
-154 205 50 yellow green
-154 205 50 YellowGreen
- 34 139 34 forest green
- 34 139 34 ForestGreen
-107 142 35 olive drab
-107 142 35 OliveDrab
-189 183 107 dark khaki
-189 183 107 DarkKhaki
-240 230 140 khaki
-238 232 170 pale goldenrod
-238 232 170 PaleGoldenrod
-250 250 210 light goldenrod yellow
-250 250 210 LightGoldenrodYellow
-255 255 224 light yellow
-255 255 224 LightYellow
-255 255 0 yellow
-255 215 0 gold
-238 221 130 light goldenrod
-238 221 130 LightGoldenrod
-218 165 32 goldenrod
-184 134 11 dark goldenrod
-184 134 11 DarkGoldenrod
-188 143 143 rosy brown
-188 143 143 RosyBrown
-205 92 92 indian red
-205 92 92 IndianRed
-139 69 19 saddle brown
-139 69 19 SaddleBrown
-160 82 45 sienna
-205 133 63 peru
-222 184 135 burlywood
-245 245 220 beige
-245 222 179 wheat
-244 164 96 sandy brown
-244 164 96 SandyBrown
-210 180 140 tan
-210 105 30 chocolate
-178 34 34 firebrick
-165 42 42 brown
-233 150 122 dark salmon
-233 150 122 DarkSalmon
-250 128 114 salmon
-255 160 122 light salmon
-255 160 122 LightSalmon
-255 165 0 orange
-255 140 0 dark orange
-255 140 0 DarkOrange
-255 127 80 coral
-240 128 128 light coral
-240 128 128 LightCoral
-255 99 71 tomato
-255 69 0 orange red
-255 69 0 OrangeRed
-255 0 0 red
-255 105 180 hot pink
-255 105 180 HotPink
-255 20 147 deep pink
-255 20 147 DeepPink
-255 192 203 pink
-255 182 193 light pink
-255 182 193 LightPink
-219 112 147 pale violet red
-219 112 147 PaleVioletRed
-176 48 96 maroon
-199 21 133 medium violet red
-199 21 133 MediumVioletRed
-208 32 144 violet red
-208 32 144 VioletRed
-255 0 255 magenta
-238 130 238 violet
-221 160 221 plum
-218 112 214 orchid
-186 85 211 medium orchid
-186 85 211 MediumOrchid
-153 50 204 dark orchid
-153 50 204 DarkOrchid
-148 0 211 dark violet
-148 0 211 DarkViolet
-138 43 226 blue violet
-138 43 226 BlueViolet
-160 32 240 purple
-147 112 219 medium purple
-147 112 219 MediumPurple
-216 191 216 thistle
-255 250 250 snow1
-238 233 233 snow2
-205 201 201 snow3
-139 137 137 snow4
-255 245 238 seashell1
-238 229 222 seashell2
-205 197 191 seashell3
-139 134 130 seashell4
-255 239 219 AntiqueWhite1
-238 223 204 AntiqueWhite2
-205 192 176 AntiqueWhite3
-139 131 120 AntiqueWhite4
-255 228 196 bisque1
-238 213 183 bisque2
-205 183 158 bisque3
-139 125 107 bisque4
-255 218 185 PeachPuff1
-238 203 173 PeachPuff2
-205 175 149 PeachPuff3
-139 119 101 PeachPuff4
-255 222 173 NavajoWhite1
-238 207 161 NavajoWhite2
-205 179 139 NavajoWhite3
-139 121 94 NavajoWhite4
-255 250 205 LemonChiffon1
-238 233 191 LemonChiffon2
-205 201 165 LemonChiffon3
-139 137 112 LemonChiffon4
-255 248 220 cornsilk1
-238 232 205 cornsilk2
-205 200 177 cornsilk3
-139 136 120 cornsilk4
-255 255 240 ivory1
-238 238 224 ivory2
-205 205 193 ivory3
-139 139 131 ivory4
-240 255 240 honeydew1
-224 238 224 honeydew2
-193 205 193 honeydew3
-131 139 131 honeydew4
-255 240 245 LavenderBlush1
-238 224 229 LavenderBlush2
-205 193 197 LavenderBlush3
-139 131 134 LavenderBlush4
-255 228 225 MistyRose1
-238 213 210 MistyRose2
-205 183 181 MistyRose3
-139 125 123 MistyRose4
-240 255 255 azure1
-224 238 238 azure2
-193 205 205 azure3
-131 139 139 azure4
-131 111 255 SlateBlue1
-122 103 238 SlateBlue2
-105 89 205 SlateBlue3
- 71 60 139 SlateBlue4
- 72 118 255 RoyalBlue1
- 67 110 238 RoyalBlue2
- 58 95 205 RoyalBlue3
- 39 64 139 RoyalBlue4
- 0 0 255 blue1
- 0 0 238 blue2
- 0 0 205 blue3
- 0 0 139 blue4
- 30 144 255 DodgerBlue1
- 28 134 238 DodgerBlue2
- 24 116 205 DodgerBlue3
- 16 78 139 DodgerBlue4
- 99 184 255 SteelBlue1
- 92 172 238 SteelBlue2
- 79 148 205 SteelBlue3
- 54 100 139 SteelBlue4
- 0 191 255 DeepSkyBlue1
- 0 178 238 DeepSkyBlue2
- 0 154 205 DeepSkyBlue3
- 0 104 139 DeepSkyBlue4
-135 206 255 SkyBlue1
-126 192 238 SkyBlue2
-108 166 205 SkyBlue3
- 74 112 139 SkyBlue4
-176 226 255 LightSkyBlue1
-164 211 238 LightSkyBlue2
-141 182 205 LightSkyBlue3
- 96 123 139 LightSkyBlue4
-198 226 255 SlateGray1
-185 211 238 SlateGray2
-159 182 205 SlateGray3
-108 123 139 SlateGray4
-202 225 255 LightSteelBlue1
-188 210 238 LightSteelBlue2
-162 181 205 LightSteelBlue3
-110 123 139 LightSteelBlue4
-191 239 255 LightBlue1
-178 223 238 LightBlue2
-154 192 205 LightBlue3
-104 131 139 LightBlue4
-224 255 255 LightCyan1
-209 238 238 LightCyan2
-180 205 205 LightCyan3
-122 139 139 LightCyan4
-187 255 255 PaleTurquoise1
-174 238 238 PaleTurquoise2
-150 205 205 PaleTurquoise3
-102 139 139 PaleTurquoise4
-152 245 255 CadetBlue1
-142 229 238 CadetBlue2
-122 197 205 CadetBlue3
- 83 134 139 CadetBlue4
- 0 245 255 turquoise1
- 0 229 238 turquoise2
- 0 197 205 turquoise3
- 0 134 139 turquoise4
- 0 255 255 cyan1
- 0 238 238 cyan2
- 0 205 205 cyan3
- 0 139 139 cyan4
-151 255 255 DarkSlateGray1
-141 238 238 DarkSlateGray2
-121 205 205 DarkSlateGray3
- 82 139 139 DarkSlateGray4
-127 255 212 aquamarine1
-118 238 198 aquamarine2
-102 205 170 aquamarine3
- 69 139 116 aquamarine4
-193 255 193 DarkSeaGreen1
-180 238 180 DarkSeaGreen2
-155 205 155 DarkSeaGreen3
-105 139 105 DarkSeaGreen4
- 84 255 159 SeaGreen1
- 78 238 148 SeaGreen2
- 67 205 128 SeaGreen3
- 46 139 87 SeaGreen4
-154 255 154 PaleGreen1
-144 238 144 PaleGreen2
-124 205 124 PaleGreen3
- 84 139 84 PaleGreen4
- 0 255 127 SpringGreen1
- 0 238 118 SpringGreen2
- 0 205 102 SpringGreen3
- 0 139 69 SpringGreen4
- 0 255 0 green1
- 0 238 0 green2
- 0 205 0 green3
- 0 139 0 green4
-127 255 0 chartreuse1
-118 238 0 chartreuse2
-102 205 0 chartreuse3
- 69 139 0 chartreuse4
-192 255 62 OliveDrab1
-179 238 58 OliveDrab2
-154 205 50 OliveDrab3
-105 139 34 OliveDrab4
-202 255 112 DarkOliveGreen1
-188 238 104 DarkOliveGreen2
-162 205 90 DarkOliveGreen3
-110 139 61 DarkOliveGreen4
-255 246 143 khaki1
-238 230 133 khaki2
-205 198 115 khaki3
-139 134 78 khaki4
-255 236 139 LightGoldenrod1
-238 220 130 LightGoldenrod2
-205 190 112 LightGoldenrod3
-139 129 76 LightGoldenrod4
-255 255 224 LightYellow1
-238 238 209 LightYellow2
-205 205 180 LightYellow3
-139 139 122 LightYellow4
-255 255 0 yellow1
-238 238 0 yellow2
-205 205 0 yellow3
-139 139 0 yellow4
-255 215 0 gold1
-238 201 0 gold2
-205 173 0 gold3
-139 117 0 gold4
-255 193 37 goldenrod1
-238 180 34 goldenrod2
-205 155 29 goldenrod3
-139 105 20 goldenrod4
-255 185 15 DarkGoldenrod1
-238 173 14 DarkGoldenrod2
-205 149 12 DarkGoldenrod3
-139 101 8 DarkGoldenrod4
-255 193 193 RosyBrown1
-238 180 180 RosyBrown2
-205 155 155 RosyBrown3
-139 105 105 RosyBrown4
-255 106 106 IndianRed1
-238 99 99 IndianRed2
-205 85 85 IndianRed3
-139 58 58 IndianRed4
-255 130 71 sienna1
-238 121 66 sienna2
-205 104 57 sienna3
-139 71 38 sienna4
-255 211 155 burlywood1
-238 197 145 burlywood2
-205 170 125 burlywood3
-139 115 85 burlywood4
-255 231 186 wheat1
-238 216 174 wheat2
-205 186 150 wheat3
-139 126 102 wheat4
-255 165 79 tan1
-238 154 73 tan2
-205 133 63 tan3
-139 90 43 tan4
-255 127 36 chocolate1
-238 118 33 chocolate2
-205 102 29 chocolate3
-139 69 19 chocolate4
-255 48 48 firebrick1
-238 44 44 firebrick2
-205 38 38 firebrick3
-139 26 26 firebrick4
-255 64 64 brown1
-238 59 59 brown2
-205 51 51 brown3
-139 35 35 brown4
-255 140 105 salmon1
-238 130 98 salmon2
-205 112 84 salmon3
-139 76 57 salmon4
-255 160 122 LightSalmon1
-238 149 114 LightSalmon2
-205 129 98 LightSalmon3
-139 87 66 LightSalmon4
-255 165 0 orange1
-238 154 0 orange2
-205 133 0 orange3
-139 90 0 orange4
-255 127 0 DarkOrange1
-238 118 0 DarkOrange2
-205 102 0 DarkOrange3
-139 69 0 DarkOrange4
-255 114 86 coral1
-238 106 80 coral2
-205 91 69 coral3
-139 62 47 coral4
-255 99 71 tomato1
-238 92 66 tomato2
-205 79 57 tomato3
-139 54 38 tomato4
-255 69 0 OrangeRed1
-238 64 0 OrangeRed2
-205 55 0 OrangeRed3
-139 37 0 OrangeRed4
-255 0 0 red1
-238 0 0 red2
-205 0 0 red3
-139 0 0 red4
-255 20 147 DeepPink1
-238 18 137 DeepPink2
-205 16 118 DeepPink3
-139 10 80 DeepPink4
-255 110 180 HotPink1
-238 106 167 HotPink2
-205 96 144 HotPink3
-139 58 98 HotPink4
-255 181 197 pink1
-238 169 184 pink2
-205 145 158 pink3
-139 99 108 pink4
-255 174 185 LightPink1
-238 162 173 LightPink2
-205 140 149 LightPink3
-139 95 101 LightPink4
-255 130 171 PaleVioletRed1
-238 121 159 PaleVioletRed2
-205 104 137 PaleVioletRed3
-139 71 93 PaleVioletRed4
-255 52 179 maroon1
-238 48 167 maroon2
-205 41 144 maroon3
-139 28 98 maroon4
-255 62 150 VioletRed1
-238 58 140 VioletRed2
-205 50 120 VioletRed3
-139 34 82 VioletRed4
-255 0 255 magenta1
-238 0 238 magenta2
-205 0 205 magenta3
-139 0 139 magenta4
-255 131 250 orchid1
-238 122 233 orchid2
-205 105 201 orchid3
-139 71 137 orchid4
-255 187 255 plum1
-238 174 238 plum2
-205 150 205 plum3
-139 102 139 plum4
-224 102 255 MediumOrchid1
-209 95 238 MediumOrchid2
-180 82 205 MediumOrchid3
-122 55 139 MediumOrchid4
-191 62 255 DarkOrchid1
-178 58 238 DarkOrchid2
-154 50 205 DarkOrchid3
-104 34 139 DarkOrchid4
-155 48 255 purple1
-145 44 238 purple2
-125 38 205 purple3
- 85 26 139 purple4
-171 130 255 MediumPurple1
-159 121 238 MediumPurple2
-137 104 205 MediumPurple3
- 93 71 139 MediumPurple4
-255 225 255 thistle1
-238 210 238 thistle2
-205 181 205 thistle3
-139 123 139 thistle4
- 0 0 0 gray0
- 0 0 0 grey0
- 3 3 3 gray1
- 3 3 3 grey1
- 5 5 5 gray2
- 5 5 5 grey2
- 8 8 8 gray3
- 8 8 8 grey3
- 10 10 10 gray4
- 10 10 10 grey4
- 13 13 13 gray5
- 13 13 13 grey5
- 15 15 15 gray6
- 15 15 15 grey6
- 18 18 18 gray7
- 18 18 18 grey7
- 20 20 20 gray8
- 20 20 20 grey8
- 23 23 23 gray9
- 23 23 23 grey9
- 26 26 26 gray10
- 26 26 26 grey10
- 28 28 28 gray11
- 28 28 28 grey11
- 31 31 31 gray12
- 31 31 31 grey12
- 33 33 33 gray13
- 33 33 33 grey13
- 36 36 36 gray14
- 36 36 36 grey14
- 38 38 38 gray15
- 38 38 38 grey15
- 41 41 41 gray16
- 41 41 41 grey16
- 43 43 43 gray17
- 43 43 43 grey17
- 46 46 46 gray18
- 46 46 46 grey18
- 48 48 48 gray19
- 48 48 48 grey19
- 51 51 51 gray20
- 51 51 51 grey20
- 54 54 54 gray21
- 54 54 54 grey21
- 56 56 56 gray22
- 56 56 56 grey22
- 59 59 59 gray23
- 59 59 59 grey23
- 61 61 61 gray24
- 61 61 61 grey24
- 64 64 64 gray25
- 64 64 64 grey25
- 66 66 66 gray26
- 66 66 66 grey26
- 69 69 69 gray27
- 69 69 69 grey27
- 71 71 71 gray28
- 71 71 71 grey28
- 74 74 74 gray29
- 74 74 74 grey29
- 77 77 77 gray30
- 77 77 77 grey30
- 79 79 79 gray31
- 79 79 79 grey31
- 82 82 82 gray32
- 82 82 82 grey32
- 84 84 84 gray33
- 84 84 84 grey33
- 87 87 87 gray34
- 87 87 87 grey34
- 89 89 89 gray35
- 89 89 89 grey35
- 92 92 92 gray36
- 92 92 92 grey36
- 94 94 94 gray37
- 94 94 94 grey37
- 97 97 97 gray38
- 97 97 97 grey38
- 99 99 99 gray39
- 99 99 99 grey39
-102 102 102 gray40
-102 102 102 grey40
-105 105 105 gray41
-105 105 105 grey41
-107 107 107 gray42
-107 107 107 grey42
-110 110 110 gray43
-110 110 110 grey43
-112 112 112 gray44
-112 112 112 grey44
-115 115 115 gray45
-115 115 115 grey45
-117 117 117 gray46
-117 117 117 grey46
-120 120 120 gray47
-120 120 120 grey47
-122 122 122 gray48
-122 122 122 grey48
-125 125 125 gray49
-125 125 125 grey49
-127 127 127 gray50
-127 127 127 grey50
-130 130 130 gray51
-130 130 130 grey51
-133 133 133 gray52
-133 133 133 grey52
-135 135 135 gray53
-135 135 135 grey53
-138 138 138 gray54
-138 138 138 grey54
-140 140 140 gray55
-140 140 140 grey55
-143 143 143 gray56
-143 143 143 grey56
-145 145 145 gray57
-145 145 145 grey57
-148 148 148 gray58
-148 148 148 grey58
-150 150 150 gray59
-150 150 150 grey59
-153 153 153 gray60
-153 153 153 grey60
-156 156 156 gray61
-156 156 156 grey61
-158 158 158 gray62
-158 158 158 grey62
-161 161 161 gray63
-161 161 161 grey63
-163 163 163 gray64
-163 163 163 grey64
-166 166 166 gray65
-166 166 166 grey65
-168 168 168 gray66
-168 168 168 grey66
-171 171 171 gray67
-171 171 171 grey67
-173 173 173 gray68
-173 173 173 grey68
-176 176 176 gray69
-176 176 176 grey69
-179 179 179 gray70
-179 179 179 grey70
-181 181 181 gray71
-181 181 181 grey71
-184 184 184 gray72
-184 184 184 grey72
-186 186 186 gray73
-186 186 186 grey73
-189 189 189 gray74
-189 189 189 grey74
-191 191 191 gray75
-191 191 191 grey75
-194 194 194 gray76
-194 194 194 grey76
-196 196 196 gray77
-196 196 196 grey77
-199 199 199 gray78
-199 199 199 grey78
-201 201 201 gray79
-201 201 201 grey79
-204 204 204 gray80
-204 204 204 grey80
-207 207 207 gray81
-207 207 207 grey81
-209 209 209 gray82
-209 209 209 grey82
-212 212 212 gray83
-212 212 212 grey83
-214 214 214 gray84
-214 214 214 grey84
-217 217 217 gray85
-217 217 217 grey85
-219 219 219 gray86
-219 219 219 grey86
-222 222 222 gray87
-222 222 222 grey87
-224 224 224 gray88
-224 224 224 grey88
-227 227 227 gray89
-227 227 227 grey89
-229 229 229 gray90
-229 229 229 grey90
-232 232 232 gray91
-232 232 232 grey91
-235 235 235 gray92
-235 235 235 grey92
-237 237 237 gray93
-237 237 237 grey93
-240 240 240 gray94
-240 240 240 grey94
-242 242 242 gray95
-242 242 242 grey95
-245 245 245 gray96
-245 245 245 grey96
-247 247 247 gray97
-247 247 247 grey97
-250 250 250 gray98
-250 250 250 grey98
-252 252 252 gray99
-252 252 252 grey99
-255 255 255 gray100
-255 255 255 grey100
-169 169 169 dark grey
-169 169 169 DarkGrey
-169 169 169 dark gray
-169 169 169 DarkGray
-0 0 139 dark blue
-0 0 139 DarkBlue
-0 139 139 dark cyan
-0 139 139 DarkCyan
-139 0 139 dark magenta
-139 0 139 DarkMagenta
-139 0 0 dark red
-139 0 0 DarkRed
-144 238 144 light green
-144 238 144 LightGreen
+++ /dev/null
-! Solarized theme colors (http://ethanschoonover.com/solarized)
- 0 43 54 solarized base03
- 7 54 66 solarized base02
- 88 110 117 solarized base01
-101 123 131 solarized base00
-131 148 150 solarized base0
-147 161 161 solarized base1
-238 232 213 solarized base2
-253 246 227 solarized base3
-181 137 0 solarized yellow
-203 75 22 solarized orange
-220 50 47 solarized red
-211 54 130 solarized magenta
-108 113 196 solarized violet
- 38 139 210 solarized blue
- 42 161 152 solarized cyan
-133 153 0 solarized green
+++ /dev/null
-A utility to look up colors in the X11 rgb.txt color database
--- /dev/null
+! Factor UI theme colors
+243 242 234 FactorLightTan
+227 226 219 FactorTan
+172 167 147 FactorDarkTan
+ 81 91 105 FactorLightSlateBlue
+ 55 62 72 FactorDarkSlateBlue
+ 0 51 0 FactorDarkGreen
+++ /dev/null
-John Benediktsson
+++ /dev/null
-! Copyright (C) 2010 John Benediktsson
-! See http://factorcode.org/license.txt for BSD license
-
-USING: colors help.markup help.syntax strings ;
-
-IN: colors.hex
-
-HELP: hex>rgba
-{ $values { "hex" string } { "rgba" color } }
-{ $description "Converts a hexadecimal string value into a " { $link color } "." }
-;
-
-HELP: rgba>hex
-{ $values { "rgba" color } { "hex" string } }
-{ $description "Converts a " { $link color } " into a hexadecimal string value." }
-;
-
-HELP: HEXCOLOR:
-{ $syntax "HEXCOLOR: value" }
-{ $description "Parses as a " { $link color } " object with the given hexadecimal value." }
-{ $examples
- { $code
- "USING: colors.hex io.styles ;"
- "\"Hello!\" { { foreground HEXCOLOR: 336699 } } format nl"
- }
-} ;
-
-ARTICLE: "colors.hex" "HEX colors"
-"The " { $vocab-link "colors.hex" } " vocabulary implements colors specified "
-"by their hexadecimal value."
-{ $subsections
- hex>rgba
- rgba>hex
- POSTPONE: HEXCOLOR:
-}
-{ $see-also "colors" } ;
-
-ABOUT: "colors.hex"
+++ /dev/null
-! Copyright (C) 2010 John Benediktsson
-! See http://factorcode.org/license.txt for BSD license
-USING: colors colors.hex tools.test ;
-
-{ HEXCOLOR: 000000 } [ 0.0 0.0 0.0 1.0 <rgba> ] unit-test
-{ HEXCOLOR: FFFFFF } [ 1.0 1.0 1.0 1.0 <rgba> ] unit-test
-{ HEXCOLOR: abcdef } [ "abcdef" hex>rgba ] unit-test
-{ HEXCOLOR: abcdef } [ "ABCDEF" hex>rgba ] unit-test
-{ "ABCDEF" } [ HEXCOLOR: abcdef rgba>hex ] unit-test
-
-{ HEXCOLOR: 00000000 } [ 0.0 0.0 0.0 0.0 <rgba> ] unit-test
-{ HEXCOLOR: FF000000 } [ 1.0 0.0 0.0 0.0 <rgba> ] unit-test
-{ HEXCOLOR: FFFF0000 } [ 1.0 1.0 0.0 0.0 <rgba> ] unit-test
-{ HEXCOLOR: FFFFFF00 } [ 1.0 1.0 1.0 0.0 <rgba> ] unit-test
-{ HEXCOLOR: FFFFFFFF } [ 1.0 1.0 1.0 1.0 <rgba> ] unit-test
-
-{ HEXCOLOR: cafebabe } [ "cafebabe" hex>rgba ] unit-test
-{ HEXCOLOR: 112233 } [ "123" hex>rgba ] unit-test
-{ HEXCOLOR: 11223344 } [ "1234" hex>rgba ] unit-test
+++ /dev/null
-! Copyright (C) 2010 John Benediktsson
-! See http://factorcode.org/license.txt for BSD license
-
-USING: accessors colors combinators formatting grouping kernel
-lexer math math.parser sequences vocabs.loader ;
-
-IN: colors.hex
-
-ERROR: invalid-hex-color hex ;
-
-: hex>rgba ( hex -- rgba )
- dup length {
- { 6 [ 2 group [ hex> 255 /f ] map first3 1.0 ] }
- { 8 [ 2 group [ hex> 255 /f ] map first4 ] }
- { 3 [ [ digit> 15 /f ] { } map-as first3 1.0 ] }
- { 4 [ [ digit> 15 /f ] { } map-as first4 ] }
- [ drop invalid-hex-color ]
- } case <rgba> ;
-
-: rgba>hex ( rgba -- hex )
- [ red>> ] [ green>> ] [ blue>> ] tri
- [ 255 * >integer ] tri@ "%02X%02X%02X" sprintf ;
-
-TUPLE: hex-color < color hex value ;
-
-M: hex-color >rgba value>> >rgba ;
-
-SYNTAX: HEXCOLOR: scan-token dup hex>rgba hex-color boa suffix! ;
-
-{ "colors.hex" "prettyprint" } "colors.hex.prettyprint" require-when
+++ /dev/null
-USING: accessors colors.hex prettyprint.custom
-prettyprint.backend prettyprint.sections ;
-
-IN: colors.hex.prettyprint
-
-M: hex-color pprint* \ HEXCOLOR: [ hex>> text ] pprint-prefix ;
+++ /dev/null
-Hexadecimal colors
0.0 1.0 0.1 <range> [| r |
0.0 1.0 0.1 <range> [| g |
0.0 1.0 0.1 <range> [| b |
- r g b 1.0 <rgba> dup >hsla >rgba
- [ >rgba-components 4array ] bi@
- [ 0.00000001 ~ ] 2all?
+ r g b 1.0 <rgba> dup >hsla color=
] all?
] all?
] all?
-USING: colors.constants colors.mix kernel tools.test ;
+USING: colors colors.mix kernel tools.test ;
-{ COLOR: blue } [ COLOR: blue COLOR: red 0.0 linear-gradient ] unit-test
-{ COLOR: red } [ COLOR: blue COLOR: red 1.0 linear-gradient ] unit-test
+{ t } [
+ COLOR: blue COLOR: red 0.0 linear-gradient
+ COLOR: blue color=
+] unit-test
-{ COLOR: blue } [ { COLOR: blue COLOR: red COLOR: green } 0.0 sample-linear-gradient ] unit-test
-{ COLOR: red } [ { COLOR: blue COLOR: red COLOR: green } 0.5 sample-linear-gradient ] unit-test
-{ COLOR: green } [ { COLOR: blue COLOR: red COLOR: green } 1.0 sample-linear-gradient ] unit-test
+{ t } [
+ COLOR: blue COLOR: red 1.0 linear-gradient
+ COLOR: red color=
+] unit-test
+
+{ t } [
+ { COLOR: blue COLOR: red COLOR: green } 0.0 sample-linear-gradient
+ COLOR: blue color=
+] unit-test
+
+{ t } [
+ { COLOR: blue COLOR: red COLOR: green } 0.5 sample-linear-gradient
+ COLOR: red color=
+] unit-test
+
+{ t } [
+ { COLOR: blue COLOR: red COLOR: green } 1.0 sample-linear-gradient
+ COLOR: green color=
+] unit-test
{ t } [
{ COLOR: blue COLOR: red } 0.5 sample-linear-gradient
--- /dev/null
+USING: accessors colors prettyprint.custom prettyprint.backend
+prettyprint.sections ;
+
+M: parsed-color pprint* \ COLOR: [ string>> text ] pprint-prefix ;
--- /dev/null
+! $Xorg: rgb.txt,v 1.3 2000/08/17 19:54:00 cpqbld Exp $
+255 250 250 snow
+248 248 255 ghost white
+248 248 255 GhostWhite
+245 245 245 white smoke
+245 245 245 WhiteSmoke
+220 220 220 gainsboro
+255 250 240 floral white
+255 250 240 FloralWhite
+253 245 230 old lace
+253 245 230 OldLace
+250 240 230 linen
+250 235 215 antique white
+250 235 215 AntiqueWhite
+255 239 213 papaya whip
+255 239 213 PapayaWhip
+255 235 205 blanched almond
+255 235 205 BlanchedAlmond
+255 228 196 bisque
+255 218 185 peach puff
+255 218 185 PeachPuff
+255 222 173 navajo white
+255 222 173 NavajoWhite
+255 228 181 moccasin
+255 248 220 cornsilk
+255 255 240 ivory
+255 250 205 lemon chiffon
+255 250 205 LemonChiffon
+255 245 238 seashell
+240 255 240 honeydew
+245 255 250 mint cream
+245 255 250 MintCream
+240 255 255 azure
+240 248 255 alice blue
+240 248 255 AliceBlue
+230 230 250 lavender
+255 240 245 lavender blush
+255 240 245 LavenderBlush
+255 228 225 misty rose
+255 228 225 MistyRose
+255 255 255 white
+ 0 0 0 black
+ 47 79 79 dark slate gray
+ 47 79 79 DarkSlateGray
+ 47 79 79 dark slate grey
+ 47 79 79 DarkSlateGrey
+105 105 105 dim gray
+105 105 105 DimGray
+105 105 105 dim grey
+105 105 105 DimGrey
+112 128 144 slate gray
+112 128 144 SlateGray
+112 128 144 slate grey
+112 128 144 SlateGrey
+119 136 153 light slate gray
+119 136 153 LightSlateGray
+119 136 153 light slate grey
+119 136 153 LightSlateGrey
+190 190 190 gray
+190 190 190 grey
+211 211 211 light grey
+211 211 211 LightGrey
+211 211 211 light gray
+211 211 211 LightGray
+ 25 25 112 midnight blue
+ 25 25 112 MidnightBlue
+ 0 0 128 navy
+ 0 0 128 navy blue
+ 0 0 128 NavyBlue
+100 149 237 cornflower blue
+100 149 237 CornflowerBlue
+ 72 61 139 dark slate blue
+ 72 61 139 DarkSlateBlue
+106 90 205 slate blue
+106 90 205 SlateBlue
+123 104 238 medium slate blue
+123 104 238 MediumSlateBlue
+132 112 255 light slate blue
+132 112 255 LightSlateBlue
+ 0 0 205 medium blue
+ 0 0 205 MediumBlue
+ 65 105 225 royal blue
+ 65 105 225 RoyalBlue
+ 0 0 255 blue
+ 30 144 255 dodger blue
+ 30 144 255 DodgerBlue
+ 0 191 255 deep sky blue
+ 0 191 255 DeepSkyBlue
+135 206 235 sky blue
+135 206 235 SkyBlue
+135 206 250 light sky blue
+135 206 250 LightSkyBlue
+ 70 130 180 steel blue
+ 70 130 180 SteelBlue
+176 196 222 light steel blue
+176 196 222 LightSteelBlue
+173 216 230 light blue
+173 216 230 LightBlue
+176 224 230 powder blue
+176 224 230 PowderBlue
+175 238 238 pale turquoise
+175 238 238 PaleTurquoise
+ 0 206 209 dark turquoise
+ 0 206 209 DarkTurquoise
+ 72 209 204 medium turquoise
+ 72 209 204 MediumTurquoise
+ 64 224 208 turquoise
+ 0 255 255 cyan
+224 255 255 light cyan
+224 255 255 LightCyan
+ 95 158 160 cadet blue
+ 95 158 160 CadetBlue
+102 205 170 medium aquamarine
+102 205 170 MediumAquamarine
+127 255 212 aquamarine
+ 0 100 0 dark green
+ 0 100 0 DarkGreen
+ 85 107 47 dark olive green
+ 85 107 47 DarkOliveGreen
+143 188 143 dark sea green
+143 188 143 DarkSeaGreen
+ 46 139 87 sea green
+ 46 139 87 SeaGreen
+ 60 179 113 medium sea green
+ 60 179 113 MediumSeaGreen
+ 32 178 170 light sea green
+ 32 178 170 LightSeaGreen
+152 251 152 pale green
+152 251 152 PaleGreen
+ 0 255 127 spring green
+ 0 255 127 SpringGreen
+124 252 0 lawn green
+124 252 0 LawnGreen
+ 0 255 0 green
+127 255 0 chartreuse
+ 0 250 154 medium spring green
+ 0 250 154 MediumSpringGreen
+173 255 47 green yellow
+173 255 47 GreenYellow
+ 50 205 50 lime green
+ 50 205 50 LimeGreen
+154 205 50 yellow green
+154 205 50 YellowGreen
+ 34 139 34 forest green
+ 34 139 34 ForestGreen
+107 142 35 olive drab
+107 142 35 OliveDrab
+189 183 107 dark khaki
+189 183 107 DarkKhaki
+240 230 140 khaki
+238 232 170 pale goldenrod
+238 232 170 PaleGoldenrod
+250 250 210 light goldenrod yellow
+250 250 210 LightGoldenrodYellow
+255 255 224 light yellow
+255 255 224 LightYellow
+255 255 0 yellow
+255 215 0 gold
+238 221 130 light goldenrod
+238 221 130 LightGoldenrod
+218 165 32 goldenrod
+184 134 11 dark goldenrod
+184 134 11 DarkGoldenrod
+188 143 143 rosy brown
+188 143 143 RosyBrown
+205 92 92 indian red
+205 92 92 IndianRed
+139 69 19 saddle brown
+139 69 19 SaddleBrown
+160 82 45 sienna
+205 133 63 peru
+222 184 135 burlywood
+245 245 220 beige
+245 222 179 wheat
+244 164 96 sandy brown
+244 164 96 SandyBrown
+210 180 140 tan
+210 105 30 chocolate
+178 34 34 firebrick
+165 42 42 brown
+233 150 122 dark salmon
+233 150 122 DarkSalmon
+250 128 114 salmon
+255 160 122 light salmon
+255 160 122 LightSalmon
+255 165 0 orange
+255 140 0 dark orange
+255 140 0 DarkOrange
+255 127 80 coral
+240 128 128 light coral
+240 128 128 LightCoral
+255 99 71 tomato
+255 69 0 orange red
+255 69 0 OrangeRed
+255 0 0 red
+255 105 180 hot pink
+255 105 180 HotPink
+255 20 147 deep pink
+255 20 147 DeepPink
+255 192 203 pink
+255 182 193 light pink
+255 182 193 LightPink
+219 112 147 pale violet red
+219 112 147 PaleVioletRed
+176 48 96 maroon
+199 21 133 medium violet red
+199 21 133 MediumVioletRed
+208 32 144 violet red
+208 32 144 VioletRed
+255 0 255 magenta
+238 130 238 violet
+221 160 221 plum
+218 112 214 orchid
+186 85 211 medium orchid
+186 85 211 MediumOrchid
+153 50 204 dark orchid
+153 50 204 DarkOrchid
+148 0 211 dark violet
+148 0 211 DarkViolet
+138 43 226 blue violet
+138 43 226 BlueViolet
+160 32 240 purple
+147 112 219 medium purple
+147 112 219 MediumPurple
+216 191 216 thistle
+255 250 250 snow1
+238 233 233 snow2
+205 201 201 snow3
+139 137 137 snow4
+255 245 238 seashell1
+238 229 222 seashell2
+205 197 191 seashell3
+139 134 130 seashell4
+255 239 219 AntiqueWhite1
+238 223 204 AntiqueWhite2
+205 192 176 AntiqueWhite3
+139 131 120 AntiqueWhite4
+255 228 196 bisque1
+238 213 183 bisque2
+205 183 158 bisque3
+139 125 107 bisque4
+255 218 185 PeachPuff1
+238 203 173 PeachPuff2
+205 175 149 PeachPuff3
+139 119 101 PeachPuff4
+255 222 173 NavajoWhite1
+238 207 161 NavajoWhite2
+205 179 139 NavajoWhite3
+139 121 94 NavajoWhite4
+255 250 205 LemonChiffon1
+238 233 191 LemonChiffon2
+205 201 165 LemonChiffon3
+139 137 112 LemonChiffon4
+255 248 220 cornsilk1
+238 232 205 cornsilk2
+205 200 177 cornsilk3
+139 136 120 cornsilk4
+255 255 240 ivory1
+238 238 224 ivory2
+205 205 193 ivory3
+139 139 131 ivory4
+240 255 240 honeydew1
+224 238 224 honeydew2
+193 205 193 honeydew3
+131 139 131 honeydew4
+255 240 245 LavenderBlush1
+238 224 229 LavenderBlush2
+205 193 197 LavenderBlush3
+139 131 134 LavenderBlush4
+255 228 225 MistyRose1
+238 213 210 MistyRose2
+205 183 181 MistyRose3
+139 125 123 MistyRose4
+240 255 255 azure1
+224 238 238 azure2
+193 205 205 azure3
+131 139 139 azure4
+131 111 255 SlateBlue1
+122 103 238 SlateBlue2
+105 89 205 SlateBlue3
+ 71 60 139 SlateBlue4
+ 72 118 255 RoyalBlue1
+ 67 110 238 RoyalBlue2
+ 58 95 205 RoyalBlue3
+ 39 64 139 RoyalBlue4
+ 0 0 255 blue1
+ 0 0 238 blue2
+ 0 0 205 blue3
+ 0 0 139 blue4
+ 30 144 255 DodgerBlue1
+ 28 134 238 DodgerBlue2
+ 24 116 205 DodgerBlue3
+ 16 78 139 DodgerBlue4
+ 99 184 255 SteelBlue1
+ 92 172 238 SteelBlue2
+ 79 148 205 SteelBlue3
+ 54 100 139 SteelBlue4
+ 0 191 255 DeepSkyBlue1
+ 0 178 238 DeepSkyBlue2
+ 0 154 205 DeepSkyBlue3
+ 0 104 139 DeepSkyBlue4
+135 206 255 SkyBlue1
+126 192 238 SkyBlue2
+108 166 205 SkyBlue3
+ 74 112 139 SkyBlue4
+176 226 255 LightSkyBlue1
+164 211 238 LightSkyBlue2
+141 182 205 LightSkyBlue3
+ 96 123 139 LightSkyBlue4
+198 226 255 SlateGray1
+185 211 238 SlateGray2
+159 182 205 SlateGray3
+108 123 139 SlateGray4
+202 225 255 LightSteelBlue1
+188 210 238 LightSteelBlue2
+162 181 205 LightSteelBlue3
+110 123 139 LightSteelBlue4
+191 239 255 LightBlue1
+178 223 238 LightBlue2
+154 192 205 LightBlue3
+104 131 139 LightBlue4
+224 255 255 LightCyan1
+209 238 238 LightCyan2
+180 205 205 LightCyan3
+122 139 139 LightCyan4
+187 255 255 PaleTurquoise1
+174 238 238 PaleTurquoise2
+150 205 205 PaleTurquoise3
+102 139 139 PaleTurquoise4
+152 245 255 CadetBlue1
+142 229 238 CadetBlue2
+122 197 205 CadetBlue3
+ 83 134 139 CadetBlue4
+ 0 245 255 turquoise1
+ 0 229 238 turquoise2
+ 0 197 205 turquoise3
+ 0 134 139 turquoise4
+ 0 255 255 cyan1
+ 0 238 238 cyan2
+ 0 205 205 cyan3
+ 0 139 139 cyan4
+151 255 255 DarkSlateGray1
+141 238 238 DarkSlateGray2
+121 205 205 DarkSlateGray3
+ 82 139 139 DarkSlateGray4
+127 255 212 aquamarine1
+118 238 198 aquamarine2
+102 205 170 aquamarine3
+ 69 139 116 aquamarine4
+193 255 193 DarkSeaGreen1
+180 238 180 DarkSeaGreen2
+155 205 155 DarkSeaGreen3
+105 139 105 DarkSeaGreen4
+ 84 255 159 SeaGreen1
+ 78 238 148 SeaGreen2
+ 67 205 128 SeaGreen3
+ 46 139 87 SeaGreen4
+154 255 154 PaleGreen1
+144 238 144 PaleGreen2
+124 205 124 PaleGreen3
+ 84 139 84 PaleGreen4
+ 0 255 127 SpringGreen1
+ 0 238 118 SpringGreen2
+ 0 205 102 SpringGreen3
+ 0 139 69 SpringGreen4
+ 0 255 0 green1
+ 0 238 0 green2
+ 0 205 0 green3
+ 0 139 0 green4
+127 255 0 chartreuse1
+118 238 0 chartreuse2
+102 205 0 chartreuse3
+ 69 139 0 chartreuse4
+192 255 62 OliveDrab1
+179 238 58 OliveDrab2
+154 205 50 OliveDrab3
+105 139 34 OliveDrab4
+202 255 112 DarkOliveGreen1
+188 238 104 DarkOliveGreen2
+162 205 90 DarkOliveGreen3
+110 139 61 DarkOliveGreen4
+255 246 143 khaki1
+238 230 133 khaki2
+205 198 115 khaki3
+139 134 78 khaki4
+255 236 139 LightGoldenrod1
+238 220 130 LightGoldenrod2
+205 190 112 LightGoldenrod3
+139 129 76 LightGoldenrod4
+255 255 224 LightYellow1
+238 238 209 LightYellow2
+205 205 180 LightYellow3
+139 139 122 LightYellow4
+255 255 0 yellow1
+238 238 0 yellow2
+205 205 0 yellow3
+139 139 0 yellow4
+255 215 0 gold1
+238 201 0 gold2
+205 173 0 gold3
+139 117 0 gold4
+255 193 37 goldenrod1
+238 180 34 goldenrod2
+205 155 29 goldenrod3
+139 105 20 goldenrod4
+255 185 15 DarkGoldenrod1
+238 173 14 DarkGoldenrod2
+205 149 12 DarkGoldenrod3
+139 101 8 DarkGoldenrod4
+255 193 193 RosyBrown1
+238 180 180 RosyBrown2
+205 155 155 RosyBrown3
+139 105 105 RosyBrown4
+255 106 106 IndianRed1
+238 99 99 IndianRed2
+205 85 85 IndianRed3
+139 58 58 IndianRed4
+255 130 71 sienna1
+238 121 66 sienna2
+205 104 57 sienna3
+139 71 38 sienna4
+255 211 155 burlywood1
+238 197 145 burlywood2
+205 170 125 burlywood3
+139 115 85 burlywood4
+255 231 186 wheat1
+238 216 174 wheat2
+205 186 150 wheat3
+139 126 102 wheat4
+255 165 79 tan1
+238 154 73 tan2
+205 133 63 tan3
+139 90 43 tan4
+255 127 36 chocolate1
+238 118 33 chocolate2
+205 102 29 chocolate3
+139 69 19 chocolate4
+255 48 48 firebrick1
+238 44 44 firebrick2
+205 38 38 firebrick3
+139 26 26 firebrick4
+255 64 64 brown1
+238 59 59 brown2
+205 51 51 brown3
+139 35 35 brown4
+255 140 105 salmon1
+238 130 98 salmon2
+205 112 84 salmon3
+139 76 57 salmon4
+255 160 122 LightSalmon1
+238 149 114 LightSalmon2
+205 129 98 LightSalmon3
+139 87 66 LightSalmon4
+255 165 0 orange1
+238 154 0 orange2
+205 133 0 orange3
+139 90 0 orange4
+255 127 0 DarkOrange1
+238 118 0 DarkOrange2
+205 102 0 DarkOrange3
+139 69 0 DarkOrange4
+255 114 86 coral1
+238 106 80 coral2
+205 91 69 coral3
+139 62 47 coral4
+255 99 71 tomato1
+238 92 66 tomato2
+205 79 57 tomato3
+139 54 38 tomato4
+255 69 0 OrangeRed1
+238 64 0 OrangeRed2
+205 55 0 OrangeRed3
+139 37 0 OrangeRed4
+255 0 0 red1
+238 0 0 red2
+205 0 0 red3
+139 0 0 red4
+255 20 147 DeepPink1
+238 18 137 DeepPink2
+205 16 118 DeepPink3
+139 10 80 DeepPink4
+255 110 180 HotPink1
+238 106 167 HotPink2
+205 96 144 HotPink3
+139 58 98 HotPink4
+255 181 197 pink1
+238 169 184 pink2
+205 145 158 pink3
+139 99 108 pink4
+255 174 185 LightPink1
+238 162 173 LightPink2
+205 140 149 LightPink3
+139 95 101 LightPink4
+255 130 171 PaleVioletRed1
+238 121 159 PaleVioletRed2
+205 104 137 PaleVioletRed3
+139 71 93 PaleVioletRed4
+255 52 179 maroon1
+238 48 167 maroon2
+205 41 144 maroon3
+139 28 98 maroon4
+255 62 150 VioletRed1
+238 58 140 VioletRed2
+205 50 120 VioletRed3
+139 34 82 VioletRed4
+255 0 255 magenta1
+238 0 238 magenta2
+205 0 205 magenta3
+139 0 139 magenta4
+255 131 250 orchid1
+238 122 233 orchid2
+205 105 201 orchid3
+139 71 137 orchid4
+255 187 255 plum1
+238 174 238 plum2
+205 150 205 plum3
+139 102 139 plum4
+224 102 255 MediumOrchid1
+209 95 238 MediumOrchid2
+180 82 205 MediumOrchid3
+122 55 139 MediumOrchid4
+191 62 255 DarkOrchid1
+178 58 238 DarkOrchid2
+154 50 205 DarkOrchid3
+104 34 139 DarkOrchid4
+155 48 255 purple1
+145 44 238 purple2
+125 38 205 purple3
+ 85 26 139 purple4
+171 130 255 MediumPurple1
+159 121 238 MediumPurple2
+137 104 205 MediumPurple3
+ 93 71 139 MediumPurple4
+255 225 255 thistle1
+238 210 238 thistle2
+205 181 205 thistle3
+139 123 139 thistle4
+ 0 0 0 gray0
+ 0 0 0 grey0
+ 3 3 3 gray1
+ 3 3 3 grey1
+ 5 5 5 gray2
+ 5 5 5 grey2
+ 8 8 8 gray3
+ 8 8 8 grey3
+ 10 10 10 gray4
+ 10 10 10 grey4
+ 13 13 13 gray5
+ 13 13 13 grey5
+ 15 15 15 gray6
+ 15 15 15 grey6
+ 18 18 18 gray7
+ 18 18 18 grey7
+ 20 20 20 gray8
+ 20 20 20 grey8
+ 23 23 23 gray9
+ 23 23 23 grey9
+ 26 26 26 gray10
+ 26 26 26 grey10
+ 28 28 28 gray11
+ 28 28 28 grey11
+ 31 31 31 gray12
+ 31 31 31 grey12
+ 33 33 33 gray13
+ 33 33 33 grey13
+ 36 36 36 gray14
+ 36 36 36 grey14
+ 38 38 38 gray15
+ 38 38 38 grey15
+ 41 41 41 gray16
+ 41 41 41 grey16
+ 43 43 43 gray17
+ 43 43 43 grey17
+ 46 46 46 gray18
+ 46 46 46 grey18
+ 48 48 48 gray19
+ 48 48 48 grey19
+ 51 51 51 gray20
+ 51 51 51 grey20
+ 54 54 54 gray21
+ 54 54 54 grey21
+ 56 56 56 gray22
+ 56 56 56 grey22
+ 59 59 59 gray23
+ 59 59 59 grey23
+ 61 61 61 gray24
+ 61 61 61 grey24
+ 64 64 64 gray25
+ 64 64 64 grey25
+ 66 66 66 gray26
+ 66 66 66 grey26
+ 69 69 69 gray27
+ 69 69 69 grey27
+ 71 71 71 gray28
+ 71 71 71 grey28
+ 74 74 74 gray29
+ 74 74 74 grey29
+ 77 77 77 gray30
+ 77 77 77 grey30
+ 79 79 79 gray31
+ 79 79 79 grey31
+ 82 82 82 gray32
+ 82 82 82 grey32
+ 84 84 84 gray33
+ 84 84 84 grey33
+ 87 87 87 gray34
+ 87 87 87 grey34
+ 89 89 89 gray35
+ 89 89 89 grey35
+ 92 92 92 gray36
+ 92 92 92 grey36
+ 94 94 94 gray37
+ 94 94 94 grey37
+ 97 97 97 gray38
+ 97 97 97 grey38
+ 99 99 99 gray39
+ 99 99 99 grey39
+102 102 102 gray40
+102 102 102 grey40
+105 105 105 gray41
+105 105 105 grey41
+107 107 107 gray42
+107 107 107 grey42
+110 110 110 gray43
+110 110 110 grey43
+112 112 112 gray44
+112 112 112 grey44
+115 115 115 gray45
+115 115 115 grey45
+117 117 117 gray46
+117 117 117 grey46
+120 120 120 gray47
+120 120 120 grey47
+122 122 122 gray48
+122 122 122 grey48
+125 125 125 gray49
+125 125 125 grey49
+127 127 127 gray50
+127 127 127 grey50
+130 130 130 gray51
+130 130 130 grey51
+133 133 133 gray52
+133 133 133 grey52
+135 135 135 gray53
+135 135 135 grey53
+138 138 138 gray54
+138 138 138 grey54
+140 140 140 gray55
+140 140 140 grey55
+143 143 143 gray56
+143 143 143 grey56
+145 145 145 gray57
+145 145 145 grey57
+148 148 148 gray58
+148 148 148 grey58
+150 150 150 gray59
+150 150 150 grey59
+153 153 153 gray60
+153 153 153 grey60
+156 156 156 gray61
+156 156 156 grey61
+158 158 158 gray62
+158 158 158 grey62
+161 161 161 gray63
+161 161 161 grey63
+163 163 163 gray64
+163 163 163 grey64
+166 166 166 gray65
+166 166 166 grey65
+168 168 168 gray66
+168 168 168 grey66
+171 171 171 gray67
+171 171 171 grey67
+173 173 173 gray68
+173 173 173 grey68
+176 176 176 gray69
+176 176 176 grey69
+179 179 179 gray70
+179 179 179 grey70
+181 181 181 gray71
+181 181 181 grey71
+184 184 184 gray72
+184 184 184 grey72
+186 186 186 gray73
+186 186 186 grey73
+189 189 189 gray74
+189 189 189 grey74
+191 191 191 gray75
+191 191 191 grey75
+194 194 194 gray76
+194 194 194 grey76
+196 196 196 gray77
+196 196 196 grey77
+199 199 199 gray78
+199 199 199 grey78
+201 201 201 gray79
+201 201 201 grey79
+204 204 204 gray80
+204 204 204 grey80
+207 207 207 gray81
+207 207 207 grey81
+209 209 209 gray82
+209 209 209 grey82
+212 212 212 gray83
+212 212 212 grey83
+214 214 214 gray84
+214 214 214 grey84
+217 217 217 gray85
+217 217 217 grey85
+219 219 219 gray86
+219 219 219 grey86
+222 222 222 gray87
+222 222 222 grey87
+224 224 224 gray88
+224 224 224 grey88
+227 227 227 gray89
+227 227 227 grey89
+229 229 229 gray90
+229 229 229 grey90
+232 232 232 gray91
+232 232 232 grey91
+235 235 235 gray92
+235 235 235 grey92
+237 237 237 gray93
+237 237 237 grey93
+240 240 240 gray94
+240 240 240 grey94
+242 242 242 gray95
+242 242 242 grey95
+245 245 245 gray96
+245 245 245 grey96
+247 247 247 gray97
+247 247 247 grey97
+250 250 250 gray98
+250 250 250 grey98
+252 252 252 gray99
+252 252 252 grey99
+255 255 255 gray100
+255 255 255 grey100
+169 169 169 dark grey
+169 169 169 DarkGrey
+169 169 169 dark gray
+169 169 169 DarkGray
+0 0 139 dark blue
+0 0 139 DarkBlue
+0 139 139 dark cyan
+0 139 139 DarkCyan
+139 0 139 dark magenta
+139 0 139 DarkMagenta
+139 0 0 dark red
+139 0 0 DarkRed
+144 238 144 light green
+144 238 144 LightGreen
0.0 1.0 0.1 <range> [| r |
0.0 1.0 0.1 <range> [| g |
0.0 1.0 0.1 <range> [| b |
- r g b 1.0 <rgba> dup >ryba >rgba
- [ >rgba-components 4array ] bi@
- [ 0.00000001 ~ ] 2all?
+ r g b 1.0 <rgba> dup >ryba color=
] all?
] all?
] all?
--- /dev/null
+! Solarized theme colors (http://ethanschoonover.com/solarized)
+ 0 43 54 solarized base03
+ 7 54 66 solarized base02
+ 88 110 117 solarized base01
+101 123 131 solarized base00
+131 148 150 solarized base0
+147 161 161 solarized base1
+238 232 213 solarized base2
+253 246 227 solarized base3
+181 137 0 solarized yellow
+203 75 22 solarized orange
+220 50 47 solarized red
+211 54 130 solarized magenta
+108 113 196 solarized violet
+ 38 139 210 solarized blue
+ 42 161 152 solarized cyan
+133 153 0 solarized green
0.0 1.0 0.1 <range> [| r |
0.0 1.0 0.1 <range> [| g |
0.0 1.0 0.1 <range> [| b |
- r g b 1.0 <rgba> dup >yiqa >rgba
- [ >rgba-components 4array ] bi@
- [ 0.00000001 ~ ] 2all?
+ r g b 1.0 <rgba> dup >yiqa color=
] all?
] all?
] all?
0.0 1.0 0.1 <range> [| r |
0.0 1.0 0.1 <range> [| g |
0.0 1.0 0.1 <range> [| b |
- r g b 1.0 <rgba> dup >yuva >rgba
- [ >rgba-components 4array ] bi@
- [ 0.00000001 ~ ] 2all?
+ r g b 1.0 <rgba> dup >yuva color=
] all?
] all?
] all?
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: tools.test core-text core-text.fonts core-foundation
-core-foundation.dictionaries destructors arrays kernel generalizations
-locals math accessors core-foundation.utilities combinators hashtables colors
-colors.constants ;
+core-foundation.dictionaries destructors arrays kernel
+generalizations locals math accessors core-foundation.utilities
+combinators hashtables colors ;
IN: core-text.tests
: test-font ( name -- font )
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors.constants combinators kernel math
-namespaces ;
+USING: accessors colors combinators kernel math namespaces ;
IN: fonts
CONSTANT: default-serif-font-name "serif"
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: assocs colors.constants fonts fry io.styles kernel
-literals math math.order namespaces sequences ui.theme ;
+USING: assocs colors fonts io.styles kernel literals math
+math.order namespaces sequences ui.theme ;
IN: help.stylesheet
: wrap-margin-full ( -- n )
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays colors.constants definitions help.markup
+USING: accessors arrays colors definitions help.markup
help.stylesheet io io.styles kernel literals namespaces parser
random sequences ui.theme ;
IN: help.tips
! Copyright (C) 2003, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors colors.constants combinators.short-circuit
+USING: accessors colors combinators.short-circuit
compiler.units continuations debugger fry io io.styles kernel lexer
locals math math.parser namespaces parser parser.notes prettyprint
sequences sets source-files.errors system vocabs vocabs.loader
! Copyright (C) 2009, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors alien.data arrays assocs colors.constants
-combinators destructors images images.tessellation kernel
-literals math math.statistics math.vectors namespaces opengl
+USING: accessors alien.data arrays assocs colors combinators
+destructors images images.tessellation kernel literals math
+math.statistics math.vectors namespaces opengl
opengl.capabilities opengl.gl sequences specialized-arrays
system ;
FROM: alien.c-types => int float ;
! Copyright (C) 2003, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays classes colors.constants combinators
+USING: accessors arrays classes colors combinators
continuations generic grouping io io.streams.string io.styles
kernel make math math.parser namespaces prettyprint.config
prettyprint.custom prettyprint.sections sequences strings
! Copyright (C) 2009 Keith Lazuka, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: assocs colors colors.constants combinators
-combinators.short-circuit hashtables io.styles kernel literals
-namespaces sequences words words.symbol ;
+USING: assocs colors combinators combinators.short-circuit
+hashtables io.styles kernel literals namespaces sequences words
+words.symbol ;
IN: prettyprint.stylesheet
<PRIVATE
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs colors.constants combinators
+USING: accessors arrays assocs colors combinators
combinators.short-circuit fry io.directories io.files
io.files.info io.pathnames kernel locals make math math.order
sequences sequences.private sorting splitting
! Copyright (C) 2007, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: ui.backend ui.gadgets ui.gadgets.worlds ui.pens.solid opengl
-opengl.gl kernel namespaces classes.tuple colors colors.constants
+
+USING: ui.backend ui.gadgets ui.gadgets.worlds ui.pens.solid
+opengl opengl.gl kernel namespaces classes.tuple colors
accessors ;
+
IN: ui.gadgets.canvas
TUPLE: canvas < gadget dlist ;
! Copyright (C) 2008, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays colors.constants dlists io io.streams.string
+USING: accessors arrays colors dlists io io.streams.string
kernel namespaces opengl sequences ui ui.baseline-alignment ui.gadgets
ui.gadgets.buttons ui.gadgets.labels ui.gadgets.private ui.pens
ui.render ui.text vectors ;
! Copyright (C) 2006, 2011 Slava Pestov
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs calendar colors.constants
-combinators combinators.short-circuit documents
-documents.elements fonts fry grouping kernel literals locals
-make math math.functions math.order ranges math.rectangles
-math.vectors models models.arrow namespaces opengl opengl.gl
-sequences sorting splitting system timers ui.baseline-alignment
-ui.clipboards ui.commands ui.gadgets ui.gadgets.borders
+USING: accessors arrays assocs calendar colors combinators
+combinators.short-circuit documents documents.elements fonts fry
+grouping kernel literals locals make math math.functions
+math.order ranges math.rectangles math.vectors models
+models.arrow namespaces opengl opengl.gl sequences sorting
+splitting system timers ui.baseline-alignment ui.clipboards
+ui.commands ui.gadgets ui.gadgets.borders
ui.gadgets.line-support ui.gadgets.menus ui.gadgets.scrollers
ui.gestures ui.pens.solid ui.render ui.text ui.theme unicode ;
IN: ui.gadgets.editors
-USING: accessors colors.constants sequences tools.test
-ui.gadgets ui.gadgets.labeled ;
+USING: accessors sequences tools.test ui.gadgets
+ui.gadgets.labeled ;
{ t } [
<gadget> "Hey" <labeled-gadget> content>> gadget?
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays classes colors.constants combinators
+USING: accessors arrays classes colors combinators
fonts fry kernel make math.functions models namespaces sequences
splitting strings ui.baseline-alignment ui.gadgets
ui.gadgets.tracks ui.pens.solid ui.render ui.text
! Copyright (C) 2007, 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors calendar colors.constants fonts kernel models
+USING: accessors calendar colors fonts kernel models
models.arrow models.delay sequences summary ui
ui.gadgets.borders ui.gadgets.labels ui.gadgets.tracks
ui.gadgets.worlds ui.pens.solid ui.private ui.theme ;
! Copyright (C) 2008, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors.constants kernel models sequences
-ui.gadgets ui.gadgets.books ui.gadgets.borders
-ui.gadgets.buttons ui.gadgets.buttons.private ui.gadgets.icons
-ui.gadgets.packs ui.gadgets.tracks ui.pens ui.theme.images ;
+USING: accessors colors kernel models sequences ui.gadgets
+ui.gadgets.books ui.gadgets.borders ui.gadgets.buttons
+ui.gadgets.buttons.private ui.gadgets.icons ui.gadgets.packs
+ui.gadgets.tracks ui.pens ui.theme.images ;
IN: ui.gadgets.tabbed
TUPLE: tabbed-gadget < track tabs book ;
} ;
ARTICLE: "ui.gadgets.tables.example" "Table gadget example"
-"The " { $vocab-link "color-table" } " vocabulary implements a simple application which demonstrates table gadgets. It lists all the colors in the " { $snippet "rgb.txt" } " database shipped with " { $vocab-link "colors.constants" } " in a table. Rows are highlighted with their actual color, and columns show the red, green, and blue components. Column titles are supplied." ;
+"The " { $vocab-link "color-table" } " vocabulary implements a simple application which demonstrates table gadgets. It lists all the colors in the " { $snippet "rgb.txt" } " database shipped with " { $vocab-link "colors" } " in a table. Rows are highlighted with their actual color, and columns show the red, green, and blue components. Column titles are supplied." ;
ARTICLE: "ui.gadgets.tables" "Table gadgets"
"The " { $vocab-link "ui.gadgets.tables" } " vocabulary implements table gadgets. Table gadgets display a grid of values, with each row's columns generated by a renderer object."
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors alien.c-types colors.constants kernel
+USING: accessors alien.c-types colors kernel
specialized-arrays tools.test ui.gadgets.labels
ui.pens.caching ui.pens.gradient ;
USING: tools.test ui.pens.gradient ui.pens.gradient.private
-colors.constants specialized-arrays alien.c-types ;
+colors specialized-arrays alien.c-types ;
SPECIALIZED-ARRAY: float
{
! Copyright (C) 2021 Kevin Cope.
! See http://factorcode.org/license.txt for BSD license.
-USING: arrays assocs colors.constants colors.constants.private
-io.encodings.utf8 io.files kernel namespaces sequences ui.theme ;
+USING: arrays assocs colors colors.private io.encodings.utf8
+io.files kernel namespaces sequences ui.theme ;
IN: ui.theme.base16
SYMBOL: base16-theme-name
! Copyright (C) 2016 Nicolas Pénet.
! See http://factorcode.org/license.txt for BSD license.
-USING: colors colors.constants colors.hex delegate namespaces ;
+USING: colors delegate namespaces ;
IN: ui.theme
SYMBOL: theme
M: light-theme object-color COLOR: aquamarine2 ;
M: light-theme contents-color COLOR: orchid2 ;
-M: light-theme help-header-background HEXCOLOR: F4EFD9 ;
+M: light-theme help-header-background COLOR: #F4EFD9 ;
-M: light-theme thread-status-stopped-background HEXCOLOR: F4D9D9 ;
-M: light-theme thread-status-suspended-background HEXCOLOR: F4EAD9 ;
-M: light-theme thread-status-running-background HEXCOLOR: EDF4D9 ;
+M: light-theme thread-status-stopped-background COLOR: #F4D9D9 ;
+M: light-theme thread-status-suspended-background COLOR: #F4EAD9 ;
+M: light-theme thread-status-running-background COLOR: #EDF4D9 ;
-M: light-theme thread-status-stopped-foreground HEXCOLOR: F42300 ;
-M: light-theme thread-status-suspended-foreground HEXCOLOR: F37B00 ;
-M: light-theme thread-status-running-foreground HEXCOLOR: 3FCA00 ;
+M: light-theme thread-status-stopped-foreground COLOR: #F42300 ;
+M: light-theme thread-status-suspended-foreground COLOR: #F37B00 ;
+M: light-theme thread-status-running-foreground COLOR: #3FCA00 ;
-M: light-theme error-summary-background HEXCOLOR: F4D9D9 ;
+M: light-theme error-summary-background COLOR: #F4D9D9 ;
M: light-theme content-background COLOR: white ;
M: light-theme text-color COLOR: black ;
M: light-theme heading-color COLOR: FactorDarkSlateBlue ;
M: light-theme snippet-color COLOR: DarkOrange4 ;
M: light-theme output-color COLOR: DarkOrange4 ;
-M: light-theme deprecated-background-color HEXCOLOR: F4EAD9 ;
-M: light-theme deprecated-border-color HEXCOLOR: F37B00 ;
-M: light-theme warning-background-color HEXCOLOR: F4D9D9 ;
-M: light-theme warning-border-color HEXCOLOR: F42300 ;
+M: light-theme deprecated-background-color COLOR: #F4EAD9 ;
+M: light-theme deprecated-border-color COLOR: #F37B00 ;
+M: light-theme warning-background-color COLOR: #F4D9D9 ;
+M: light-theme warning-border-color COLOR: #F42300 ;
M: light-theme code-background-color COLOR: FactorLightTan ;
M: light-theme help-path-border-color COLOR: grey95 ;
SINGLETON: dark-theme
-M: dark-theme toolbar-background HEXCOLOR: 202124 ;
+M: dark-theme toolbar-background COLOR: #202124 ;
M: dark-theme toolbar-button-pressed-background COLOR: solarized-base0 ;
-M: dark-theme menu-background HEXCOLOR: 202124 ;
+M: dark-theme menu-background COLOR: #202124 ;
M: dark-theme menu-border-color COLOR: solarized-base01 ;
M: dark-theme status-bar-background COLOR: FactorDarkSlateBlue ;
M: dark-theme line-color COLOR: solarized-base01 ;
-M: dark-theme column-title-background HEXCOLOR: 2F4D5B ;
+M: dark-theme column-title-background COLOR: #2F4D5B ;
M: dark-theme roll-button-rollover-border COLOR: gray50 ;
M: dark-theme roll-button-selected-background COLOR: dark-gray ;
M: dark-theme object-color COLOR: solarized-cyan ;
M: dark-theme contents-color COLOR: solarized-magenta ;
-M: dark-theme help-header-background HEXCOLOR: 2F4D5B ;
+M: dark-theme help-header-background COLOR: #2F4D5B ;
-M: dark-theme thread-status-stopped-background HEXCOLOR: 492d33 ;
-M: dark-theme thread-status-suspended-background HEXCOLOR: 3c4a24 ;
-M: dark-theme thread-status-running-background HEXCOLOR: 2c4f24 ;
+M: dark-theme thread-status-stopped-background COLOR: #492d33 ;
+M: dark-theme thread-status-suspended-background COLOR: #3c4a24 ;
+M: dark-theme thread-status-running-background COLOR: #2c4f24 ;
M: dark-theme thread-status-stopped-foreground COLOR: solarized-red ;
M: dark-theme thread-status-suspended-foreground COLOR: solarized-yellow ;
M: dark-theme thread-status-running-foreground COLOR: solarized-green ;
-M: dark-theme error-summary-background HEXCOLOR: 6E2E32 ;
+M: dark-theme error-summary-background COLOR: #6E2E32 ;
-M: dark-theme content-background HEXCOLOR: 202124 ;
-M: dark-theme text-color HEXCOLOR: bdc1c6 ;
+M: dark-theme content-background COLOR: #202124 ;
+M: dark-theme text-color COLOR: #bdc1c6 ;
-M: dark-theme link-color HEXCOLOR: 8ab4f8 ;
+M: dark-theme link-color COLOR: #8ab4f8 ;
M: dark-theme title-color COLOR: grey75 ;
M: dark-theme heading-color COLOR: grey75 ;
M: dark-theme snippet-color COLOR: solarized-orange ;
M: dark-theme output-color COLOR: solarized-orange ;
-M: dark-theme deprecated-background-color HEXCOLOR: 3c4a24 ;
+M: dark-theme deprecated-background-color COLOR: #3c4a24 ;
M: dark-theme deprecated-border-color COLOR: solarized-yellow ;
-M: dark-theme warning-background-color HEXCOLOR: 492d33 ;
+M: dark-theme warning-background-color COLOR: #492d33 ;
M: dark-theme warning-border-color COLOR: solarized-red ;
-M: dark-theme code-background-color HEXCOLOR: 2F4D5B ;
+M: dark-theme code-background-color COLOR: #2F4D5B ;
M: dark-theme help-path-border-color COLOR: solarized-base02 ;
-M: dark-theme tip-background-color HEXCOLOR: 2F4D5B ;
+M: dark-theme tip-background-color COLOR: #2F4D5B ;
-M: dark-theme prompt-background-color HEXCOLOR: 922f31 ;
+M: dark-theme prompt-background-color COLOR: #922f31 ;
M: dark-theme dim-color COLOR: solarized-cyan ;
M: dark-theme highlighted-word-color COLOR: solarized-green ;
! Copyright (C) 2009, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs calendar colors.constants
-combinators combinators.smart compiler.errors debugger editors
-init io.pathnames kernel math.parser models models.arrow
+
+USING: accessors arrays assocs calendar colors combinators
+combinators.smart compiler.errors debugger editors init
+io.pathnames kernel math.parser models models.arrow
models.arrow.smart models.delay models.mapping models.search
namespaces prettyprint sequences sorting source-files.errors
source-files.errors.debugger summary ui ui.commands ui.gadgets
ui.gadgets.status-bar ui.gadgets.tables ui.gadgets.toolbar
ui.gadgets.tracks ui.gestures ui.images ui.operations ui.theme
ui.tools.browser ui.tools.common ui.tools.inspector ;
+
IN: ui.tools.error-list
CONSTANT: source-file-icon
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs calendar colors colors.constants
-combinators combinators.short-circuit definitions.icons
-documents documents.elements fonts fry generic help.vocabs
-kernel math math.vectors models.arrow models.delay parser
-present sequences sets splitting strings tools.completion
-ui.commands ui.gadgets ui.gadgets.editors ui.gadgets.glass
-ui.gadgets.labeled ui.gadgets.scrollers ui.gadgets.tables
-ui.gadgets.tracks ui.gadgets.worlds ui.gadgets.wrappers
-ui.gestures ui.images ui.operations ui.pens.solid ui.theme
-ui.theme.images ui.tools.common ui.tools.listener.history
+
+USING: accessors arrays assocs calendar colors combinators
+combinators.short-circuit definitions.icons documents
+documents.elements fonts generic help.vocabs kernel math
+math.vectors models.arrow models.delay parser present sequences
+sets splitting strings tools.completion ui.commands ui.gadgets
+ui.gadgets.editors ui.gadgets.glass ui.gadgets.labeled
+ui.gadgets.scrollers ui.gadgets.tables ui.gadgets.tracks
+ui.gadgets.worlds ui.gadgets.wrappers ui.gestures ui.images
+ui.operations ui.pens.solid ui.theme ui.theme.images
+ui.tools.common ui.tools.listener.history
ui.tools.listener.popups unicode.data vocabs words ;
+
IN: ui.tools.listener.completion
! We don't directly depend on the listener tool but we use a few slots
] [ drop COLOR: dark-gray ] if ;
M: color-completion row-color
- drop second lookup-color ;
+ drop second named-color ;
: up-to-caret ( caret document -- string )
[ { 0 0 } ] 2dip doc-range ;
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors assocs colors.constants fry io io.styles kernel
+USING: accessors assocs colors io io.styles kernel
make namespaces parser prettyprint.backend prettyprint.sections
prettyprint.stylesheet sequences sorting vocabs vocabs.parser ;
FROM: io.styles => inset ;
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
+
USING: accessors alien.c-types alien.data arrays assocs
-byte-arrays cache classes.struct colors colors.constants
-combinators destructors fonts images init io.encodings.string
-io.encodings.utf16n kernel literals locals math math.bitwise
-namespaces sequences specialized-arrays windows.errors
-windows.fonts windows.gdi32 windows.offscreen windows.ole32
-windows.types windows.usp10 ;
+byte-arrays cache classes.struct colors combinators destructors
+fonts images init io.encodings.string io.encodings.utf16n kernel
+literals locals math math.bitwise namespaces sequences
+specialized-arrays windows.errors windows.fonts windows.gdi32
+windows.offscreen windows.ole32 windows.types windows.usp10 ;
+
SPECIALIZED-ARRAY: uint32_t
IN: windows.uniscribe
! Copyright (C) 2011 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: accessors assocs colors.hex io io.encodings.utf8 io.files
+USING: accessors assocs colors io io.encodings.utf8 io.files
io.pathnames io.streams.string io.styles kernel locals see
sequences splitting strings vocabs vocabs.loader words
xmode.catalog xmode.marker ;
<PRIVATE
CONSTANT: STYLES H{
- { "NULL" H{ { foreground HEXCOLOR: 000000 } } }
- { "COMMENT1" H{ { foreground HEXCOLOR: cc0000 } } }
- { "COMMENT2" H{ { foreground HEXCOLOR: ff8400 } } }
- { "COMMENT3" H{ { foreground HEXCOLOR: 6600cc } } }
- { "COMMENT4" H{ { foreground HEXCOLOR: cc6600 } } }
- { "DIGIT" H{ { foreground HEXCOLOR: ff0000 } } }
- { "FUNCTION" H{ { foreground HEXCOLOR: 9966ff } } }
- { "INVALID" H{ { background HEXCOLOR: ffffcc }
- { foreground HEXCOLOR: ff0066 } } }
- { "KEYWORD1" H{ { foreground HEXCOLOR: 006699 }
+ { "NULL" H{ { foreground COLOR: #000000 } } }
+ { "COMMENT1" H{ { foreground COLOR: #cc0000 } } }
+ { "COMMENT2" H{ { foreground COLOR: #ff8400 } } }
+ { "COMMENT3" H{ { foreground COLOR: #6600cc } } }
+ { "COMMENT4" H{ { foreground COLOR: #cc6600 } } }
+ { "DIGIT" H{ { foreground COLOR: #ff0000 } } }
+ { "FUNCTION" H{ { foreground COLOR: #9966ff } } }
+ { "INVALID" H{ { background COLOR: #ffffcc }
+ { foreground COLOR: #ff0066 } } }
+ { "KEYWORD1" H{ { foreground COLOR: #006699 }
{ font-style bold } } }
- { "KEYWORD2" H{ { foreground HEXCOLOR: 009966 }
+ { "KEYWORD2" H{ { foreground COLOR: #009966 }
{ font-style bold } } }
- { "KEYWORD3" H{ { foreground HEXCOLOR: 0099ff }
+ { "KEYWORD3" H{ { foreground COLOR: #0099ff }
{ font-style bold } } }
- { "KEYWORD4" H{ { foreground HEXCOLOR: 66ccff }
+ { "KEYWORD4" H{ { foreground COLOR: #66ccff }
{ font-style bold } } }
- { "LABEL" H{ { foreground HEXCOLOR: 02b902 } } }
- { "LITERAL1" H{ { foreground HEXCOLOR: ff00cc } } }
- { "LITERAL2" H{ { foreground HEXCOLOR: cc00cc } } }
- { "LITERAL3" H{ { foreground HEXCOLOR: 9900cc } } }
- { "LITERAL4" H{ { foreground HEXCOLOR: 6600cc } } }
- { "MARKUP" H{ { foreground HEXCOLOR: 0000ff } } }
- { "OPERATOR" H{ { foreground HEXCOLOR: 000000 }
+ { "LABEL" H{ { foreground COLOR: #02b902 } } }
+ { "LITERAL1" H{ { foreground COLOR: #ff00cc } } }
+ { "LITERAL2" H{ { foreground COLOR: #cc00cc } } }
+ { "LITERAL3" H{ { foreground COLOR: #9900cc } } }
+ { "LITERAL4" H{ { foreground COLOR: #6600cc } } }
+ { "MARKUP" H{ { foreground COLOR: #0000ff } } }
+ { "OPERATOR" H{ { foreground COLOR: #000000 }
{ font-style bold } } }
}
-USING: accessors arrays assocs calendar colors colors.constants
+USING: accessors arrays assocs calendar colors
combinators.short-circuit help help.markup help.syntax kernel
-locals math math.functions math.matrices
-math.order math.parser math.trig math.vectors opengl
-opengl.demo-support opengl.gl opengl.glu sbufs sequences strings
-threads ui.gadgets ui.gadgets.worlds ui.gestures ui.render ;
+locals math math.functions math.matrices math.order math.parser
+math.trig math.vectors opengl opengl.demo-support opengl.gl
+opengl.glu sbufs sequences strings threads ui.gadgets
+ui.gadgets.worlds ui.gestures ui.render ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Copyright (C) 2008 Eduardo Cavazos.
! Copyright (C) 2011 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays boids.simulation calendar classes
-colors.constants kernel literals locals math math.functions
-math.trig models namespaces opengl opengl.demo-support opengl.gl
-sequences threads ui ui.commands ui.gadgets ui.gadgets.borders
+
+USING: accessors arrays boids.simulation calendar classes colors
+kernel literals locals math math.functions math.trig models
+namespaces opengl opengl.demo-support opengl.gl sequences
+threads ui ui.commands ui.gadgets ui.gadgets.borders
ui.gadgets.buttons ui.gadgets.frames ui.gadgets.grids
ui.gadgets.labeled ui.gadgets.labels ui.gadgets.packs
ui.gadgets.sliders ui.gadgets.tracks ui.gadgets.worlds ui.render
ui.tools.common ;
+
QUALIFIED-WITH: models.range mr
IN: boids
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors.constants colors.hex combinators
-combinators.smart formatting kernel literals models
-sorting.human sorting.slots strings ui ui.gadgets.scrollers
-ui.gadgets.search-tables ui.gadgets.tables ;
+USING: accessors colors combinators combinators.smart formatting
+kernel literals math models sorting.human sorting.slots strings ui
+ui.gadgets.scrollers ui.gadgets.search-tables ui.gadgets.tables
+;
IN: color-table
! ui.gadgets.tables demo
CONSTANT: full-block-string $[ 10 CHAR: full-block <string> ]
+: rgba>hex ( rgba -- hex )
+ [ red>> ] [ green>> ] [ blue>> ] tri
+ [ 255 * >integer ] tri@ "%02X%02X%02X" sprintf ;
+
PRIVATE>
M: color-renderer filled-column
M: color-renderer row-columns
drop [
full-block-string swap
- dup lookup-color {
+ dup named-color {
[ red>> "%.5f" sprintf ]
[ green>> "%.5f" sprintf ]
[ blue>> "%.5f" sprintf ]
] output>array ;
M: color-renderer row-color
- drop lookup-color ;
+ drop named-color ;
M: color-renderer row-value
- drop lookup-color ;
+ drop named-color ;
: <color-table> ( -- table )
named-colors { human<=> } sort-by <model>
! Copyright (C) 2013 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: colors colors.hex grouping kernel lexer math math.parser
-regexp.classes sequences splitting ;
+USING: colors colors.private grouping kernel lexer math
+math.parser regexp.classes sequences splitting ;
IN: colors.flex-hex
! See http://factorcode.org/license.txt for BSD license
USING: accessors arrays assocs bit-arrays byte-arrays calendar
-colors.constants combinators fry kernel kernel.private locals
-math math.order ranges namespaces opengl random sequences
+colors combinators fry kernel kernel.private locals math
+math.order ranges namespaces opengl random sequences
sequences.private timers ui ui.commands ui.gadgets
ui.gadgets.toolbar ui.gadgets.tracks ui.gestures ui.render words
;
! Copyright (C) 2010 Erik Charlebois
! See http://factorcode.org/license.txt for BSD license.
+
USING: accessors alien.c-types alien.data arrays circular colors
-colors.constants columns destructors fonts gpu.buffers
-gpu.render gpu.shaders gpu.state gpu.textures images kernel
-literals locals make math math.constants math.functions
-math.vectors sequences specialized-arrays typed ui.text fry ;
+columns destructors fonts gpu.buffers gpu.render gpu.shaders
+gpu.state gpu.textures images kernel literals locals make math
+math.constants math.functions math.vectors sequences
+specialized-arrays typed ui.text ;
+
FROM: alien.c-types => float ;
SPECIALIZED-ARRAYS: float uint ;
IN: game.debug
! Copyright (C) 2010 Erik Charlebois
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors.constants game.debug game.loop
-game.worlds gpu gpu.framebuffers gpu.util.wasd kernel literals
-locals make math math.matrices math.matrices.extras math.parser
-math.trig sequences specialized-arrays ui.gadgets.worlds
-ui.pixel-formats ;
+USING: accessors colors game.debug game.loop game.worlds gpu
+gpu.framebuffers gpu.util.wasd kernel literals locals make math
+math.matrices math.matrices.extras math.parser math.trig
+sequences specialized-arrays ui.gadgets.worlds ui.pixel-formats
+;
FROM: alien.c-types => float ;
SPECIALIZED-ARRAY: float
IN: game.debug.tests
-USING: accessors arrays assocs calendar colors.constants
-combinators game.input grouping kernel math math.parser
-math.vectors sequences threads timers ui ui.gadgets
-ui.gadgets.borders ui.gadgets.buttons ui.gadgets.labels
-ui.gadgets.packs ui.pens.polygon ui.pens.solid ;
+USING: accessors arrays assocs calendar colors combinators
+game.input grouping kernel math math.parser math.vectors
+sequences threads timers ui ui.gadgets ui.gadgets.borders
+ui.gadgets.buttons ui.gadgets.labels ui.gadgets.packs
+ui.pens.polygon ui.pens.solid ;
+
IN: game.input.demos.joysticks
CONSTANT: SIZE { 151 151 }
! Copyright (C) 2021 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: accessors ascii assocs colors.constants combinators
+USING: accessors ascii assocs colors combinators
combinators.short-circuit continuations images.loader
images.loader.private images.viewer io io.encodings.ascii
io.encodings.binary io.encodings.latin1 io.encodings.string
! Copyright (C) 2007, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors io kernel prettyprint colors.constants ui ui.gadgets
+USING: accessors io kernel prettyprint colors ui ui.gadgets
ui.gadgets.panes ui.gadgets.scrollers ui.gestures ui.pens.solid ;
IN: gesture-logger
! Copyright (C) 2010 Slava Pestov.
-USING: arrays accessors colors.constants euler.b-rep fry gml
+USING: arrays accessors colors euler.b-rep fry gml
gml.runtime gml.viewer gml.printer io.directories
io.encodings.utf8 io.files io.pathnames io.streams.string kernel
locals models namespaces sequences ui ui.gadgets
! Copyright (C) 2016 Alexander Ilin.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors.constants google.charts
-google.charts.private kernel math present sequences tools.test ;
+USING: accessors colors google.charts google.charts.private
+kernel math present sequences tools.test ;
! The order of the constructors below is important, because we
! are testing side-effects. If you remove the clone word from
! Copyright (C) 2011 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: accessors arrays assocs colors.hex combinators formatting
+USING: accessors arrays assocs combinators formatting
http.client images.http images.loader images.loader.private
images.viewer kernel math math.order present sequences splitting
urls ;
<PRIVATE
+: rgba>hex ( rgba -- hex )
+ [ red>> ] [ green>> ] [ blue>> ] tri
+ [ 255 * >integer ] tri@ "%02X%02X%02X" sprintf ;
+
: chart>url ( chart -- url )
[ URL" http://chart.googleapis.com/chart" clone ] dip {
[ type>> "cht" set-query-param ]
! See http://factorcode.org/license.txt for BSD license
USING: accessors arrays assocs assocs.extras classes.tuple
-colors.constants combinators formatting fry http.client io
-io.styles json.reader kernel sequences urls wrap.strings ;
+colors combinators formatting fry http.client io io.styles
+json.reader kernel sequences urls wrap.strings ;
IN: google.search
! Copyright (C) 2014 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: accessors byte-arrays calendar colors.constants
-combinators formatting fry images images.loader
-images.loader.private images.viewer io io.encodings.binary
-io.encodings.string io.encodings.utf8 io.sockets io.styles
-io.timeouts kernel make math math.parser namespaces present
-prettyprint sequences splitting summary urls urls.encoding
-vocabs ;
+USING: accessors byte-arrays calendar colors combinators
+formatting fry images images.loader images.loader.private
+images.viewer io io.encodings.binary io.encodings.string
+io.encodings.utf8 io.sockets io.styles io.timeouts kernel make
+math math.parser namespaces present prettyprint sequences
+splitting summary urls urls.encoding vocabs ;
IN: gopher
! See http://factorcode.org/license.txt for BSD license.
USING: accessors assocs calendar calendar.format
-calendar.holidays.us colors.constants colors.hex combinators
-concurrency.combinators formatting hashtables http.client io
-io.styles json.reader kernel make math sequences ui urls ;
+calendar.holidays.us colors combinators concurrency.combinators
+formatting hashtables http.client io io.styles json.reader
+kernel make math sequences ui urls ;
IN: hacker-news
-CONSTANT: christmas-red HEXCOLOR: bc2c21
-CONSTANT: christmas-green HEXCOLOR: 376627
+CONSTANT: christmas-red COLOR: #bc2c21
+CONSTANT: christmas-green COLOR: #376627
<PRIVATE
: hacker-news-ids ( endpoint -- ids )
christmas-day? [
odd? christmas-red christmas-green ?
] [
- drop HEXCOLOR: a0a0a0
+ drop COLOR: #a0a0a0
] if ;
: background-color ( -- color )
- christmas-day? HEXCOLOR: bc2c21 HEXCOLOR: ff6600 ? ;
+ christmas-day? COLOR: #bc2c21 COLOR: #ff6600 ? ;
: write-number ( n -- )
[ "%2d. " sprintf H{ } clone ] keep
: write-link ( title url -- )
'[
_ presented ,,
- HEXCOLOR: 888888 foreground ,,
+ COLOR: #888888 foreground ,,
] H{ } make format ;
: write-text ( str -- )
- H{ { foreground HEXCOLOR: 888888 } } format ;
+ H{ { foreground COLOR: #888888 } } format ;
: post>user-url ( post -- user-url )
"by" of "http://news.ycombinator.com/user?id=" prepend >url ;
! Copyright (C) 2012 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: colors.constants io.streams.256color
+USING: colors io.streams.256color
io.streams.256color.private tools.test ;
{ 16 } [ COLOR: black color>256color ] unit-test
! Copyright (C) 2007, 2008 Alex Chapman
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors.constants combinators jamshred.log
-jamshred.oint jamshred.sound jamshred.tunnel kernel locals math
-math.constants math.order ranges math.vectors math.matrices
-sequences shuffle specialized-arrays strings system ;
+
+USING: accessors colors combinators jamshred.log jamshred.oint
+jamshred.sound jamshred.tunnel kernel locals math math.constants
+math.order ranges math.vectors math.matrices sequences shuffle
+specialized-arrays strings system ;
+
QUALIFIED-WITH: alien.c-types c
SPECIALIZED-ARRAY: c:float
IN: jamshred.player
-USING: accessors arrays colors.constants file-picker fry
-io.directories kernel math.rectangles models sequences sets ui
-ui.gadgets ui.gadgets.buttons ui.gadgets.glass
-ui.gadgets.labeled ui.gadgets.labels ui.gadgets.tracks ;
+USING: accessors arrays colors file-picker fry io.directories
+kernel math.rectangles models sequences sets ui ui.gadgets
+ui.gadgets.buttons ui.gadgets.glass ui.gadgets.labeled
+ui.gadgets.labels ui.gadgets.tracks ;
IN: merger
MAIN-WINDOW: merger-window {
! Copyright (C) 2017 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: accessors arrays assocs calendar circular
-colors.constants combinators combinators.short-circuit
-combinators.smart destructors formatting fry images.loader
-kernel locals math math.order math.parser namespaces opengl
-opengl.textures random sequences timers ui ui.commands
-ui.gadgets ui.gadgets.toolbar ui.gadgets.tracks
-ui.gadgets.worlds ui.gestures ui.pens.solid ui.render
-ui.tools.browser words ;
+USING: accessors arrays assocs calendar circular colors
+combinators combinators.short-circuit combinators.smart
+destructors formatting fry images.loader kernel locals math
+math.order math.parser namespaces opengl opengl.textures random
+sequences timers ui ui.commands ui.gadgets ui.gadgets.toolbar
+ui.gadgets.tracks ui.gadgets.worlds ui.gestures ui.pens.solid
+ui.render ui.tools.browser words ;
IN: minesweeper
! Copyright (C) 2011-2012 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: accessors assocs colors.constants combinators fonts fry
-io io.styles kernel math math.order namespaces pdf.text pdf.wrap
+USING: accessors assocs colors combinators fonts fry io
+io.styles kernel math math.order namespaces pdf.text pdf.wrap
sequences ui.text ;
IN: pdf.canvas
-USING: accessors arrays calendar colors.constants
+USING: accessors arrays calendar colors
combinators.short-circuit fonts fry kernel literals locals math
math.order ranges math.vectors namespaces opengl random
sequences timers ui ui.commands ui.gadgets ui.gadgets.worlds
-USING: alien.c-types alien.data arrays colors.constants grouping
-kernel locals math math.vectors namespaces opengl opengl.demo-support
-opengl.gl opengl.glu sequences sequences.generalizations shuffle ;
+USING: alien.c-types alien.data arrays colors grouping kernel
+locals math math.vectors namespaces opengl opengl.demo-support
+opengl.gl opengl.glu sequences sequences.generalizations shuffle
+;
+
IN: processing.shapes
SYMBOL: fill-color
! Copyright (C) 2011 Erik Charlebois.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors assocs colors.constants combinators fry io kernel
+
+USING: accessors assocs colors combinators fry io kernel
listener readline sequences splitting threads tools.completion
unicode.data vocabs vocabs.hierarchy ;
+
IN: readline-listener
<PRIVATE
! Copyright (C) 2011-2012 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: accessors assocs calendar calendar.format
-colors.constants colors.hex combinators formatting fry
-http.client io io.styles json json.reader kernel make math
-sequences urls ;
+USING: accessors assocs calendar calendar.format colors
+combinators formatting fry http.client io io.styles json
+json.reader kernel make math sequences urls ;
IN: reddit
: write-link ( title url -- )
'[
_ presented ,,
- HEXCOLOR: 888888 foreground ,,
+ COLOR: #888888 foreground ,,
] H{ } make format ;
: write-text ( str -- )
- H{ { foreground HEXCOLOR: 888888 } } format ;
+ H{ { foreground COLOR: #888888 } } format ;
PRIVATE>
! Copyright (c) 2012 Anonymous
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays calendar colors.constants kernel
-locals math math.constants math.functions math.rectangles
-math.vectors opengl sequences system timers ui ui.gadgets ui.render ;
+
+USING: accessors arrays calendar colors kernel locals math
+math.constants math.functions math.rectangles math.vectors
+opengl sequences system timers ui ui.gadgets ui.render ;
+
IN: rosetta-code.animate-pendulum
! http://rosettacode.org/wiki/Animate_a_pendulum
! Copyright (C) 2013 Jon Harper.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors calendar circular colors.constants colors.hsv
+USING: accessors calendar circular colors colors.hsv
command-line continuations io kernel math math.parser namespaces
openal.example sequences system timers ui ui.gadgets
ui.pens.solid ;
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel prettyprint io io.styles colors.constants compiler.units
+USING: kernel prettyprint io io.styles colors compiler.units
fry debugger sequences locals.rewrite smalltalk.ast
smalltalk.eval smalltalk.printer smalltalk.listener splitting ;
IN: smalltalk.listener
<PRIVATE
-: (split*) ( seq quot: ( ... elt -- ... ? ) slice-quot -- pieces )
+: (split*) ( ... seq quot: ( ... elt -- ... ? ) slice-quot -- ... pieces )
[ 0 ] 3dip pick [
swap curry [ [ 1 + ] when ] prepose [ 2keep ] curry
[ 2dup = ] prepose [ [ 1 + ] when swap ] compose [
<PRIVATE
-:: (split-harvest) ( seq quot: ( ... elt -- ... ? ) slice-quot -- pieces )
+:: (split-harvest) ( ... seq quot: ( ... elt -- ... ? ) slice-quot -- ... pieces )
seq [ quot call not ] find drop [
[
[ seq quot find-from drop ] keep swap
-USING: accessors arrays colors colors.constants kernel tetris.board tetris.piece tools.test ;
+USING: accessors arrays colors kernel tetris.board tetris.piece tools.test ;
{ { { f f } { f f } { f f } } } [ 2 3 make-rows ] unit-test
{ { { f f } { f f } { f f } } } [ 2 3 <board> rows>> ] unit-test
! Copyright (C) 2006, 2007, 2008 Alex Chapman
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays colors colors.constants combinators
-kernel math opengl opengl.gl sequences tetris.game tetris.piece
-;
+
+USING: accessors arrays colors combinators kernel math opengl
+opengl.gl sequences tetris.game tetris.piece ;
IN: tetris.gl
! Copyright (C) 2006, 2007, 2008 Alex Chapman
! See http://factorcode.org/license.txt for BSD license.
+
USING: kernel arrays namespaces sequences math math.order
-math.vectors colors colors.constants random ;
+math.vectors colors random ;
+
IN: tetris.tetromino
TUPLE: tetromino states colour ;
-USING: accessors arrays calendar circular colors
-colors.constants fry kernel locals math math.order math.vectors
-namespaces opengl processing.shapes sequences timers ui
-ui.gadgets ui.gestures ui.render ;
+USING: accessors arrays calendar circular colors kernel locals
+math math.order math.vectors namespaces opengl processing.shapes
+sequences timers ui ui.gadgets ui.gestures ui.render ;
IN: trails
! Copyright (C) 2017 Alexander Ilin.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays colors.constants kernel locals math
+USING: accessors arrays colors kernel locals math
math.order opengl sequences ui.gadgets ui.gadgets.charts
ui.gadgets.charts.lines ui.gadgets.charts.utils ui.render ;
IN: ui.gadgets.charts.axes
! Copyright (C) 2017 Alexander Ilin.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays colors.constants kernel literals locals
+USING: accessors arrays colors kernel literals locals
math math.constants math.functions sequences ui ui.gadgets
ui.gadgets.charts ui.gadgets.charts.axes ui.gadgets.charts.lines
;
! Copyright (C) 2016-2017 Alexander Ilin.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs binary-search colors.constants
+USING: accessors arrays assocs binary-search colors
combinators combinators.short-circuit fry kernel locals make
math math.order math.statistics math.vectors opengl opengl.gl
sequences specialized-arrays splitting.monotonic ui.gadgets
namespaces grouping fry cap images.bitmap ui.gadgets ui.gadgets.packs
ui.gadgets.borders ui.gadgets.grids ui.gadgets.grid-lines
ui.gadgets.labels ui.gadgets.buttons ui.pens ui.pens.solid ui.render
-ui opengl opengl.gl colors.constants images images.loader ;
+ui opengl opengl.gl images images.loader ;
IN: ui.render.test
SINGLETON: line-test
! Copyright (C) 2012 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: accessors ascii assocs colors.constants formatting
-html.entities html.parser html.parser.analyzer html.parser.printer
-http.client io io.styles kernel namespaces sequences splitting urls
+USING: accessors ascii assocs colors formatting html.entities
+html.parser html.parser.analyzer html.parser.printer http.client
+io io.styles kernel namespaces sequences splitting urls
wrap.strings xml xml.data xml.traversal ;
FROM: xml.data => tag? ;
! Copyright (C) 2011 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: accessors colors.constants formatting http http.client
-images.gif images.http io io.styles kernel namespaces sequences
-splitting ui urls.encoding xml xml.data xml.traversal ;
+USING: accessors colors formatting http http.client images.gif
+images.http io io.styles kernel namespaces sequences splitting
+ui urls.encoding xml xml.data xml.traversal ;
IN: wolfram-alpha
-USING: accessors alien.c-types alien.syntax
-classes.struct colors.constants colors.hex kernel literals logging
-math ;
+USING: accessors alien.c-types alien.syntax classes.struct
+colors kernel literals logging math ;
IN: strange
! FUEL Syntax Demo
FUNCTION: int booyah ( int x )
FUNCTION-ALIAS: test int bah ( int* ah, int[] eh )
-HEXCOLOR: ffffff COLOR: green NAN: 1234 CHAR: m ALIEN: 93
+COLOR: #ffffff COLOR: green NAN: 1234 CHAR: m ALIEN: 93
2drop 2drop drop
PRIMITIVE: one ( a -- b )