| Copyright | (C) 2014-2015 The University of Kansas |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Andy Gill |
| Stability | Beta |
| Portability | GHC |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Graphics.Blank.Style
Description
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.
Synopsis
- strokeStyle :: Style style => style -> Canvas ()
- fillStyle :: Style style => style -> Canvas ()
- shadowColor :: CanvasColor canvasColor => canvasColor -> Canvas ()
- addColorStop :: CanvasColor color => (Interval, color) -> CanvasGradient -> Canvas ()
- class Style a where
- class Style a => CanvasColor a
- rgb :: Word8 -> Word8 -> Word8 -> Colour Double
- rgbPercent :: Percentage -> Percentage -> Percentage -> Colour Double
- rgba :: Word8 -> Word8 -> Word8 -> Alpha -> AlphaColour Double
- rgbaPercent :: Percentage -> Percentage -> Percentage -> Alpha -> AlphaColour Double
- hsl :: Degrees -> Percentage -> Percentage -> Colour Double
- hsla :: Degrees -> Percentage -> Percentage -> Alpha -> AlphaColour Double
- data Colour a
- data AlphaColour a
- transparent :: AlphaColour Double
- readColourName :: MonadFail m => String -> m (Colour Double)
- aqua :: Colour Double
- black :: Colour Double
- blue :: Colour Double
- fuchsia :: Colour Double
- gray :: Colour Double
- green :: Colour Double
- lime :: Colour Double
- maroon :: Colour Double
- navy :: Colour Double
- olive :: Colour Double
- purple :: Colour Double
- red :: Colour Double
- silver :: Colour Double
- teal :: Colour Double
- white :: Colour Double
- yellow :: Colour Double
- orange :: Colour Double
- aliceblue :: Colour Double
- antiquewhite :: Colour Double
- aquamarine :: Colour Double
- azure :: Colour Double
- beige :: Colour Double
- bisque :: Colour Double
- blanchedalmond :: Colour Double
- blueviolet :: Colour Double
- brown :: Colour Double
- burlywood :: Colour Double
- cadetblue :: Colour Double
- chartreuse :: Colour Double
- chocolate :: Colour Double
- coral :: Colour Double
- cornflowerblue :: Colour Double
- cornsilk :: Colour Double
- crimson :: Colour Double
- cyan :: Colour Double
- darkblue :: Colour Double
- darkcyan :: Colour Double
- darkgoldenrod :: Colour Double
- darkgray :: Colour Double
- darkgreen :: Colour Double
- darkgrey :: Colour Double
- darkkhaki :: Colour Double
- darkmagenta :: Colour Double
- darkolivegreen :: Colour Double
- darkorange :: Colour Double
- darkorchid :: Colour Double
- darkred :: Colour Double
- darksalmon :: Colour Double
- darkseagreen :: Colour Double
- darkslateblue :: Colour Double
- darkslategray :: Colour Double
- darkslategrey :: Colour Double
- darkturquoise :: Colour Double
- darkviolet :: Colour Double
- deeppink :: Colour Double
- deepskyblue :: Colour Double
- dimgray :: Colour Double
- dimgrey :: Colour Double
- dodgerblue :: Colour Double
- firebrick :: Colour Double
- floralwhite :: Colour Double
- forestgreen :: Colour Double
- gainsboro :: Colour Double
- ghostwhite :: Colour Double
- gold :: Colour Double
- goldenrod :: Colour Double
- grey :: Colour Double
- greenyellow :: Colour Double
- honeydew :: Colour Double
- hotpink :: Colour Double
- indianred :: Colour Double
- indigo :: Colour Double
- ivory :: Colour Double
- khaki :: Colour Double
- lavender :: Colour Double
- lavenderblush :: Colour Double
- lawngreen :: Colour Double
- lemonchiffon :: Colour Double
- lightblue :: Colour Double
- lightcoral :: Colour Double
- lightcyan :: Colour Double
- lightgoldenrodyellow :: Colour Double
- lightgray :: Colour Double
- lightgreen :: Colour Double
- lightgrey :: Colour Double
- lightpink :: Colour Double
- lightsalmon :: Colour Double
- lightseagreen :: Colour Double
- lightskyblue :: Colour Double
- lightslategray :: Colour Double
- lightslategrey :: Colour Double
- lightsteelblue :: Colour Double
- lightyellow :: Colour Double
- limegreen :: Colour Double
- linen :: Colour Double
- magenta :: Colour Double
- mediumaquamarine :: Colour Double
- mediumblue :: Colour Double
- mediumorchid :: Colour Double
- mediumpurple :: Colour Double
- mediumseagreen :: Colour Double
- mediumslateblue :: Colour Double
- mediumspringgreen :: Colour Double
- mediumturquoise :: Colour Double
- mediumvioletred :: Colour Double
- midnightblue :: Colour Double
- mintcream :: Colour Double
- mistyrose :: Colour Double
- moccasin :: Colour Double
- navajowhite :: Colour Double
- oldlace :: Colour Double
- olivedrab :: Colour Double
- orangered :: Colour Double
- orchid :: Colour Double
- palegoldenrod :: Colour Double
- palegreen :: Colour Double
- paleturquoise :: Colour Double
- palevioletred :: Colour Double
- papayawhip :: Colour Double
- peachpuff :: Colour Double
- peru :: Colour Double
- pink :: Colour Double
- plum :: Colour Double
- powderblue :: Colour Double
- rosybrown :: Colour Double
- royalblue :: Colour Double
- saddlebrown :: Colour Double
- salmon :: Colour Double
- sandybrown :: Colour Double
- seagreen :: Colour Double
- seashell :: Colour Double
- sienna :: Colour Double
- skyblue :: Colour Double
- slateblue :: Colour Double
- slategray :: Colour Double
- slategrey :: Colour Double
- snow :: Colour Double
- springgreen :: Colour Double
- steelblue :: Colour Double
- tan :: Colour Double
- thistle :: Colour Double
- tomato :: Colour Double
- turquoise :: Colour Double
- violet :: Colour Double
- wheat :: Colour Double
- whitesmoke :: Colour Double
- yellowgreen :: Colour Double
- rebeccapurple :: Colour Double
Overloaded versions of Canvas functions
strokeStyle :: Style style => style -> Canvas () Source #
Sets the color, gradient, or pattern used for strokes.
Examples
strokeStyleredgrd <-createLinearGradient(0, 0, 10, 10)strokeStylegrd img <-newImage"/myImage.jpg" pat <-createPattern(img,Repeat)strokeStylepat
fillStyle :: Style style => style -> Canvas () Source #
Sets the color, gradient, or pattern used to fill a drawing (black by default).
Examples
fillStyleredgrd <-createLinearGradient(0, 0, 10, 10)fillStylegrd img <-newImage"/myImage.jpg" pat <-createPattern(img,Repeat)fillStylepat
shadowColor :: CanvasColor canvasColor => canvasColor -> Canvas () Source #
addColorStop :: CanvasColor color => (Interval, color) -> CanvasGradient -> Canvas () Source #
Adds a color and stop position in a CanvasGradient. A stop position is a
number between 0.0 and 1.0 that represents the position between start and stop
in a gradient.
Example
grd <-createLinearGradient(0, 0, 10, 10) grd #addColorStop(0,red)
A data type that can represent a style. That is, something with one or more colors.
Methods
jsStyle :: a -> Builder Source #
Convert a value into a JavaScript string representing a style value.
Instances
| Style CanvasGradient Source # | |
Defined in Graphics.Blank.JavaScript Methods jsStyle :: CanvasGradient -> Builder Source # | |
| Style CanvasPattern Source # | |
Defined in Graphics.Blank.JavaScript Methods jsStyle :: CanvasPattern -> Builder Source # | |
| Style Text Source # | |
| Style (AlphaColour Double) Source # | |
Defined in Graphics.Blank.JavaScript | |
| Style (Colour Double) Source # | |
class Style a => CanvasColor a Source #
A Style containing exactly one color.
Instances
| CanvasColor Text Source # | |
Defined in Graphics.Blank.JavaScript | |
| CanvasColor (AlphaColour Double) Source # | |
Defined in Graphics.Blank.JavaScript | |
| CanvasColor (Colour Double) Source # | |
Defined in Graphics.Blank.JavaScript | |
CanvasColor creation
rgb :: Word8 -> Word8 -> Word8 -> Colour Double Source #
Specifies a Colour by its red, green, and blue components, where each component
is an integer between 0 and 255.
rgbPercent :: Percentage -> Percentage -> Percentage -> Colour Double Source #
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.
rgba :: Word8 -> Word8 -> Word8 -> Alpha -> AlphaColour Double Source #
Specifies an AlphaColour by its RGB components and an alpha value.
rgbar g b 0.0 =transparent
rgbaPercent :: Percentage -> Percentage -> Percentage -> Alpha -> AlphaColour Double Source #
Specifies an AlphaColour by its RGB component percentages (which should be
between 0% and 100%) and an alpha value.
rgbaPercentr g b 0.0 =transparent
hsl :: Degrees -> Percentage -> Percentage -> Colour Double Source #
Specifies a Colour by its hue, saturation, and lightness value, where
saturation and lightness are percentages between 0% and 100%.
hsla :: Degrees -> Percentage -> Percentage -> Alpha -> AlphaColour Double Source #
Specifies an AlphaColour by its HSL values and an alpha value.
hslah s v 0.0 =transparent
colour reexports
Colour and AlphaColour
This type represents the human preception of colour.
The a parameter is a numeric type used internally for the
representation.
The Monoid instance allows one to add colours, but beware that adding
colours can take you out of gamut. Consider using blend whenever
possible.
data AlphaColour a #
This type represents a Colour that may be semi-transparent.
The Monoid instance allows you to composite colours.
x `mappend` y == x `over` y
To get the (pre-multiplied) colour channel of an AlphaColour c,
simply composite c over black.
c `over` black
Instances
transparent :: AlphaColour Double Source #
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)).
readColourName :: MonadFail m => String -> m (Colour Double) Source #
Takes a string naming a Colour (must be all lowercase) and returns it. Fails if
the name is not recognized.
CSS Level 1 colors
CSS Level 2 color
CSS Color Module Level 3 colors
antiquewhite :: Colour Double Source #
#FAEBD7, rgb(250, 235, 215), hsl(34, 78%, 91%)
aquamarine :: Colour Double Source #
#7FFFD4, rgb(127, 255, 212), hsl(160, 100%, 75%)
blanchedalmond :: Colour Double Source #
#FFEBCD, rgb(255, 235, 205), hsl(36, 100%, 90%)
blueviolet :: Colour Double Source #
#8A2BE2, rgb(138, 43, 226), hsl(271, 76%, 53%)
chartreuse :: Colour Double Source #
#7FFF00, rgb(127, 255, 0), hsl(90, 100%, 50%)
cornflowerblue :: Colour Double Source #
#6495ED, rgb(100, 149, 237), hsl(219, 79%, 66%)
darkgoldenrod :: Colour Double Source #
#B8860B, rgb(184, 134, 11), hsl(43, 89%, 38%)
darkmagenta :: Colour Double Source #
#8B008B, rgb(139, 0, 139), hsl(300, 100%, 27%)
darkolivegreen :: Colour Double Source #
#556B2F, rgb(85, 107, 47), hsl(82, 39%, 30%)
darkorange :: Colour Double Source #
#FF8C00, rgb(255, 140, 0), hsl(33, 100%, 50%)
darkorchid :: Colour Double Source #
#9932CC, rgb(153, 50, 204), hsl(280, 61%, 50%)
darksalmon :: Colour Double Source #
#E9967A, rgb(233, 150, 122), hsl(15, 72%, 70%)
darkseagreen :: Colour Double Source #
#8FBC8F, rgb(143, 188, 143), hsl(120, 25%, 65%)
darkslateblue :: Colour Double Source #
#483D8B, rgb(72, 61, 139), hsl(248, 39%, 39%)
darkslategray :: Colour Double Source #
#2F4F4F, rgb(47, 79, 79), hsl(180, 25%, 25%). Same as darkslategrey.
darkslategrey :: Colour Double Source #
#2F4F4F, rgb(47, 79, 79), hsl(180, 25%, 25%). Same as darkslategray.
darkturquoise :: Colour Double Source #
#00CED1, rgb(0, 206, 209), hsl(181, 100%, 41%)
darkviolet :: Colour Double Source #
#9400D3, rgb(148, 0, 211), hsl(282, 100%, 41%)
deepskyblue :: Colour Double Source #
#00BFFF, rgb(0, 191, 255), hsl(195, 100%, 50%)
dodgerblue :: Colour Double Source #
#1E90FF, rgb(30, 144, 255), hsl(210, 100%, 56%)
floralwhite :: Colour Double Source #
#FFFAF0, rgb(255, 250, 240), hsl(40, 100%, 97%)
forestgreen :: Colour Double Source #
#228B22, rgb(34, 139, 34), hsl(120, 61%, 34%)
ghostwhite :: Colour Double Source #
#F8F8FF, rgb(248, 248, 255), hsl(240, 100%, 99%)
greenyellow :: Colour Double Source #
#ADFF2F, rgb(173, 255, 47), hsl(84, 100%, 59%)
lavenderblush :: Colour Double Source #
#FFF0F5, rgb(255, 240, 245), hsl(340, 100%, 97%)
lemonchiffon :: Colour Double Source #
#FFFACD, rgb(255, 250, 205), hsl(54, 100%, 90%)
lightcoral :: Colour Double Source #
#F08080, rgb(240, 128, 128), hsl(0, 79%, 72%)
lightgoldenrodyellow :: Colour Double Source #
#FAFAD2, rgb(250, 250, 210), hsl(60, 80%, 90%)
lightgreen :: Colour Double Source #
#90EE90, rgb(144, 238, 144), hsl(120, 73%, 75%)
lightsalmon :: Colour Double Source #
#FFA07A, rgb(255, 160, 122), hsl(17, 100%, 74%)
lightseagreen :: Colour Double Source #
#20B2AA, rgb(32, 178, 170), hsl(177, 70%, 41%)
lightskyblue :: Colour Double Source #
#87CEFA, rgb(135, 206, 250), hsl(203, 92%, 75%)
lightslategray :: Colour Double Source #
#778899, rgb(119, 136, 153), hsl(210, 14%, 53%). Same as lightslategrey.
lightslategrey :: Colour Double Source #
#778899, rgb(119, 136, 153), hsl(210, 14%, 53%). Same as lightslategray.
lightsteelblue :: Colour Double Source #
#B0C4DE, rgb(176, 196, 222), hsl(214, 41%, 78%)
lightyellow :: Colour Double Source #
#FFFFE0, rgb(255, 255, 224), hsl(60, 100%, 94%)
mediumaquamarine :: Colour Double Source #
#66CDAA, rgb(102, 205, 170), hsl(160, 51%, 60%)
mediumblue :: Colour Double Source #
#0000CD, rgb(0, 0, 205), hsl(240, 100%, 40%)
mediumorchid :: Colour Double Source #
#BA55D3, rgb(186, 85, 211), hsl(288, 59%, 58%)
mediumpurple :: Colour Double Source #
#9370DB, rgb(147, 112, 219), hsl(260, 60%, 65%)
mediumseagreen :: Colour Double Source #
#3CB371, rgb(60, 179, 113), hsl(147, 50%, 47%)
mediumslateblue :: Colour Double Source #
#7B68EE, rgb(123, 104, 238), hsl(249, 80%, 67%)
mediumspringgreen :: Colour Double Source #
#00FA9A, rgb(0, 250, 154), hsl(157, 100%, 49%)
mediumturquoise :: Colour Double Source #
#48D1CC, rgb(72, 209, 204), hsl(178, 60%, 55%)
mediumvioletred :: Colour Double Source #
#C71585, rgb(199, 21, 133), hsl(322, 81%, 43%)
midnightblue :: Colour Double Source #
#191970, rgb(25, 25, 112), hsl(240, 64%, 27%)
navajowhite :: Colour Double Source #
#FFDEAD, rgb(255, 222, 173), hsl(36, 100%, 84%)
palegoldenrod :: Colour Double Source #
#EEE8AA, rgb(238, 232, 170), hsl(55, 67%, 80%)
paleturquoise :: Colour Double Source #
#AFEEEE, rgb(175, 238, 238), hsl(180, 65%, 81%)
palevioletred :: Colour Double Source #
#DB7093, rgb(219, 112, 147), hsl(340, 60%, 65%)
papayawhip :: Colour Double Source #
#FFEFD5, rgb(255, 239, 213), hsl(37, 100%, 92%)
powderblue :: Colour Double Source #
#B0E0E6, rgb(176, 224, 230), hsl(187, 52%, 80%)
saddlebrown :: Colour Double Source #
#8B4513, rgb(139, 69, 19), hsl(25, 76%, 31%)
sandybrown :: Colour Double Source #
#F4A460, rgb(244, 164, 96), hsl(28, 87%, 67%)
slategray :: Colour Double Source #
#708090, rgb(112, 128, 144), hsl(210, 13%, 50%). Same as slategrey.
slategrey :: Colour Double Source #
#708090, rgb(112, 128, 144), hsl(210, 13%, 50%). Same as slategray.
springgreen :: Colour Double Source #
#00FF7F, rgb(0, 255, 127), hsl(150, 100%, 50%)
whitesmoke :: Colour Double Source #
#F5F5F5, rgb(245, 245, 245), hsl(0, 0%, 96%)
yellowgreen :: Colour Double Source #
#9ACD32, rgb(154, 205, 50), hsl(80, 61%, 50%)
CSS Color Module Level 4 color
rebeccapurple :: Colour Double Source #
#663399, rgb(102, 51, 153), hsl(270, 50%, 40%)