{- ****************************************************************************** * I N V A D E R S * * * * Module: Colors * * Purpose: Colour definitions. * * Author: Henrik Nilsson * * * * Copyright (c) Yale University, 2003 * * * ****************************************************************************** -} module Colors (Color(..), RGB, colorTable) where import Data.Array import Graphics.HGL (RGB(..)) ------------------------------------------------------------------------------ -- Color definitions ------------------------------------------------------------------------------ -- Pretty arbitrary selection of colours. data Color = -- Basic colours. Black | Blue | Green | Cyan | Red | Magenta | Yellow | White -- Various greys. | DarkGrey | DimGrey | Grey | LightGrey | DarkSlateGrey | SlateGrey | LightSlateGrey -- Various blues/cyan. | MidnightBlue | NavyBlue | CornflowerBlue | DarkSlateBlue | SlateBlue | LightSlateBlue | MediumBlue | RoyalBlue | DeepSkyBlue | SteelBlue | CadetBlue -- Various greens/olive greens/khaki. | DarkGreen | DarkOliveGreen | SeaGreen | MediumSeaGreen | LawnGreen | LimeGreen | ForestGreen | OliveDrab | DarkKhaki | Khaki -- Various oranges/browns. | Goldenrod | DarkGoldenrod | SaddleBrown | Orange -- Various violets/purples. | Maroon | MediumVioletRed | VioletRed | Violet | Plum | Orchid | MediumOrchid | DarkOrchid | BlueViolet | Purple deriving (Eq, Ord, Bounded, Enum, Ix) colorList = [ -- Basic colours. (Black, RGB 0 0 0), (Blue, RGB 0 0 255), (Green, RGB 0 255 0), (Cyan, RGB 0 255 255), (Red, RGB 255 0 0), (Magenta, RGB 255 0 255), (Yellow, RGB 255 255 0), (White, RGB 255 255 255), -- Various greys. (DarkGrey, RGB 64 64 64), (DimGrey, RGB 105 105 105), (Grey, RGB 190 190 190), (LightGrey, RGB 211 211 211), (DarkSlateGrey, RGB 47 79 79), (SlateGrey, RGB 112 128 144), (LightSlateGrey, RGB 119 136 153), -- Various blues/cyan. (MidnightBlue, RGB 25 25 112), (NavyBlue, RGB 0 0 128), (CornflowerBlue, RGB 100 149 237), (DarkSlateBlue, RGB 72 61 139), (SlateBlue, RGB 106 90 205), (LightSlateBlue, RGB 132 112 255), (MediumBlue, RGB 0 0 205), (RoyalBlue, RGB 65 105 225), (DeepSkyBlue, RGB 0 191 255), (SteelBlue, RGB 70 130 180), (CadetBlue, RGB 95 158 160), -- Various greens/olive greens/khaki. (DarkGreen, RGB 0 100 0), (DarkOliveGreen, RGB 85 107 47), (SeaGreen, RGB 46 139 87), (MediumSeaGreen, RGB 60 179 113), (LawnGreen, RGB 124 252 0), (LimeGreen, RGB 50 205 50), (ForestGreen, RGB 34 139 34), (OliveDrab, RGB 107 142 35), (DarkKhaki, RGB 189 183 107), (Khaki, RGB 240 230 140), -- Various oranges/browns. (Goldenrod, RGB 218 165 32), (DarkGoldenrod, RGB 184 134 11), (SaddleBrown, RGB 139 69 19), (Orange, RGB 255 165 0), -- Various violets/purples. (Maroon, RGB 176 48 96), (MediumVioletRed, RGB 199 21 133), (VioletRed, RGB 208 32 144), (Violet, RGB 238 130 238), (Plum, RGB 221 160 221), (Orchid, RGB 218 112 214), (MediumOrchid, RGB 186 85 211), (DarkOrchid, RGB 153 50 204), (BlueViolet, RGB 138 43 226), (Purple, RGB 160 32 240) ] colorTable = array (minBound, maxBound) colorList