1 {-
    2  -  Fulsom (The Solid Modeller, written in Haskell)
    3  -
    4  -  Copyright 1990,1991,1992,1993 Duncan Sinclair
    5  -
    6  - Permissiom to use, copy, modify, and distribute this software for any 
    7  - purpose and without fee is hereby granted, provided that the above
    8  - copyright notice and this permission notice appear in all copies, and
    9  - that my name not be used in advertising or publicity pertaining to this
   10  - software without specific, written prior permission.  I makes no
   11  - representations about the suitability of this software for any purpose.
   12  - It is provided ``as is'' without express or implied warranty.
   13  - 
   14  - Duncan Sinclair 1993.
   15  - 
   16  - Colour definitions.
   17  -
   18  - (The information is this file is derived from the rgb database
   19  -  of colours from X11R5, which could well be copyright MIT, and
   20  -  is also known for it's imperfections.)
   21  -
   22  -}
   23 
   24 module Kolor where
   25 
   26 import Types
   27 import Interval
   28 
   29 -- black = mkcolor 0 0 0
   30 
   31 unmkcolor :: Color -> (Int,Int,Int)
   32 unmkcolor (RGB x y z) = (a,b,c)
   33   where
   34    a = round (255.5 * x)
   35    b = round (255.5 * y)
   36    c = round (255.5 * z)
   37 
   38 -- mkcolor :: Int -> Int -> Int -> Color
   39 mkcolor x y z = RGB a b c
   40   where
   41    a = (x / 255.0) :: FType
   42    b = (y / 255.0) :: FType
   43    c = (z / 255.0) :: FType
   44 
   45 
   46 white      = mkcolor 255 255 255
   47 ivory      = mkcolor 255 255 240
   48 light_yellow       = mkcolor 255 255 224
   49 yellow           = mkcolor 255 255   0
   50 snow         = mkcolor 255 250 250
   51 floral_white       = mkcolor 255 250 240
   52 lemon_chiffon     = mkcolor 255 250 205
   53 cornsilk               = mkcolor 255 248 220
   54 seashell               = mkcolor 255 245 238
   55 lavender_blush   = mkcolor 255 240 245
   56 papaya_whip         = mkcolor 255 239 213
   57 blanched_almond         = mkcolor 255 235 205
   58 misty_rose           = mkcolor 255 228 225
   59 bisque           = mkcolor 255 228 196
   60 moccasin               = mkcolor 255 228 181
   61 navajo_white       = mkcolor 255 222 173
   62 peach_puff           = mkcolor 255 218 185
   63 gold         = mkcolor 255 215   0
   64 pink         = mkcolor 255 192 203
   65 light_pink           = mkcolor 255 182 193
   66 orange           = mkcolor 255 165   0
   67 light_salmon       = mkcolor 255 160 122
   68 dark_orange         = mkcolor 255 140   0
   69 coral      = mkcolor 255 127  80
   70 hot_pink               = mkcolor 255 105 180
   71 tomato           = mkcolor 255  99  71
   72 orange_red           = mkcolor 255  69   0
   73 deep_pink             = mkcolor 255  20 147
   74 magenta                = mkcolor 255   0 255
   75 red            = mkcolor 255   0   0
   76 old_lace               = mkcolor 253 245 230
   77 light_goldenrod_yellow  = mkcolor 250 250 210
   78 linen      = mkcolor 250 240 230
   79 antique_white     = mkcolor 250 235 215
   80 salmon           = mkcolor 250 128 114
   81 ghost_white         = mkcolor 248 248 255
   82 mint_cream           = mkcolor 245 255 250
   83 white_smoke         = mkcolor 245 245 245
   84 beige      = mkcolor 245 245 220
   85 wheat      = mkcolor 245 222 179
   86 sandy_brown         = mkcolor 244 164  96
   87 azure      = mkcolor 240 255 255
   88 honeydew               = mkcolor 240 255 240
   89 alice_blue           = mkcolor 240 248 255
   90 khaki      = mkcolor 240 230 140
   91 light_coral         = mkcolor 240 128 128
   92 pale_goldenrod   = mkcolor 238 232 170
   93 light_goldenrod         = mkcolor 238 221 130
   94 violet           = mkcolor 238 130 238
   95 dark_salmon         = mkcolor 233 150 122
   96 lavender               = mkcolor 230 230 250
   97 light_cyan           = mkcolor 224 255 255
   98 burlywood             = mkcolor 222 184 135
   99 plum         = mkcolor 221 160 221
  100 gainsboro             = mkcolor 220 220 220
  101 pale_violet_red         = mkcolor 219 112 147
  102 goldenrod             = mkcolor 218 165  32
  103 orchid           = mkcolor 218 112 214
  104 thistle                = mkcolor 216 191 216
  105 light_grey           = mkcolor 211 211 211
  106 -- tan           = mkcolor 210 180 140
  107 chocolate             = mkcolor 210 105  30
  108 violet_red           = mkcolor 208  32 144
  109 peru         = mkcolor 205 133  63
  110 indian_red           = mkcolor 205  92  92
  111 medium_violet_red       = mkcolor 199  21 133
  112 grey         = mkcolor 190 190 190
  113 dark_khaki           = mkcolor 189 183 107
  114 rosy_brown           = mkcolor 188 143 143
  115 medium_orchid     = mkcolor 186  85 211
  116 dark_goldenrod   = mkcolor 184 134  11
  117 firebrick             = mkcolor 178  34  34
  118 powder_blue         = mkcolor 176 224 230
  119 light_steel_blue        = mkcolor 176 196 222
  120 maroon           = mkcolor 176  48  96
  121 pale_turquoise   = mkcolor 175 238 238
  122 green_yellow       = mkcolor 173 255  47
  123 light_blue           = mkcolor 173 216 230
  124 brown      = mkcolor 165  42  42
  125 sienna           = mkcolor 160  82  45
  126 purple           = mkcolor 160  32 240
  127 yellow_green       = mkcolor 154 205  50
  128 dark_orchid         = mkcolor 153  50 204
  129 pale_green           = mkcolor 152 251 152
  130 dark_violet         = mkcolor 148   0 211
  131 medium_purple     = mkcolor 147 112 219
  132 dark_sea_green   = mkcolor 143 188 143
  133 saddle_brown       = mkcolor 139  69  19
  134 blue_violet         = mkcolor 138  43 226
  135 light_sky_blue   = mkcolor 135 206 250
  136 sky_blue               = mkcolor 135 206 235
  137 light_slate_blue        = mkcolor 132 112 255
  138 aquamarine           = mkcolor 127 255 212
  139 chartreuse           = mkcolor 127 255   0
  140 lawn_green           = mkcolor 124 252   0
  141 medium_slate_blue       = mkcolor 123 104 238
  142 light_slate_grey        = mkcolor 119 136 153
  143 slate_grey           = mkcolor 112 128 144
  144 olive_drab           = mkcolor 107 142  35
  145 slate_blue           = mkcolor 106  90 205
  146 dim_grey               = mkcolor 105 105 105
  147 medium_aquamarine       = mkcolor 102 205 170
  148 cornflower_blue         = mkcolor 100 149 237
  149 cadet_blue           = mkcolor  95 158 160
  150 dark_olive_green        = mkcolor  85 107  47
  151 medium_turquoise        = mkcolor  72 209 204
  152 dark_slate_blue         = mkcolor  72  61 139
  153 steel_blue           = mkcolor  70 130 180
  154 royal_blue           = mkcolor  65 105 225
  155 turquoise             = mkcolor  64 224 208
  156 medium_sea_green        = mkcolor  60 179 113
  157 lime_green           = mkcolor  50 205  50
  158 dark_slate_grey         = mkcolor  47  79  79
  159 sea_green             = mkcolor  46 139  87
  160 forest_green       = mkcolor  34 139  34
  161 light_sea_green         = mkcolor  32 178 170
  162 dodger_blue         = mkcolor  30 144 255
  163 midnight_blue     = mkcolor  25  25 112
  164 cyan         = mkcolor   0 255 255
  165 spring_green       = mkcolor   0 255 127
  166 green      = mkcolor   0 255   0
  167 medium_spring_green     = mkcolor   0 250 154
  168 dark_turquoise   = mkcolor   0 206 209
  169 deep_sky_blue     = mkcolor   0 191 255
  170 dark_green           = mkcolor   0 100   0
  171 blue         = mkcolor   0   0 255
  172 medium_blue         = mkcolor   0   0 205
  173 navy_blue             = mkcolor   0   0 128
  174 navy         = mkcolor   0   0 128
  175 black      = mkcolor   0   0   0