module Graphics.Diagrams.Colors where import Data.Map import Prelude hiding (lookup) toRGB :: String -> Maybe (Double, Double, Double) toRGB s = lookup s colorMap colors :: [String] colors = keys colorMap -- | SVG color codes colorMap :: Map String (Double, Double, Double) colorMap = fromList [ "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) ] where s ==> (r,g,b) = (s, (f r, f g, f b)) f :: Int -> Double f 0 = 0 f 255 = 1 f n = fromIntegral n / 255