module XNAColors

macro colornames(s::Symbol, expr::Expr)
    return Expr(:block, esc(:($s = $expr)), [esc(:($(Meta.parse(k)) = $v)) for (k, v) in eval(expr)]...)
end

@colornames(colors, Dict{String, Tuple}(
    "Transparent" => (0, 0, 0, 0) ./ 255,
    "AliceBlue" => (240, 248, 255, 255) ./ 255,
    "AntiqueWhite" => (250, 235, 215, 255) ./ 255,
    "Aqua" => (0, 255, 255, 255) ./ 255,
    "Aquamarine" => (127, 255, 212, 255) ./ 255,
    "Azure" => (240, 255, 255, 255) ./ 255,
    "Beige" => (245, 245, 220, 255) ./ 255,
    "Bisque" => (255, 228, 196, 255) ./ 255,
    "Black" => (0, 0, 0, 255) ./ 255,
    "BlanchedAlmond" => (255, 235, 205, 255) ./ 255,
    "Blue" => (0, 0, 255, 255) ./ 255,
    "BlueViolet" => (138, 43, 226, 255) ./ 255,
    "Brown" => (165, 42, 42, 255) ./ 255,
    "BurlyWood" => (222, 184, 135, 255) ./ 255,
    "CadetBlue" => (95, 158, 160, 255) ./ 255,
    "Chartreuse" => (127, 255, 0, 255) ./ 255,
    "Chocolate" => (210, 105, 30, 255) ./ 255,
    "Coral" => (255, 127, 80, 255) ./ 255,
    "CornflowerBlue" => (100, 149, 237, 255) ./ 255,
    "Cornsilk" => (255, 248, 220, 255) ./ 255,
    "Crimson" => (220, 20, 60, 255) ./ 255,
    "Cyan" => (0, 255, 255, 255) ./ 255,
    "DarkBlue" => (0, 0, 139, 255) ./ 255,
    "DarkCyan" => (0, 139, 139, 255) ./ 255,
    "DarkGoldenrod" => (184, 134, 11, 255) ./ 255,
    "DarkGray" => (169, 169, 169, 255) ./ 255,
    "DarkGreen" => (0, 100, 0, 255) ./ 255,
    "DarkKhaki" => (189, 183, 107, 255) ./ 255,
    "DarkMagenta" => (139, 0, 139, 255) ./ 255,
    "DarkOliveGreen" => (85, 107, 47, 255) ./ 255,
    "DarkOrange" => (255, 140, 0, 255) ./ 255,
    "DarkOrchid" => (153, 50, 204, 255) ./ 255,
    "DarkRed" => (139, 0, 0, 255) ./ 255,
    "DarkSalmon" => (233, 150, 122, 255) ./ 255,
    "DarkSeaGreen" => (143, 188, 139, 255) ./ 255,
    "DarkSlateBlue" => (72, 61, 139, 255) ./ 255,
    "DarkSlateGray" => (47, 79, 79, 255) ./ 255,
    "DarkTurquoise" => (0, 206, 209, 255) ./ 255,
    "DarkViolet" => (148, 0, 211, 255) ./ 255,
    "DeepPink" => (255, 20, 147, 255) ./ 255,
    "DeepSkyBlue" => (0, 191, 255, 255) ./ 255,
    "DimGray" => (105, 105, 105, 255) ./ 255,
    "DodgerBlue" => (30, 144, 255, 255) ./ 255,
    "Firebrick" => (178, 34, 34, 255) ./ 255,
    "FloralWhite" => (255, 250, 240, 255) ./ 255,
    "ForestGreen" => (34, 139, 34, 255) ./ 255,
    "Fuchsia" => (255, 0, 255, 255) ./ 255,
    "Gainsboro" => (220, 220, 220, 255) ./ 255,
    "GhostWhite" => (248, 248, 255, 255) ./ 255,
    "Gold" => (255, 215, 0, 255) ./ 255,
    "Goldenrod" => (218, 165, 32, 255) ./ 255,
    "Gray" => (128, 128, 128, 255) ./ 255,
    "Green" => (0, 128, 0, 255) ./ 255,
    "GreenYellow" => (173, 255, 47, 255) ./ 255,
    "Honeydew" => (240, 255, 240, 255) ./ 255,
    "HotPink" => (255, 105, 180, 255) ./ 255,
    "IndianRed" => (205, 92, 92, 255) ./ 255,
    "Indigo" => (75, 0, 130, 255) ./ 255,
    "Ivory" => (255, 255, 240, 255) ./ 255,
    "Khaki" => (240, 230, 140, 255) ./ 255,
    "Lavender" => (230, 230, 250, 255) ./ 255,
    "LavenderBlush" => (255, 240, 245, 255) ./ 255,
    "LawnGreen" => (124, 252, 0, 255) ./ 255,
    "LemonChiffon" => (255, 250, 205, 255) ./ 255,
    "LightBlue" => (173, 216, 230, 255) ./ 255,
    "LightCoral" => (240, 128, 128, 255) ./ 255,
    "LightCyan" => (224, 255, 255, 255) ./ 255,
    "LightGoldenrodYellow" => (250, 250, 210, 255) ./ 255,
    "LightGray" => (211, 211, 211, 255) ./ 255,
    "LightGreen" => (144, 238, 144, 255) ./ 255,
    "LightPink" => (255, 182, 193, 255) ./ 255,
    "LightSalmon" => (255, 160, 122, 255) ./ 255,
    "LightSeaGreen" => (32, 178, 170, 255) ./ 255,
    "LightSkyBlue" => (135, 206, 250, 255) ./ 255,
    "LightSlateGray" => (119, 136, 153, 255) ./ 255,
    "LightSteelBlue" => (176, 196, 222, 255) ./ 255,
    "LightYellow" => (255, 255, 224, 255) ./ 255,
    "Lime" => (0, 255, 0, 255) ./ 255,
    "LimeGreen" => (50, 205, 50, 255) ./ 255,
    "Linen" => (250, 240, 230, 255) ./ 255,
    "Magenta" => (255, 0, 255, 255) ./ 255,
    "Maroon" => (128, 0, 0, 255) ./ 255,
    "MediumAquamarine" => (102, 205, 170, 255) ./ 255,
    "MediumBlue" => (0, 0, 205, 255) ./ 255,
    "MediumOrchid" => (186, 85, 211, 255) ./ 255,
    "MediumPurple" => (147, 112, 219, 255) ./ 255,
    "MediumSeaGreen" => (60, 179, 113, 255) ./ 255,
    "MediumSlateBlue" => (123, 104, 238, 255) ./ 255,
    "MediumSpringGreen" => (0, 250, 154, 255) ./ 255,
    "MediumTurquoise" => (72, 209, 204, 255) ./ 255,
    "MediumVioletRed" => (199, 21, 133, 255) ./ 255,
    "MidnightBlue" => (25, 25, 112, 255) ./ 255,
    "MintCream" => (245, 255, 250, 255) ./ 255,
    "MistyRose" => (255, 228, 225, 255) ./ 255,
    "Moccasin" => (255, 228, 181, 255) ./ 255,
    "NavajoWhite" => (255, 222, 173, 255) ./ 255,
    "Navy" => (0, 0, 128, 255) ./ 255,
    "OldLace" => (253, 245, 230, 255) ./ 255,
    "Olive" => (128, 128, 0, 255) ./ 255,
    "OliveDrab" => (107, 142, 35, 255) ./ 255,
    "Orange" => (255, 165, 0, 255) ./ 255,
    "OrangeRed" => (255, 69, 0, 255) ./ 255,
    "Orchid" => (218, 112, 214, 255) ./ 255,
    "PaleGoldenrod" => (238, 232, 170, 255) ./ 255,
    "PaleGreen" => (152, 251, 152, 255) ./ 255,
    "PaleTurquoise" => (175, 238, 238, 255) ./ 255,
    "PaleVioletRed" => (219, 112, 147, 255) ./ 255,
    "PapayaWhip" => (255, 239, 213, 255) ./ 255,
    "PeachPuff" => (255, 218, 185, 255) ./ 255,
    "Peru" => (205, 133, 63, 255) ./ 255,
    "Pink" => (255, 192, 203, 255) ./ 255,
    "Plum" => (221, 160, 221, 255) ./ 255,
    "PowderBlue" => (176, 224, 230, 255) ./ 255,
    "Purple" => (128, 0, 128, 255) ./ 255,
    "Red" => (255, 0, 0, 255) ./ 255,
    "RosyBrown" => (188, 143, 143, 255) ./ 255,
    "RoyalBlue" => (65, 105, 225, 255) ./ 255,
    "SaddleBrown" => (139, 69, 19, 255) ./ 255,
    "Salmon" => (250, 128, 114, 255) ./ 255,
    "SandyBrown" => (244, 164, 96, 255) ./ 255,
    "SeaGreen" => (46, 139, 87, 255) ./ 255,
    "SeaShell" => (255, 245, 238, 255) ./ 255,
    "Sienna" => (160, 82, 45, 255) ./ 255,
    "Silver" => (192, 192, 192, 255) ./ 255,
    "SkyBlue" => (135, 206, 235, 255) ./ 255,
    "SlateBlue" => (106, 90, 205, 255) ./ 255,
    "SlateGray" => (112, 128, 144, 255) ./ 255,
    "Snow" => (255, 250, 250, 255) ./ 255,
    "SpringGreen" => (0, 255, 127, 255) ./ 255,
    "SteelBlue" => (70, 130, 180, 255) ./ 255,
    "Tan" => (210, 180, 140, 255) ./ 255,
    "Teal" => (0, 128, 128, 255) ./ 255,
    "Thistle" => (216, 191, 216, 255) ./ 255,
    "Tomato" => (255, 99, 71, 255) ./ 255,
    "Turquoise" => (64, 224, 208, 255) ./ 255,
    "Violet" => (238, 130, 238, 255) ./ 255,
    "Wheat" => (245, 222, 179, 255) ./ 255,
    "White" => (255, 255, 255, 255) ./ 255,
    "WhiteSmoke" => (245, 245, 245, 255) ./ 255,
    "Yellow" => (255, 255, 0, 255) ./ 255,
    "YellowGreen" => (154, 205, 50, 255) ./ 255,
))

end