{-| Module: Graphics.Blank.Style Copyright: (C) 2014-2015, The University of Kansas License: BSD-style (see the file LICENSE) Maintainer: Andy Gill Stability: Beta Portability: GHC This module exposes overloaded versions of @blank-canvas@ functions that take a style or color as an argument, which may be of interest if you desire stronger type safety than @Text@ provides. Note that this module exports function names that conflict with "Graphics.Blank". Make sure to hide any functions from "Graphics.Blank" that you use from this module. -} module Graphics.Blank.Style ( -- * Overloaded versions of 'Canvas' functions strokeStyle , fillStyle , shadowColor , addColorStop , Style(..) , CanvasColor -- * 'CanvasColor' creation , rgb , rgbPercent , rgba , rgbaPercent , hsl , hsla -- * @colour@ reexports -- ** 'Colour' and 'AlphaColour' , Colour , AlphaColour , transparent , readColourName -- ** CSS Level 1 colors , aqua , black , blue , fuchsia , gray , green , lime , maroon , navy , olive , purple , red , silver , teal , white , yellow -- ** CSS Level 2 color , orange -- ** CSS Color Module Level 3 colors , aliceblue , antiquewhite , aquamarine , azure , beige , bisque , blanchedalmond , blueviolet , brown , burlywood , cadetblue , chartreuse , chocolate , coral , cornflowerblue , cornsilk , crimson , cyan , darkblue , darkcyan , darkgoldenrod , darkgray , darkgreen , darkgrey , darkkhaki , darkmagenta , darkolivegreen , darkorange , darkorchid , darkred , darksalmon , darkseagreen , darkslateblue , darkslategray , darkslategrey , darkturquoise , darkviolet , deeppink , deepskyblue , dimgray , dimgrey , dodgerblue , firebrick , floralwhite , forestgreen , gainsboro , ghostwhite , gold , goldenrod , grey , greenyellow , honeydew , hotpink , indianred , indigo , ivory , khaki , lavender , lavenderblush , lawngreen , lemonchiffon , lightblue , lightcoral , lightcyan , lightgoldenrodyellow , lightgray , lightgreen , lightgrey , lightpink , lightsalmon , lightseagreen , lightskyblue , lightslategray , lightslategrey , lightsteelblue , lightyellow , limegreen , linen , magenta , mediumaquamarine , mediumblue , mediumorchid , mediumpurple , mediumseagreen , mediumslateblue , mediumspringgreen , mediumturquoise , mediumvioletred , midnightblue , mintcream , mistyrose , moccasin , navajowhite , oldlace , olivedrab , orangered , orchid , palegoldenrod , palegreen , paleturquoise , palevioletred , papayawhip , peachpuff , peru , pink , plum , powderblue , rosybrown , royalblue , saddlebrown , salmon , sandybrown , seagreen , seashell , sienna , skyblue , slateblue , slategray , slategrey , snow , springgreen , steelblue , tan , thistle , tomato , turquoise , violet , wheat , whitesmoke , yellowgreen -- ** CSS Color Module Level 4 color , rebeccapurple ) where import qualified Data.Colour as Colour import Data.Colour hiding (black, transparent) import qualified Data.Colour.Names as Names import Data.Colour.RGBSpace import qualified Data.Colour.RGBSpace.HSL as HSL import Data.Colour.SRGB import Data.Word import Graphics.Blank.Canvas import Graphics.Blank.Generated import Graphics.Blank.JavaScript import Graphics.Blank.Types import Prelude hiding (tan) -- | Specifies a 'Colour' by its red, green, and blue components, where each component -- is an integer between 0 and 255. rgb :: Word8 -> Word8 -> Word8 -> Colour Double rgb = sRGB24 -- | Specifies a 'Colour' by its red, green, and blue components, where each component -- is given by a percentage (which should be between 0% to 100%) of 255. rgbPercent :: Percentage -> Percentage -> Percentage -> Colour Double rgbPercent r g b = sRGB (r/100) (g/100) (b/100) -- | Specifies an 'AlphaColour' by its RGB components and an alpha value. -- -- @ -- 'rgba' r g b 0.0 = 'transparent' -- @ rgba :: Word8 -> Word8 -> Word8 -> Alpha -> AlphaColour Double rgba r g b = withOpacity $ rgb r g b -- | Specifies an 'AlphaColour' by its RGB component percentages (which should be -- between 0% and 100%) and an alpha value. -- -- @ -- 'rgbaPercent' r g b 0.0 = 'transparent' -- @ rgbaPercent :: Percentage -> Percentage -> Percentage -> Alpha -> AlphaColour Double rgbaPercent r g b = withOpacity $ rgbPercent r g b -- | Specifies a 'Colour' by its hue, saturation, and lightness value, where -- saturation and lightness are percentages between 0% and 100%. hsl :: Degrees -> Percentage -> Percentage -> Colour Double hsl h s l = uncurryRGB sRGB $ HSL.hsl (realToFrac h) (s/100) (l/100) -- | -- Specifies an 'AlphaColour' by its HSL values and an alpha value. -- -- @ -- 'hsla' h s v 0.0 = 'transparent' -- @ hsla :: Degrees -> Percentage -> Percentage -> Alpha -> AlphaColour Double hsla h s l = withOpacity $ hsl h s l -- | -- Takes a string naming a 'Colour' (must be all lowercase) and returns it. Fails if -- the name is not recognized. readColourName :: Monad m => String -> m (Colour Double) readColourName "rebeccapurple" = return rebeccapurple readColourName name = Names.readColourName name -- | @#F0F8FF@, @rgb(240, 248, 255)@, @hsl(208, 100%, 97%)@ aliceblue :: Colour Double aliceblue = Names.aliceblue -- | @#FAEBD7@, @rgb(250, 235, 215)@, @hsl(34, 78%, 91%)@ antiquewhite :: Colour Double antiquewhite = Names.antiquewhite -- | @#00FFFF@, @rgb(0, 255, 255)@, @hsl(180, 100%, 50%)@. Same as 'cyan'. aqua :: Colour Double aqua = Names.aqua -- | @#7FFFD4@, @rgb(127, 255, 212)@, @hsl(160, 100%, 75%)@ aquamarine :: Colour Double aquamarine = Names.aquamarine -- | @#F0FFFF@, @rgb(240, 255, 255)@, @hsl(180, 100%, 97%)@ azure :: Colour Double azure = Names.azure -- | @#F5F5DC@, @rgb(245, 245, 220)@, @hsl(60, 56%, 91%)@ beige :: Colour Double beige = Names.beige -- | @#FFE4C4@, @rgb(255, 228, 196)@, @hsl(33, 100%, 88%)@ bisque :: Colour Double bisque = Names.bisque -- | @#000000@, @rgb(0, 0, 0)@, @hsl(0, 0%, 0%)@ black :: Colour Double black = Colour.black -- | @#FFEBCD@, @rgb(255, 235, 205)@, @hsl(36, 100%, 90%)@ blanchedalmond :: Colour Double blanchedalmond = Names.blanchedalmond -- | @#0000FF@, @rgb(0, 0, 255)@, @hsl(240, 100%, 50%)@ blue :: Colour Double blue = Names.blue -- | @#8A2BE2@, @rgb(138, 43, 226)@, @hsl(271, 76%, 53%)@ blueviolet :: Colour Double blueviolet = Names.blueviolet -- | @#A52A2A@, @rgb(165, 42, 42)@, @hsl(0, 59%, 41%)@ brown :: Colour Double brown = Names.brown -- | @#DEB887@, @rgb(222, 184, 135)@, @hsl(34, 57%, 70%)@ burlywood :: Colour Double burlywood = Names.burlywood -- | @#5F9EA0@, @rgb(95, 158, 160)@, @hsl(182, 25%, 50%)@ cadetblue :: Colour Double cadetblue = Names.cadetblue -- | @#7FFF00@, @rgb(127, 255, 0)@, @hsl(90, 100%, 50%)@ chartreuse :: Colour Double chartreuse = Names.chartreuse -- | @#D2691E@, @rgb(210, 105, 30)@, @hsl(25, 75%, 47%)@ chocolate :: Colour Double chocolate = Names.chocolate -- | @#FF7F50@, @rgb(255, 127, 80)@, @hsl(16, 100%, 66%)@ coral :: Colour Double coral = Names.coral -- | @#6495ED@, @rgb(100, 149, 237)@, @hsl(219, 79%, 66%)@ cornflowerblue :: Colour Double cornflowerblue = Names.cornflowerblue -- | @#FFF8DC@, @rgb(255, 248, 220)@, @hsl(48, 100%, 93%)@ cornsilk :: Colour Double cornsilk = Names.cornsilk -- | @#DC143C@, @rgb(220, 20, 60)@, @hsl(348, 83%, 58%)@ crimson :: Colour Double crimson = Names.crimson -- | @#00FFFF@, @rgb(0, 255, 255)@, @hsl(180, 100%, 50%)@. Same as 'aqua'. cyan :: Colour Double cyan = Names.cyan -- | @#00008B@, @rgb(0, 0, 139)@, @hsl(240, 100%, 27%)@ darkblue :: Colour Double darkblue = Names.darkblue -- | @#008B8B@, @rgb(0, 139, 139)@, @hsl(180, 100%, 27%)@ darkcyan :: Colour Double darkcyan = Names.darkcyan -- | @#B8860B@, @rgb(184, 134, 11)@, @hsl(43, 89%, 38%)@ darkgoldenrod :: Colour Double darkgoldenrod = Names.darkgoldenrod -- | @#A9A9A9@, @rgb(169, 169, 169)@, @hsl(0, 0%, 66%)@. Same as 'darkgrey'. darkgray :: Colour Double darkgray = Names.darkgray -- | @#006400@, @rgb(0, 100, 0)@, @hsl(120, 100%, 20%)@ darkgreen :: Colour Double darkgreen = Names.darkgreen -- | @#A9A9A9@, @rgb(169, 169, 169)@, @hsl(0, 0%, 66%)@. Same as 'darkgray'. darkgrey :: Colour Double darkgrey = Names.darkgrey -- | @#BDB76B@, @rgb(189, 183, 107)@, @hsl(56, 38%, 58%)@ darkkhaki :: Colour Double darkkhaki = Names.darkkhaki -- | @#8B008B@, @rgb(139, 0, 139)@, @hsl(300, 100%, 27%)@ darkmagenta :: Colour Double darkmagenta = Names.darkmagenta -- | @#556B2F@, @rgb(85, 107, 47)@, @hsl(82, 39%, 30%)@ darkolivegreen :: Colour Double darkolivegreen = Names.darkolivegreen -- | @#FF8C00@, @rgb(255, 140, 0)@, @hsl(33, 100%, 50%)@ darkorange :: Colour Double darkorange = Names.darkorange -- | @#9932CC@, @rgb(153, 50, 204)@, @hsl(280, 61%, 50%)@ darkorchid :: Colour Double darkorchid = Names.darkorchid -- | @#8B0000@, @rgb(139, 0, 0)@, @hsl(0, 100%, 27%)@ darkred :: Colour Double darkred = Names.darkred -- | @#E9967A@, @rgb(233, 150, 122)@, @hsl(15, 72%, 70%)@ darksalmon :: Colour Double darksalmon = Names.darksalmon -- | @#8FBC8F@, @rgb(143, 188, 143)@, @hsl(120, 25%, 65%)@ darkseagreen :: Colour Double darkseagreen = Names.darkseagreen -- | @#483D8B@, @rgb(72, 61, 139)@, @hsl(248, 39%, 39%)@ darkslateblue :: Colour Double darkslateblue = Names.darkslateblue -- | @#2F4F4F@, @rgb(47, 79, 79)@, @hsl(180, 25%, 25%)@. Same as 'darkslategrey'. darkslategray :: Colour Double darkslategray = Names.darkslategray -- | @#2F4F4F@, @rgb(47, 79, 79)@, @hsl(180, 25%, 25%)@. Same as 'darkslategray'. darkslategrey :: Colour Double darkslategrey = Names.darkslategrey -- | @#00CED1@, @rgb(0, 206, 209)@, @hsl(181, 100%, 41%)@ darkturquoise :: Colour Double darkturquoise = Names.darkturquoise -- | @#9400D3@, @rgb(148, 0, 211)@, @hsl(282, 100%, 41%)@ darkviolet :: Colour Double darkviolet = Names.darkviolet -- | @#FF1493@, @rgb(255, 20, 147)@, @hsl(328, 100%, 54%)@ deeppink :: Colour Double deeppink = Names.deeppink -- | @#00BFFF@, @rgb(0, 191, 255)@, @hsl(195, 100%, 50%)@ deepskyblue :: Colour Double deepskyblue = Names.deepskyblue -- | @#696969@, @rgb(105, 105, 105)@, @hsl(0, 0%, 41%)@. Same as 'darkgrey'. dimgray :: Colour Double dimgray = Names.dimgray -- | @#696969@, @rgb(105, 105, 105)@, @hsl(0, 0%, 41%)@. Same as 'darkgray'. dimgrey :: Colour Double dimgrey = Names.dimgrey -- | @#1E90FF@, @rgb(30, 144, 255)@, @hsl(210, 100%, 56%)@ dodgerblue :: Colour Double dodgerblue = Names.dodgerblue -- | @#B22222@, @rgb(178, 34, 34)@, @hsl(0, 68%, 42%)@ firebrick :: Colour Double firebrick = Names.firebrick -- | @#FFFAF0@, @rgb(255, 250, 240)@, @hsl(40, 100%, 97%)@ floralwhite :: Colour Double floralwhite = Names.floralwhite -- | @#228B22@, @rgb(34, 139, 34)@, @hsl(120, 61%, 34%)@ forestgreen :: Colour Double forestgreen = Names.forestgreen -- | @#FF00FF@, @rgb(255, 0, 255)@, @hsl(300, 100%, 50%)@. Same as 'magenta'. fuchsia :: Colour Double fuchsia = Names.fuchsia -- | @#DCDCDC@, @rgb(220, 220, 220)@, @hsl(0, 0%, 86%)@ gainsboro :: Colour Double gainsboro = Names.gainsboro -- | @#F8F8FF@, @rgb(248, 248, 255)@, @hsl(240, 100%, 99%)@ ghostwhite :: Colour Double ghostwhite = Names.ghostwhite -- | @#FFD700@, @rgb(255, 215, 0)@, @hsl(51, 100%, 50%)@ gold :: Colour Double gold = Names.gold -- | @#DAA520@, @rgb(218, 165, 32)@, @hsl(43, 74%, 49%)@ goldenrod :: Colour Double goldenrod = Names.goldenrod -- | @#808080@, @rgb(128, 128, 128)@, @hsl(0, 0%, 50%)@. Same as 'grey'. gray :: Colour Double gray = Names.gray -- | @#008000@, @rgb(0, 128, 0)@, @hsl(120, 100%, 25%)@ green :: Colour Double green = Names.green -- | @#808080@, @rgb(128, 128, 128)@, @hsl(0, 0%, 50%)@. Same as 'gray'. grey :: Colour Double grey = Names.grey -- | @#ADFF2F@, @rgb(173, 255, 47)@, @hsl(84, 100%, 59%)@ greenyellow :: Colour Double greenyellow = Names.greenyellow -- | @#F0FFF0@, @rgb(240, 255, 240)@, @hsl(120, 100%, 97%)@ honeydew :: Colour Double honeydew = Names.honeydew -- | @#FF69B4@, @rgb(255, 105, 180)@, @hsl(330, 100%, 71%)@ hotpink :: Colour Double hotpink = Names.hotpink -- | @#CD5C5C@, @rgb(205, 92, 92)@, @hsl(0, 53%, 58%)@ indianred :: Colour Double indianred = Names.indianred -- | @#4B0082@, @rgb(75, 0, 130)@, @hsl(275, 100%, 25%)@ indigo :: Colour Double indigo = Names.indigo -- | @#FFFFF0@, @rgb(255, 255, 240)@, @hsl(60, 100%, 97%)@ ivory :: Colour Double ivory = Names.ivory -- | @#F0E68C@, @rgb(240, 230, 140)@, @hsl(54, 77%, 75%)@ khaki :: Colour Double khaki = Names.khaki -- | @#E6E6FA@, @rgb(230, 230, 250)@, @hsl(240, 67%, 94%)@ lavender :: Colour Double lavender = Names.lavender -- | @#FFF0F5@, @rgb(255, 240, 245)@, @hsl(340, 100%, 97%)@ lavenderblush :: Colour Double lavenderblush = Names.lavenderblush -- | @#7CFC00@, @rgb(124, 252, 0)@, @hsl(90, 100%, 49%)@ lawngreen :: Colour Double lawngreen = Names.lawngreen -- | @#FFFACD@, @rgb(255, 250, 205)@, @hsl(54, 100%, 90%)@ lemonchiffon :: Colour Double lemonchiffon = Names.lemonchiffon -- | @#ADD8E6@, @rgb(173, 216, 230)@, @hsl(195, 53%, 79%)@ lightblue :: Colour Double lightblue = Names.lightblue -- | @#F08080@, @rgb(240, 128, 128)@, @hsl(0, 79%, 72%)@ lightcoral :: Colour Double lightcoral = Names.lightcoral -- | @#E0FFFF@, @rgb(224, 255, 255)@, @hsl(180, 100%, 94%)@ lightcyan :: Colour Double lightcyan = Names.lightcyan -- | @#FAFAD2@, @rgb(250, 250, 210)@, @hsl(60, 80%, 90%)@ lightgoldenrodyellow :: Colour Double lightgoldenrodyellow = Names.lightgoldenrodyellow -- | @#D3D3D3@, @rgb(211, 211, 211)@, @hsl(0, 0%, 83%)@. Same as 'lightgrey'. lightgray :: Colour Double lightgray = Names.lightgray -- | @#90EE90@, @rgb(144, 238, 144)@, @hsl(120, 73%, 75%)@ lightgreen :: Colour Double lightgreen = Names.lightgreen -- | @#D3D3D3@, @rgb(211, 211, 211)@, @hsl(0, 0%, 83%)@. Same as 'lightgray'. lightgrey :: Colour Double lightgrey = Names.lightgrey -- | @#FFB6C1@, @rgb(255, 182, 193)@, @hsl(351, 100%, 86%)@ lightpink :: Colour Double lightpink = Names.lightpink -- | @#FFA07A@, @rgb(255, 160, 122)@, @hsl(17, 100%, 74%)@ lightsalmon :: Colour Double lightsalmon = Names.lightsalmon -- | @#20B2AA@, @rgb(32, 178, 170)@, @hsl(177, 70%, 41%)@ lightseagreen :: Colour Double lightseagreen = Names.lightseagreen -- | @#87CEFA@, @rgb(135, 206, 250)@, @hsl(203, 92%, 75%)@ lightskyblue :: Colour Double lightskyblue = Names.lightskyblue -- | @#778899@, @rgb(119, 136, 153)@, @hsl(210, 14%, 53%)@. Same as 'lightslategrey'. lightslategray :: Colour Double lightslategray = Names.lightslategray -- | @#778899@, @rgb(119, 136, 153)@, @hsl(210, 14%, 53%)@. Same as 'lightslategray'. lightslategrey :: Colour Double lightslategrey = Names.lightslategrey -- | @#B0C4DE@, @rgb(176, 196, 222)@, @hsl(214, 41%, 78%)@ lightsteelblue :: Colour Double lightsteelblue = Names.lightsteelblue -- | @#FFFFE0@, @rgb(255, 255, 224)@, @hsl(60, 100%, 94%)@ lightyellow :: Colour Double lightyellow = Names.lightyellow -- | @#00FF00@, @rgb(0, 255, 0)@, @hsl(120, 100%, 50%)@ lime :: Colour Double lime = Names.lime -- | @#32CD32@, @rgb(50, 205, 50)@, @hsl(120, 61%, 50%)@ limegreen :: Colour Double limegreen = Names.limegreen -- | @#FAF0E6@, @rgb(250, 240, 230)@, @hsl(30, 67%, 94%)@ linen :: Colour Double linen = Names.linen -- | @#FF00FF@, @rgb(255, 0, 255)@, @hsl(300, 100%, 50%)@. Same as 'fuchsia'. magenta :: Colour Double magenta = Names.magenta -- | @#800000@, @rgb(128, 0, 0)@, @hsl(0, 100%, 25%)@ maroon :: Colour Double maroon = Names.maroon -- | @#66CDAA@, @rgb(102, 205, 170)@, @hsl(160, 51%, 60%)@ mediumaquamarine :: Colour Double mediumaquamarine = Names.mediumaquamarine -- | @#0000CD@, @rgb(0, 0, 205)@, @hsl(240, 100%, 40%)@ mediumblue :: Colour Double mediumblue = Names.mediumblue -- | @#BA55D3@, @rgb(186, 85, 211)@, @hsl(288, 59%, 58%)@ mediumorchid :: Colour Double mediumorchid = Names.mediumorchid -- | @#9370DB@, @rgb(147, 112, 219)@, @hsl(260, 60%, 65%)@ mediumpurple :: Colour Double mediumpurple = Names.mediumpurple -- | @#3CB371@, @rgb(60, 179, 113)@, @hsl(147, 50%, 47%)@ mediumseagreen :: Colour Double mediumseagreen = Names.mediumseagreen -- | @#7B68EE@, @rgb(123, 104, 238)@, @hsl(249, 80%, 67%)@ mediumslateblue :: Colour Double mediumslateblue = Names.mediumslateblue -- | @#00FA9A@, @rgb(0, 250, 154)@, @hsl(157, 100%, 49%)@ mediumspringgreen :: Colour Double mediumspringgreen = Names.mediumspringgreen -- | @#48D1CC@, @rgb(72, 209, 204)@, @hsl(178, 60%, 55%)@ mediumturquoise :: Colour Double mediumturquoise = Names.turquoise -- | @#C71585@, @rgb(199, 21, 133)@, @hsl(322, 81%, 43%)@ mediumvioletred :: Colour Double mediumvioletred = Names.mediumvioletred -- | @#191970@, @rgb(25, 25, 112)@, @hsl(240, 64%, 27%)@ midnightblue :: Colour Double midnightblue = Names.midnightblue -- | @#F5FFFA@, @rgb(245, 255, 250)@, @hsl(150, 100%, 98%)@ mintcream :: Colour Double mintcream = Names.mintcream -- | @#FFE4E1@, @rgb(255, 228, 225)@, @hsl(6, 100%, 94%)@ mistyrose :: Colour Double mistyrose = Names.mistyrose -- | @#FFE4B5@, @rgb(255, 228, 181)@, @hsl(38, 100%, 85%)@ moccasin :: Colour Double moccasin = Names.moccasin -- | @#FFDEAD@, @rgb(255, 222, 173)@, @hsl(36, 100%, 84%)@ navajowhite :: Colour Double navajowhite = Names.navajowhite -- | @#000080@, @rgb(0, 0, 128)@, @hsl(240, 100%, 25%)@ navy :: Colour Double navy = Names.navy -- | @#FDF5E6@, @rgb(253, 245, 230)@, @hsl(39, 85%, 95%)@ oldlace :: Colour Double oldlace = Names.oldlace -- | @#808000@, @rgb(128, 128, 0)@, @hsl(60, 100%, 25%)@ olive :: Colour Double olive = Names.olive -- | @#6B8E23@, @rgb(107, 142, 35)@, @hsl(80, 60%, 35%)@ olivedrab :: Colour Double olivedrab = Names.olivedrab -- | @#FFA500@, @rgb(255, 165, 0)@, @hsl(39, 100%, 50%)@ orange :: Colour Double orange = Names.orange -- | @#FF4500@, @rgb(255, 69, 0)@, @hsl(16, 100%, 50%)@ orangered :: Colour Double orangered = Names.orangered -- | @#DA70D6@, @rgb(218, 112, 214)@, @hsl(302, 59%, 65%)@ orchid :: Colour Double orchid = Names.orchid -- | @#EEE8AA@, @rgb(238, 232, 170)@, @hsl(55, 67%, 80%)@ palegoldenrod :: Colour Double palegoldenrod = Names.palegoldenrod -- | @#98FB98@, @rgb(152, 251, 152)@, @hsl(120, 93%, 79%)@ palegreen :: Colour Double palegreen = Names.palegreen -- | @#AFEEEE@, @rgb(175, 238, 238)@, @hsl(180, 65%, 81%)@ paleturquoise :: Colour Double paleturquoise = Names.paleturquoise -- | @#DB7093@, @rgb(219, 112, 147)@, @hsl(340, 60%, 65%)@ palevioletred :: Colour Double palevioletred = Names.palevioletred -- | @#FFEFD5@, @rgb(255, 239, 213)@, @hsl(37, 100%, 92%)@ papayawhip :: Colour Double papayawhip = Names.papayawhip -- | @#FFDAB9@, @rgb(255, 218, 185)@, @hsl(28, 100%, 86%)@ peachpuff :: Colour Double peachpuff = Names.peachpuff -- | @#CD853F@, @rgb(205, 133, 63)@, @hsl(30, 59%, 53%)@ peru :: Colour Double peru = Names.peru -- | @#FFC0CB@, @rgb(255, 192, 203)@, @hsl(350, 100%, 88%)@ pink :: Colour Double pink = Names.pink -- | @#DDA0DD@, @rgb(221, 160, 221)@, @hsl(300, 47%, 75%)@ plum :: Colour Double plum = Names.plum -- | @#B0E0E6@, @rgb(176, 224, 230)@, @hsl(187, 52%, 80%)@ powderblue :: Colour Double powderblue = Names.powderblue -- | @#800080@, @rgb(128, 0, 128)@, @hsl(300, 100%, 25%)@ purple :: Colour Double purple = Names.purple -- | @#FF0000@, @rgb(255, 0, 0)@, @hsl(0, 100%, 50%)@ red :: Colour Double red = Names.red -- | @#BC8F8F@, @rgb(188, 143, 143)@, @hsl(0, 25%, 65%)@ rosybrown :: Colour Double rosybrown = Names.rosybrown -- | @#4169E1@, @rgb(65, 105, 225)@, @hsl(225, 73%, 57%)@ royalblue :: Colour Double royalblue = Names.royalblue -- | @#8B4513@, @rgb(139, 69, 19)@, @hsl(25, 76%, 31%)@ saddlebrown :: Colour Double saddlebrown = Names.saddlebrown -- | @#FA8072@, @rgb(250, 128, 114)@, @hsl(6, 93%, 71%)@ salmon :: Colour Double salmon = Names.salmon -- | @#F4A460@, @rgb(244, 164, 96)@, @hsl(28, 87%, 67%)@ sandybrown :: Colour Double sandybrown = Names.sandybrown -- | @#2E8B57@, @rgb(46, 139, 87)@, @hsl(146, 50%, 36%)@ seagreen :: Colour Double seagreen = Names.seagreen -- | @#FFF5EE@, @rgb(255, 245, 238)@, @hsl(25, 100%, 97%)@ seashell :: Colour Double seashell = Names.seashell -- | @#A0522D@, @rgb(160, 82, 45)@, @hsl(19, 56%, 40%)@ sienna :: Colour Double sienna = Names.sienna -- | @#C0C0C0@, @rgb(192, 192, 192)@, @hsl(0, 0%, 75%)@ silver :: Colour Double silver = Names.silver -- | @#87CEEB@, @rgb(135, 206, 235)@, @hsl(197, 71%, 73%)@ skyblue :: Colour Double skyblue = Names.skyblue -- | @#6A5ACD@, @rgb(106, 90, 205)@, @hsl(248, 53%, 58%)@ slateblue :: Colour Double slateblue = Names.slateblue -- | @#708090@, @rgb(112, 128, 144)@, @hsl(210, 13%, 50%)@. Same as 'slategrey'. slategray :: Colour Double slategray = Names.slategray -- | @#708090@, @rgb(112, 128, 144)@, @hsl(210, 13%, 50%)@. Same as 'slategray'. slategrey :: Colour Double slategrey = Names.slategrey -- | @#FFFAFA@, @rgb(255, 250, 250)@, @hsl(0, 100%, 99%)@ snow :: Colour Double snow = Names.snow -- | @#00FF7F@, @rgb(0, 255, 127)@, @hsl(150, 100%, 50%)@ springgreen :: Colour Double springgreen = Names.springgreen -- | @#4682B4@, @rgb(70, 130, 180)@, @hsl(207, 44%, 49%)@ steelblue :: Colour Double steelblue = Names.steelblue -- | @#D2B48C@, @rgb(210, 180, 140)@, @hsl(34, 44%, 69%)@ tan :: Colour Double tan = Names.tan -- | @#008080@, @rgb(0, 128, 128)@, @hsl(180, 100%, 25%)@ teal :: Colour Double teal = Names.teal -- | @#D8BFD8@, @rgb(216, 191, 216)@, @hsl(300, 24%, 80%)@ thistle :: Colour Double thistle = Names.thistle -- | @#FF6347@, @rgb(255, 99, 71)@, @hsl(9, 100%, 64%)@ tomato :: Colour Double tomato = Names.tomato -- | @#40E0D0@, @rgb(64, 224, 208)@, @hsl(174, 72%, 56%)@ turquoise :: Colour Double turquoise = Names.turquoise -- | @#EE82EE@, @rgb(238, 130, 238)@, @hsl(300, 76%, 72%)@ violet :: Colour Double violet = Names.violet -- | @#F5DEB3@, @rgb(245, 222, 179)@, @hsl(39, 77%, 83%)@ wheat :: Colour Double wheat = Names.wheat -- | @#FFFFFF@, @rgb(255, 255, 255)@, @hsl(0, 100%, 100%)@ white :: Colour Double white = Names.white -- | @#F5F5F5@, @rgb(245, 245, 245)@, @hsl(0, 0%, 96%)@ whitesmoke :: Colour Double whitesmoke = Names.whitesmoke -- | @#FFFF00@, @rgb(255, 255, 0)@, @hsl(60, 100%, 50%)@ yellow :: Colour Double yellow = Names.yellow -- | @#9ACD32@, @rgb(154, 205, 50)@, @hsl(80, 61%, 50%)@ yellowgreen :: Colour Double yellowgreen = Names.yellowgreen -- | @#663399@, @rgb(102, 51, 153)@, @hsl(270, 50%, 40%)@ rebeccapurple :: Colour Double rebeccapurple = sRGB24 102 51 153 -- | -- This 'AlphaColour' is entirely transparent and has no associated -- color channel (i.e., @rgba(0, 0, 0, 0.0)@ or @hsla(0, 0%, 0%, 0.0)@). transparent :: AlphaColour Double transparent = Colour.transparent