-- | SVG colours module Data.CG.Minus.Colour.SVG where import qualified Data.Colour as C {- colour -} import qualified Data.Colour.Names as N {- colour -} import qualified Data.Colour.SRGB as C {- colour -} import Data.Functor.Identity {- base -} -- | Type specialised 'N.readColourName'. svg_name_to_colour :: String -> C.Colour Double svg_name_to_colour = runIdentity . N.readColourName -- | The named colours of the @SVG@ specification, alphabetical order. -- -- -- > length svg_colour_data == 147 svg_colour_data :: Num n => [(String,n,n,n)] svg_colour_data = [("aliceblue", 240, 248, 255) ,("antiquewhite", 250, 235, 215) ,("aqua", 0, 255, 255) ,("aquamarine", 127, 255, 212) ,("azure", 240, 255, 255) ,("beige", 245, 245, 220) ,("bisque", 255, 228, 196) ,("black", 0, 0, 0) ,("blanchedalmond", 255, 235, 205) ,("blue", 0, 0, 255) ,("blueviolet", 138, 43, 226) ,("brown", 165, 42, 42) ,("burlywood", 222, 184, 135) ,("cadetblue", 95, 158, 160) ,("chartreuse", 127, 255, 0) ,("chocolate", 210, 105, 30) ,("coral", 255, 127, 80) ,("cornflowerblue", 100, 149, 237) ,("cornsilk", 255, 248, 220) ,("crimson", 220, 20, 60) ,("cyan", 0, 255, 255) ,("darkblue", 0, 0, 139) ,("darkcyan", 0, 139, 139) ,("darkgoldenrod", 184, 134, 11) ,("darkgray", 169, 169, 169) ,("darkgreen", 0, 100, 0) ,("darkgrey", 169, 169, 169) ,("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, 143) ,("darkslateblue", 72, 61, 139) ,("darkslategray", 47, 79, 79) ,("darkslategrey", 47, 79, 79) ,("darkturquoise", 0, 206, 209) ,("darkviolet", 148, 0, 211) ,("deeppink", 255, 20, 147) ,("deepskyblue", 0, 191, 255) ,("dimgray", 105, 105, 105) ,("dimgrey", 105, 105, 105) ,("dodgerblue", 30, 144, 255) ,("firebrick", 178, 34, 34) ,("floralwhite", 255, 250, 240) ,("forestgreen", 34, 139, 34) ,("fuchsia", 255, 0, 255) ,("gainsboro", 220, 220, 220) ,("ghostwhite", 248, 248, 255) ,("gold", 255, 215, 0) ,("goldenrod", 218, 165, 32) ,("gray", 128, 128, 128) ,("grey", 128, 128, 128) ,("green", 0, 128, 0) ,("greenyellow", 173, 255, 47) ,("honeydew", 240, 255, 240) ,("hotpink", 255, 105, 180) ,("indianred", 205, 92, 92) ,("indigo", 75, 0, 130) ,("ivory", 255, 255, 240) ,("khaki", 240, 230, 140) ,("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) ,("lightgray", 211, 211, 211) ,("lightgreen", 144, 238, 144) ,("lightgrey", 211, 211, 211) ,("lightpink", 255, 182, 193) ,("lightsalmon", 255, 160, 122) ,("lightseagreen", 32, 178, 170) ,("lightskyblue", 135, 206, 250) ,("lightslategray", 119, 136, 153) ,("lightslategrey", 119, 136, 153) ,("lightsteelblue", 176, 196, 222) ,("lightyellow", 255, 255, 224) ,("lime", 0, 255, 0) ,("limegreen", 50, 205, 50) ,("linen", 250, 240, 230) ,("magenta", 255, 0, 255) ,("maroon", 128, 0, 0) ,("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) ,("navy", 0, 0, 128) ,("oldlace", 253, 245, 230) ,("olive", 128, 128, 0) ,("olivedrab", 107, 142, 35) ,("orange", 255, 165, 0) ,("orangered", 255, 69, 0) ,("orchid", 218, 112, 214) ,("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) ,("pink", 255, 192, 203) ,("plum", 221, 160, 221) ,("powderblue", 176, 224, 230) ,("purple", 128, 0, 128) ,("red", 255, 0, 0) ,("rosybrown", 188, 143, 143) ,("royalblue", 65, 105, 225) ,("saddlebrown", 139, 69, 19) ,("salmon", 250, 128, 114) ,("sandybrown", 244, 164, 96) ,("seagreen", 46, 139, 87) ,("seashell", 255, 245, 238) ,("sienna", 160, 82, 45) ,("silver", 192, 192, 192) ,("skyblue", 135, 206, 235) ,("slateblue", 106, 90, 205) ,("slategray", 112, 128, 144) ,("slategrey", 112, 128, 144) ,("snow", 255, 250, 250) ,("springgreen", 0, 255, 127) ,("steelblue", 70, 130, 180) ,("tan", 210, 180, 140) ,("teal", 0, 128, 128) ,("thistle", 216, 191, 216) ,("tomato", 255, 99, 71) ,("turquoise", 64, 224, 208) ,("violet", 238, 130, 238) ,("wheat", 245, 222, 179) ,("white", 255, 255, 255) ,("whitesmoke", 245, 245, 245) ,("yellow", 255, 255, 0) ,("yellowgreen", 154, 205, 50) ] -- | More useful form of 'svg_colour_data'. svg_color_tbl :: [(String,C.Colour Double)] svg_color_tbl = let f (nm,r,g,b) = (nm,C.sRGB24 r g b) in map f svg_colour_data svg_colour_set :: [C.Colour Double] svg_colour_set = map snd svg_color_tbl