From 21b9ae4b5f071978fb774779bf64f768a1d43f5a Mon Sep 17 00:00:00 2001 From: AlexKnauth Date: Sat, 19 Jan 2019 14:34:09 -0500 Subject: [PATCH 1/3] add section separator --- draw-lib/racket/draw/private/color.rkt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/draw-lib/racket/draw/private/color.rkt b/draw-lib/racket/draw/private/color.rkt index 6fa87b8..6fa59eb 100644 --- a/draw-lib/racket/draw/private/color.rkt +++ b/draw-lib/racket/draw/private/color.rkt @@ -127,6 +127,9 @@ (define the-color-database (new color-database%)) +;; ------------------------------------ +;; The Colors + (define colors #hash(("aliceblue" . #(240 248 255)) ("antiquewhite" . #(250 235 215)) From 180fc58223c17061ae162050ab654461be58c91f Mon Sep 17 00:00:00 2001 From: AlexKnauth Date: Sat, 19 Jan 2019 14:36:55 -0500 Subject: [PATCH 2/3] refator to use define-colors helper macro --- draw-lib/racket/draw/private/color.rkt | 430 ++++++++++++++----------- 1 file changed, 247 insertions(+), 183 deletions(-) diff --git a/draw-lib/racket/draw/private/color.rkt b/draw-lib/racket/draw/private/color.rkt index 6fa59eb..494fa0a 100644 --- a/draw-lib/racket/draw/private/color.rkt +++ b/draw-lib/racket/draw/private/color.rkt @@ -2,7 +2,11 @@ (require racket/class racket/contract/base (except-in "syntax.rkt" real-in integer-in) - "lock.rkt") + "lock.rkt" + (for-syntax racket/base + racket/local + racket/list + racket/match)) (provide color% make-color @@ -127,189 +131,249 @@ (define the-color-database (new color-database%)) + +;; ------------------------------------- + +;; (define-colors colors-id +;; entry +;; ...) +;; entry = [name-group rgb-vector] +;; name-group = string ; literal string +;; | id ; refer to a defined goup name +;; | (or name-group ...) +;; | (seq name-group ...) +;; rgb-vector = #(byte byte byte) +;; Simple example: +;; (define-colors colors +;; ["black" #(0 0 0)] +;; ["blue" #(0 0 255)] +;; [(seq "dark " (or "gray" "grey")) #(169 169 169)] + +(begin-for-syntax + (define (stx-e* v) + (cond [(syntax? v) + (define lst (syntax->list v)) + (cond [(pair? lst) (cons (syntax-e (car lst)) (cdr lst))] + [lst lst] + [else (syntax-e v)])] + [else v])) + + ;; NameGroup -> [Listof StxString] + (define (name-group->list ng) + (match (stx-e* ng) + [(? symbol?) (name-group->list (syntax-local-value ng))] + [(? string? s) (list s)] + [`(or) (list)] + [`(or ,ng) (name-group->list ng)] + [`(or ,ng ...) (append-map name-group->list ng)] + [`(seq) (list "")] + [`(seq ,ng) (name-group->list ng)] + [`(seq ,fst ,rst ...) + (for*/list ([fst-name (in-list (name-group->list fst))] + [rst-name (in-list (name-group->list `(seq ,@rst)))]) + (string-append fst-name rst-name))]))) + +(define-syntax define-colors + (lambda (stx) + (syntax-case stx [] + [(_ colors-id entry ...) + (local [;; Entry [Hashof String RgbVector] -> [Hashof String RgbVector] + (define (add-entry ent hsh) + (syntax-case ent [] + [[name-group rgb-vector] + (for/fold ([hsh hsh]) + ([name (in-list (name-group->list #'name-group))]) + (hash-set hsh name #'rgb-vector))])) + ;; Entries -> [Hashof String RgbVector] + (define (entries->hash ents) + (foldl add-entry (hash) (syntax->list ents)))] + + #`(define colors-id + '#,(entries->hash #'(entry ...))))]))) + ;; ------------------------------------ ;; The Colors -(define colors - #hash(("aliceblue" . #(240 248 255)) - ("antiquewhite" . #(250 235 215)) - ("aqua" . #(0 255 255)) - ("azure" . #(240 255 255)) - ("beige" . #(245 245 220)) - ("bisque" . #(255 228 196)) - ("blanchedalmond" . #(255 235 205)) - ("blueviolet" . #(138 43 226)) - ("burlywood" . #(222 184 135)) - ("cadetblue" . #(95 158 160)) - ("chartreuse" . #(127 255 0)) - ("chocolate" . #(210 105 30)) - ("cornflowerblue" . #(100 149 237)) - ("cornsilk" . #(255 248 220)) - ("crimson" . #(220 20 60)) - ("darkblue" . #(0 0 139)) - ("darkcyan" . #(0 139 139)) - ("darkgoldenrod" . #(184 134 11)) - ("darkgray" . #(169 169 169)) - ("darkgreen" . #(0 100 0)) - ("darkkhaki" . #(189 183 107)) - ("darkmagenta" . #(139 0 139)) - ("darkolivegreen" . #(85 107 47)) - ("darkorange" . #(255 140 0)) - ("darkorchid" . #(153 50 204)) - ("darkred" . #(139 0 0)) - ("darksalmon" . #(233 150 122)) - ("darkseagreen" . #(143 188 139)) - ("darkslateblue" . #(72 61 139)) - ("darkslategray" . #(47 79 79)) - ("darkturquoise" . #(0 206 209)) - ("darkviolet" . #(148 0 211)) - ("deeppink" . #(255 20 147)) - ("deepskyblue" . #(0 191 255)) - ("dimgray" . #(105 105 105)) - ("dodgerblue" . #(30 144 255)) - ("floralwhite" . #(255 250 240)) - ("forestgreen" . #(34 139 34)) - ("fuchsia" . #(255 0 255)) - ("gainsboro" . #(220 220 220)) - ("ghostwhite" . #(248 248 255)) - ("greenyellow" . #(173 255 47)) - ("honeydew" . #(240 255 240)) - ("hotpink" . #(255 105 180)) - ("indianred" . #(205 92 92)) - ("indigo" . #(75 0 130)) - ("ivory" . #(255 255 240)) - ("lavender" . #(230 230 250)) - ("lavenderblush" . #(255 240 245)) - ("lawngreen" . #(124 252 0)) - ("lemonchiffon" . #(255 250 205)) - ("lightblue" . #(173 216 230)) - ("lightcoral" . #(240 128 128)) - ("lightcyan" . #(224 255 255)) - ("lightgoldenrodyellow" . #(250 250 210)) - ("lightgreen" . #(144 238 144)) - ("lightgray" . #(211 211 211)) - ("lightpink" . #(255 182 193)) - ("lightsalmon" . #(255 160 122)) - ("lightseagreen" . #(32 178 170)) - ("lightskyblue" . #(135 206 250)) - ("lightslategray" . #(119 136 153)) - ("lightsteelblue" . #(176 196 222)) - ("lightyellow" . #(255 255 224)) - ("lime" . #(0 255 0)) - ("limegreen" . #(50 205 50)) - ("linen" . #(250 240 230)) - ("mediumaquamarine" . #(102 205 170)) - ("mediumblue" . #(0 0 205)) - ("mediumorchid" . #(186 85 211)) - ("mediumpurple" . #(147 112 219)) - ("mediumseagreen" . #(60 179 113)) - ("mediumslateblue" . #(123 104 238)) - ("mediumspringgreen" . #(0 250 154)) - ("mediumturquoise" . #(72 209 204)) - ("mediumvioletred" . #(199 21 133)) - ("midnightblue" . #(25 25 112)) - ("mintcream" . #(245 255 250)) - ("mistyrose" . #(255 228 225)) - ("moccasin" . #(255 228 181)) - ("navajowhite" . #(255 222 173)) - ("oldlace" . #(253 245 230)) - ("olive" . #(128 128 0)) - ("olivedrab" . #(107 142 35)) - ("orangered" . #(255 69 0)) - ("palegoldenrod" . #(238 232 170)) - ("palegreen" . #(152 251 152)) - ("paleturquoise" . #(175 238 238)) - ("palevioletred" . #(219 112 147)) - ("papayawhip" . #(255 239 213)) - ("peachpuff" . #(255 218 185)) - ("peru" . #(205 133 63)) - ("powderblue" . #(176 224 230)) - ("rosybrown" . #(188 143 143)) - ("royalblue" . #(65 105 225)) - ("saddlebrown" . #(139 69 19)) - ("sandybrown" . #(244 164 96)) - ("seagreen" . #(46 139 87)) - ("seashell" . #(255 245 238)) - ("silver" . #(192 192 192)) - ("skyblue" . #(135 206 235)) - ("slateblue" . #(106 90 205)) - ("slategray" . #(112 128 144)) - ("snow" . #(255 250 250)) - ("springgreen" . #(0 255 127)) - ("steelblue" . #(70 130 180)) - ("teal" . #(0 128 128)) - ("tomato" . #(255 99 71)) - ("whitesmoke" . #(245 245 245)) - ("yellowgreen" . #(154 205 50)) +(define-colors colors + ["aliceblue" #(240 248 255)] + ["antiquewhite" #(250 235 215)] + ["aqua" #(0 255 255)] + ["azure" #(240 255 255)] + ["beige" #(245 245 220)] + ["bisque" #(255 228 196)] + ["blanchedalmond" #(255 235 205)] + ["blueviolet" #(138 43 226)] + ["burlywood" #(222 184 135)] + ["cadetblue" #(95 158 160)] + ["chartreuse" #(127 255 0)] + ["chocolate" #(210 105 30)] + ["cornflowerblue" #(100 149 237)] + ["cornsilk" #(255 248 220)] + ["crimson" #(220 20 60)] + ["darkblue" #(0 0 139)] + ["darkcyan" #(0 139 139)] + ["darkgoldenrod" #(184 134 11)] + ["darkgray" #(169 169 169)] + ["darkgreen" #(0 100 0)] + ["darkkhaki" #(189 183 107)] + ["darkmagenta" #(139 0 139)] + ["darkolivegreen" #(85 107 47)] + ["darkorange" #(255 140 0)] + ["darkorchid" #(153 50 204)] + ["darkred" #(139 0 0)] + ["darksalmon" #(233 150 122)] + ["darkseagreen" #(143 188 139)] + ["darkslateblue" #(72 61 139)] + ["darkslategray" #(47 79 79)] + ["darkturquoise" #(0 206 209)] + ["darkviolet" #(148 0 211)] + ["deeppink" #(255 20 147)] + ["deepskyblue" #(0 191 255)] + ["dimgray" #(105 105 105)] + ["dodgerblue" #(30 144 255)] + ["floralwhite" #(255 250 240)] + ["forestgreen" #(34 139 34)] + ["fuchsia" #(255 0 255)] + ["gainsboro" #(220 220 220)] + ["ghostwhite" #(248 248 255)] + ["greenyellow" #(173 255 47)] + ["honeydew" #(240 255 240)] + ["hotpink" #(255 105 180)] + ["indianred" #(205 92 92)] + ["indigo" #(75 0 130)] + ["ivory" #(255 255 240)] + ["lavender" #(230 230 250)] + ["lavenderblush" #(255 240 245)] + ["lawngreen" #(124 252 0)] + ["lemonchiffon" #(255 250 205)] + ["lightblue" #(173 216 230)] + ["lightcoral" #(240 128 128)] + ["lightcyan" #(224 255 255)] + ["lightgoldenrodyellow" #(250 250 210)] + ["lightgreen" #(144 238 144)] + ["lightgray" #(211 211 211)] + ["lightpink" #(255 182 193)] + ["lightsalmon" #(255 160 122)] + ["lightseagreen" #(32 178 170)] + ["lightskyblue" #(135 206 250)] + ["lightslategray" #(119 136 153)] + ["lightsteelblue" #(176 196 222)] + ["lightyellow" #(255 255 224)] + ["lime" #(0 255 0)] + ["limegreen" #(50 205 50)] + ["linen" #(250 240 230)] + ["mediumaquamarine" #(102 205 170)] + ["mediumblue" #(0 0 205)] + ["mediumorchid" #(186 85 211)] + ["mediumpurple" #(147 112 219)] + ["mediumseagreen" #(60 179 113)] + ["mediumslateblue" #(123 104 238)] + ["mediumspringgreen" #(0 250 154)] + ["mediumturquoise" #(72 209 204)] + ["mediumvioletred" #(199 21 133)] + ["midnightblue" #(25 25 112)] + ["mintcream" #(245 255 250)] + ["mistyrose" #(255 228 225)] + ["moccasin" #(255 228 181)] + ["navajowhite" #(255 222 173)] + ["oldlace" #(253 245 230)] + ["olive" #(128 128 0)] + ["olivedrab" #(107 142 35)] + ["orangered" #(255 69 0)] + ["palegoldenrod" #(238 232 170)] + ["palegreen" #(152 251 152)] + ["paleturquoise" #(175 238 238)] + ["palevioletred" #(219 112 147)] + ["papayawhip" #(255 239 213)] + ["peachpuff" #(255 218 185)] + ["peru" #(205 133 63)] + ["powderblue" #(176 224 230)] + ["rosybrown" #(188 143 143)] + ["royalblue" #(65 105 225)] + ["saddlebrown" #(139 69 19)] + ["sandybrown" #(244 164 96)] + ["seagreen" #(46 139 87)] + ["seashell" #(255 245 238)] + ["silver" #(192 192 192)] + ["skyblue" #(135 206 235)] + ["slateblue" #(106 90 205)] + ["slategray" #(112 128 144)] + ["snow" #(255 250 250)] + ["springgreen" #(0 255 127)] + ["steelblue" #(70 130 180)] + ["teal" #(0 128 128)] + ["tomato" #(255 99 71)] + ["whitesmoke" #(245 245 245)] + ["yellowgreen" #(154 205 50)] - ("aquamarine" . #(112 216 144)) - ("black" . #(0 0 0)) - ("blue" . #(0 0 255)) - ("blue violet" . #(138 43 226)) - ("brown" . #(132 60 36)) - ("cadet blue" . #(96 160 160)) - ("coral" . #(255 127 80)) - ("cornflower blue" . #(68 64 108)) - ("cyan" . #(0 255 255)) - ("dark gray" . #(169 169 169)) - ("dark green" . #(0 100 0)) - ("dark olive green" . #(85 107 47)) - ("dark orchid" . #(153 50 204)) - ("dark slate blue" . #(72 61 139)) - ("dark slate gray" . #(47 79 79)) - ("dark turquoise" . #(0 206 209)) - ("dim gray" . #(105 105 105)) - ("firebrick" . #(178 34 34)) - ("forest green" . #(34 139 34)) - ("gold" . #(255 215 0)) - ("goldenrod" . #(218 165 32)) - ("gray" . #(190 190 190)) - ("green" . #(0 255 0)) - ("green yellow" . #(173 255 47)) - ("indian red" . #(205 92 92)) - ("khaki" . #(240 230 140)) - ("light blue" . #(173 216 230)) - ("light gray" . #(211 211 211)) - ("light steel blue" . #(176 196 222)) - ("lime green" . #(50 205 50)) - ("magenta" . #(255 0 255)) - ("maroon" . #(176 48 96)) - ("medium aquamarine" . #(102 205 170)) - ("medium blue" . #(0 0 205)) - ("medium forest green" . #(107 142 35)) - ("mediumforestgreen" . #(107 142 35)) - ("medium goldenrod" . #(234 234 173)) - ("mediumgoldenrod" . #(234 234 173)) - ("medium orchid" . #(186 85 211)) - ("medium sea green" . #(60 179 113)) - ("medium slate blue" . #(123 104 238)) - ("medium spring green" . #(0 250 154)) - ("medium turquoise" . #(72 209 204)) - ("medium violet red" . #(199 21 133)) - ("midnight blue" . #(25 25 112)) - ("navy" . #(36 36 140)) - ("orange" . #(255 165 0)) - ("orange red" . #(255 69 0)) - ("orchid" . #(218 112 214)) - ("pale green" . #(152 251 152)) - ("pink" . #(255 192 203)) - ("plum" . #(221 160 221)) - ("purple" . #(160 32 240)) - ("red" . #(255 0 0)) - ("salmon" . #(250 128 114)) - ("sea green" . #(46 139 87)) - ("sienna" . #(160 82 45)) - ("sky blue" . #(135 206 235)) - ("slate blue" . #(106 90 205)) - ("spring green" . #(0 255 127)) - ("steel blue" . #(70 130 180)) - ("tan" . #(210 180 140)) - ("thistle" . #(216 191 216)) - ("turquoise" . #(64 224 208)) - ("violet" . #(238 130 238)) - ("violet red" . #(208 32 144)) - ("violetred" . #(208 32 144)) - ("wheat" . #(245 222 179)) - ("white" . #(255 255 255)) - ("yellow" . #(255 255 0)) - ("yellow green" . #(154 205 50)))) + ["aquamarine" #(112 216 144)] + ["black" #(0 0 0)] + ["blue" #(0 0 255)] + ["blue violet" #(138 43 226)] + ["brown" #(132 60 36)] + ["cadet blue" #(96 160 160)] + ["coral" #(255 127 80)] + ["cornflower blue" #(68 64 108)] + ["cyan" #(0 255 255)] + ["dark gray" #(169 169 169)] + ["dark green" #(0 100 0)] + ["dark olive green" #(85 107 47)] + ["dark orchid" #(153 50 204)] + ["dark slate blue" #(72 61 139)] + ["dark slate gray" #(47 79 79)] + ["dark turquoise" #(0 206 209)] + ["dim gray" #(105 105 105)] + ["firebrick" #(178 34 34)] + ["forest green" #(34 139 34)] + ["gold" #(255 215 0)] + ["goldenrod" #(218 165 32)] + ["gray" #(190 190 190)] + ["green" #(0 255 0)] + ["green yellow" #(173 255 47)] + ["indian red" #(205 92 92)] + ["khaki" #(240 230 140)] + ["light blue" #(173 216 230)] + ["light gray" #(211 211 211)] + ["light steel blue" #(176 196 222)] + ["lime green" #(50 205 50)] + ["magenta" #(255 0 255)] + ["maroon" #(176 48 96)] + ["medium aquamarine" #(102 205 170)] + ["medium blue" #(0 0 205)] + ["medium forest green" #(107 142 35)] + ["mediumforestgreen" #(107 142 35)] + ["medium goldenrod" #(234 234 173)] + ["mediumgoldenrod" #(234 234 173)] + ["medium orchid" #(186 85 211)] + ["medium sea green" #(60 179 113)] + ["medium slate blue" #(123 104 238)] + ["medium spring green" #(0 250 154)] + ["medium turquoise" #(72 209 204)] + ["medium violet red" #(199 21 133)] + ["midnight blue" #(25 25 112)] + ["navy" #(36 36 140)] + ["orange" #(255 165 0)] + ["orange red" #(255 69 0)] + ["orchid" #(218 112 214)] + ["pale green" #(152 251 152)] + ["pink" #(255 192 203)] + ["plum" #(221 160 221)] + ["purple" #(160 32 240)] + ["red" #(255 0 0)] + ["salmon" #(250 128 114)] + ["sea green" #(46 139 87)] + ["sienna" #(160 82 45)] + ["sky blue" #(135 206 235)] + ["slate blue" #(106 90 205)] + ["spring green" #(0 255 127)] + ["steel blue" #(70 130 180)] + ["tan" #(210 180 140)] + ["thistle" #(216 191 216)] + ["turquoise" #(64 224 208)] + ["violet" #(238 130 238)] + ["violet red" #(208 32 144)] + ["violetred" #(208 32 144)] + ["wheat" #(245 222 179)] + ["white" #(255 255 255)] + ["yellow" #(255 255 0)] + ["yellow green" #(154 205 50)]) From 099c75e7ea5085f5abb00e53df65a528f9d19188 Mon Sep 17 00:00:00 2001 From: AlexKnauth Date: Sat, 19 Jan 2019 18:51:52 -0500 Subject: [PATCH 3/3] use name-groups to merge variations of spaces and alt-spellings together --- draw-lib/racket/draw/private/color.rkt | 187 +++++++++++-------------- 1 file changed, 84 insertions(+), 103 deletions(-) diff --git a/draw-lib/racket/draw/private/color.rkt b/draw-lib/racket/draw/private/color.rkt index 494fa0a..3204b8d 100644 --- a/draw-lib/racket/draw/private/color.rkt +++ b/draw-lib/racket/draw/private/color.rkt @@ -149,6 +149,12 @@ ;; ["blue" #(0 0 255)] ;; [(seq "dark " (or "gray" "grey")) #(169 169 169)] +;; Predefined name-groups: +;; gray, both spellings +(define-syntax gray '(or "gray" "grey")) +;; maybe-space +(define-syntax msp '(or " " "")) + (begin-for-syntax (define (stx-e* v) (cond [(syntax? v) @@ -202,76 +208,90 @@ ["beige" #(245 245 220)] ["bisque" #(255 228 196)] ["blanchedalmond" #(255 235 205)] - ["blueviolet" #(138 43 226)] + [(seq "blue" msp "violet") #(138 43 226)] ["burlywood" #(222 184 135)] + ; TODO: are these two versions of cadet blue supposed to be different? ["cadetblue" #(95 158 160)] + ["cadet blue" #(96 160 160)] ["chartreuse" #(127 255 0)] ["chocolate" #(210 105 30)] ["cornflowerblue" #(100 149 237)] + ; TODO: is this 68 64 108 version of cornflower blue a mistake? + ["cornflower blue" #(68 64 108)] ["cornsilk" #(255 248 220)] ["crimson" #(220 20 60)] - ["darkblue" #(0 0 139)] - ["darkcyan" #(0 139 139)] - ["darkgoldenrod" #(184 134 11)] - ["darkgray" #(169 169 169)] - ["darkgreen" #(0 100 0)] - ["darkkhaki" #(189 183 107)] - ["darkmagenta" #(139 0 139)] - ["darkolivegreen" #(85 107 47)] - ["darkorange" #(255 140 0)] - ["darkorchid" #(153 50 204)] - ["darkred" #(139 0 0)] - ["darksalmon" #(233 150 122)] - ["darkseagreen" #(143 188 139)] - ["darkslateblue" #(72 61 139)] - ["darkslategray" #(47 79 79)] - ["darkturquoise" #(0 206 209)] - ["darkviolet" #(148 0 211)] - ["deeppink" #(255 20 147)] - ["deepskyblue" #(0 191 255)] - ["dimgray" #(105 105 105)] + + [(seq "dark" msp "blue") #(0 0 139)] + [(seq "dark" msp "cyan") #(0 139 139)] + [(seq "dark" msp "goldenrod") #(184 134 11)] + [(seq "dark" msp gray) #(169 169 169)] + [(seq "dark" msp "green") #(0 100 0)] + [(seq "dark" msp "khaki") #(189 183 107)] + [(seq "dark" msp "magenta") #(139 0 139)] + [(seq "dark" msp "olive" msp "green") #(85 107 47)] + [(seq "dark" msp "orange") #(255 140 0)] + [(seq "dark" msp "orchid") #(153 50 204)] + [(seq "dark" msp "red") #(139 0 0)] + [(seq "dark" msp "salmon") #(233 150 122)] + [(seq "dark" msp "sea" msp "green") #(143 188 139)] + [(seq "dark" msp "slate" msp "blue") #(72 61 139)] + [(seq "dark" msp "slate" msp gray) #(47 79 79)] + [(seq "dark" msp "turquoise") #(0 206 209)] + [(seq "dark" msp "violet") #(148 0 211)] + + [(seq "deep" msp "pink") #(255 20 147)] + [(seq "deep" msp "sky" msp "blue") #(0 191 255)] + + [(seq "dim" msp gray) #(105 105 105)] + ["dodgerblue" #(30 144 255)] ["floralwhite" #(255 250 240)] - ["forestgreen" #(34 139 34)] + [(seq "forest" msp "green") #(34 139 34)] ["fuchsia" #(255 0 255)] ["gainsboro" #(220 220 220)] ["ghostwhite" #(248 248 255)] - ["greenyellow" #(173 255 47)] + [(seq "green" msp "yellow") #(173 255 47)] ["honeydew" #(240 255 240)] ["hotpink" #(255 105 180)] - ["indianred" #(205 92 92)] + [(seq "indian" msp "red") #(205 92 92)] ["indigo" #(75 0 130)] ["ivory" #(255 255 240)] ["lavender" #(230 230 250)] ["lavenderblush" #(255 240 245)] ["lawngreen" #(124 252 0)] ["lemonchiffon" #(255 250 205)] - ["lightblue" #(173 216 230)] - ["lightcoral" #(240 128 128)] - ["lightcyan" #(224 255 255)] - ["lightgoldenrodyellow" #(250 250 210)] - ["lightgreen" #(144 238 144)] - ["lightgray" #(211 211 211)] - ["lightpink" #(255 182 193)] - ["lightsalmon" #(255 160 122)] - ["lightseagreen" #(32 178 170)] - ["lightskyblue" #(135 206 250)] - ["lightslategray" #(119 136 153)] - ["lightsteelblue" #(176 196 222)] - ["lightyellow" #(255 255 224)] + + [(seq "light" msp "blue") #(173 216 230)] + [(seq "light" msp "coral") #(240 128 128)] + [(seq "light" msp "cyan") #(224 255 255)] + [(seq "light" msp "goldenrod" msp "yellow") #(250 250 210)] + [(seq "light" msp "green") #(144 238 144)] + [(seq "light" msp gray) #(211 211 211)] + [(seq "light" msp "pink") #(255 182 193)] + [(seq "light" msp "salmon") #(255 160 122)] + [(seq "light" msp "sea" msp "green") #(32 178 170)] + [(seq "light" msp "sky" msp "blue") #(135 206 250)] + [(seq "light" msp "slate" msp gray) #(119 136 153)] + [(seq "light" msp "steel" msp "blue") #(176 196 222)] + [(seq "light" msp "yellow") #(255 255 224)] + ["lime" #(0 255 0)] - ["limegreen" #(50 205 50)] + [(seq "lime" msp "green") #(50 205 50)] ["linen" #(250 240 230)] - ["mediumaquamarine" #(102 205 170)] - ["mediumblue" #(0 0 205)] - ["mediumorchid" #(186 85 211)] - ["mediumpurple" #(147 112 219)] - ["mediumseagreen" #(60 179 113)] - ["mediumslateblue" #(123 104 238)] - ["mediumspringgreen" #(0 250 154)] - ["mediumturquoise" #(72 209 204)] - ["mediumvioletred" #(199 21 133)] - ["midnightblue" #(25 25 112)] + + [(seq "medium" msp "aquamarine") #(102 205 170)] + [(seq "medium" msp "blue") #(0 0 205)] + [(seq "medium" msp "forest" msp "green") #(107 142 35)] + [(seq "medium" msp "goldenrod") #(234 234 173)] + [(seq "medium" msp "orchid") #(186 85 211)] + [(seq "medium" msp "purple") #(147 112 219)] + [(seq "medium" msp "sea" msp "green") #(60 179 113)] + [(seq "medium" msp "slate" msp "blue") #(123 104 238)] + [(seq "medium" msp "spring" msp "green") #(0 250 154)] + [(seq "medium" msp "turquoise") #(72 209 204)] + [(seq "medium" msp "violet" msp "red") #(199 21 133)] + [(seq "midnight" msp "blue") #(25 25 112)] + ["mintcream" #(245 255 250)] ["mistyrose" #(255 228 225)] ["moccasin" #(255 228 181)] @@ -279,11 +299,11 @@ ["oldlace" #(253 245 230)] ["olive" #(128 128 0)] ["olivedrab" #(107 142 35)] - ["orangered" #(255 69 0)] - ["palegoldenrod" #(238 232 170)] - ["palegreen" #(152 251 152)] - ["paleturquoise" #(175 238 238)] - ["palevioletred" #(219 112 147)] + [(seq "orange" msp "red") #(255 69 0)] + [(seq "pale" msp "goldenrod") #(238 232 170)] + [(seq "pale" msp "green") #(152 251 152)] + [(seq "pale" msp "turquoise") #(175 238 238)] + [(seq "pale" msp "violet" msp "red") #(219 112 147)] ["papayawhip" #(255 239 213)] ["peachpuff" #(255 218 185)] ["peru" #(205 133 63)] @@ -292,88 +312,49 @@ ["royalblue" #(65 105 225)] ["saddlebrown" #(139 69 19)] ["sandybrown" #(244 164 96)] - ["seagreen" #(46 139 87)] + [(seq "sea" msp "green") #(46 139 87)] ["seashell" #(255 245 238)] ["silver" #(192 192 192)] - ["skyblue" #(135 206 235)] - ["slateblue" #(106 90 205)] - ["slategray" #(112 128 144)] + [(seq "sky" msp "blue") #(135 206 235)] + + [(seq "slate" msp "blue") #(106 90 205)] + [(seq "slate" msp gray) #(112 128 144)] ["snow" #(255 250 250)] - ["springgreen" #(0 255 127)] - ["steelblue" #(70 130 180)] + [(seq "spring" msp "green") #(0 255 127)] + [(seq "steel" msp "blue") #(70 130 180)] ["teal" #(0 128 128)] ["tomato" #(255 99 71)] ["whitesmoke" #(245 245 245)] - ["yellowgreen" #(154 205 50)] + [(seq "yellow" msp "green") #(154 205 50)] ["aquamarine" #(112 216 144)] ["black" #(0 0 0)] ["blue" #(0 0 255)] - ["blue violet" #(138 43 226)] ["brown" #(132 60 36)] - ["cadet blue" #(96 160 160)] ["coral" #(255 127 80)] - ["cornflower blue" #(68 64 108)] ["cyan" #(0 255 255)] - ["dark gray" #(169 169 169)] - ["dark green" #(0 100 0)] - ["dark olive green" #(85 107 47)] - ["dark orchid" #(153 50 204)] - ["dark slate blue" #(72 61 139)] - ["dark slate gray" #(47 79 79)] - ["dark turquoise" #(0 206 209)] - ["dim gray" #(105 105 105)] ["firebrick" #(178 34 34)] - ["forest green" #(34 139 34)] ["gold" #(255 215 0)] ["goldenrod" #(218 165 32)] - ["gray" #(190 190 190)] + [gray #(190 190 190)] ["green" #(0 255 0)] - ["green yellow" #(173 255 47)] - ["indian red" #(205 92 92)] ["khaki" #(240 230 140)] - ["light blue" #(173 216 230)] - ["light gray" #(211 211 211)] - ["light steel blue" #(176 196 222)] - ["lime green" #(50 205 50)] ["magenta" #(255 0 255)] ["maroon" #(176 48 96)] - ["medium aquamarine" #(102 205 170)] - ["medium blue" #(0 0 205)] - ["medium forest green" #(107 142 35)] - ["mediumforestgreen" #(107 142 35)] - ["medium goldenrod" #(234 234 173)] - ["mediumgoldenrod" #(234 234 173)] - ["medium orchid" #(186 85 211)] - ["medium sea green" #(60 179 113)] - ["medium slate blue" #(123 104 238)] - ["medium spring green" #(0 250 154)] - ["medium turquoise" #(72 209 204)] - ["medium violet red" #(199 21 133)] - ["midnight blue" #(25 25 112)] ["navy" #(36 36 140)] ["orange" #(255 165 0)] - ["orange red" #(255 69 0)] ["orchid" #(218 112 214)] - ["pale green" #(152 251 152)] ["pink" #(255 192 203)] ["plum" #(221 160 221)] ["purple" #(160 32 240)] ["red" #(255 0 0)] ["salmon" #(250 128 114)] - ["sea green" #(46 139 87)] ["sienna" #(160 82 45)] - ["sky blue" #(135 206 235)] - ["slate blue" #(106 90 205)] - ["spring green" #(0 255 127)] - ["steel blue" #(70 130 180)] ["tan" #(210 180 140)] ["thistle" #(216 191 216)] ["turquoise" #(64 224 208)] ["violet" #(238 130 238)] - ["violet red" #(208 32 144)] - ["violetred" #(208 32 144)] + [(seq "violet" msp "red") #(208 32 144)] ["wheat" #(245 222 179)] ["white" #(255 255 255)] - ["yellow" #(255 255 0)] - ["yellow green" #(154 205 50)]) + ["yellow" #(255 255 0)])