Define colors for use with 'diagrams'
This commit is contained in:
parent
386d499a61
commit
a4eeb61a44
2 changed files with 76 additions and 0 deletions
73
src/Vervis/Colour.hs
Normal file
73
src/Vervis/Colour.hs
Normal file
|
@ -0,0 +1,73 @@
|
|||
{- This file is part of Vervis.
|
||||
-
|
||||
- Written in 2016 by fr33domlover <fr33domlover@riseup.net>.
|
||||
-
|
||||
- ♡ Copying is an act of love. Please copy, reuse and share.
|
||||
-
|
||||
- The author(s) have dedicated all copyright and related and neighboring
|
||||
- rights to this software to the public domain worldwide. This software is
|
||||
- distributed without any warranty.
|
||||
-
|
||||
- You should have received a copy of the CC0 Public Domain Dedication along
|
||||
- with this software. If not, see
|
||||
- <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||
-}
|
||||
|
||||
module Vervis.Colour
|
||||
( black
|
||||
, white
|
||||
, plain
|
||||
, darkRed
|
||||
, darkGreen
|
||||
, darkYellow
|
||||
, darkBlue
|
||||
, darkMagenta
|
||||
, darkCyan
|
||||
, darkGray
|
||||
, lightRed
|
||||
, lightGreen
|
||||
, lightYellow
|
||||
, lightBlue
|
||||
, lightMagenta
|
||||
, lightCyan
|
||||
, lightGray
|
||||
)
|
||||
where
|
||||
|
||||
import Prelude
|
||||
|
||||
import Data.Colour.SRGB (Colour, sRGB24)
|
||||
import Data.Word (Word8)
|
||||
|
||||
import qualified Vervis.Palette as P
|
||||
|
||||
uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d
|
||||
uncurry3 f (x, y, z) = f x y z
|
||||
|
||||
c :: (Floating a, Ord a) => (Word8, Word8, Word8) -> Colour a
|
||||
c = uncurry3 sRGB24
|
||||
|
||||
black, white, plain :: (Floating a, Ord a) => Colour a
|
||||
black = c P.black
|
||||
white = c P.white
|
||||
plain = c P.plain
|
||||
|
||||
darkRed, darkGreen, darkYellow, darkBlue, darkMagenta, darkCyan, darkGray
|
||||
:: (Floating a, Ord a) => Colour a
|
||||
darkRed = c P.darkRed
|
||||
darkGreen = c P.darkGreen
|
||||
darkYellow = c P.darkYellow
|
||||
darkBlue = c P.darkBlue
|
||||
darkMagenta = c P.darkMagenta
|
||||
darkCyan = c P.darkCyan
|
||||
darkGray = c P.darkGray
|
||||
|
||||
lightRed, lightGreen, lightYellow, lightBlue :: (Floating a, Ord a) => Colour a
|
||||
lightMagenta, lightCyan, lightGray :: (Floating a, Ord a) => Colour a
|
||||
lightRed = c P.lightRed
|
||||
lightGreen = c P.lightGreen
|
||||
lightYellow = c P.lightYellow
|
||||
lightBlue = c P.lightBlue
|
||||
lightMagenta = c P.lightMagenta
|
||||
lightCyan = c P.lightCyan
|
||||
lightGray = c P.lightGray
|
|
@ -85,6 +85,7 @@ library
|
|||
Vervis.Avatar
|
||||
Vervis.BinaryBody
|
||||
Vervis.Changes
|
||||
Vervis.Colour
|
||||
Vervis.Content
|
||||
Vervis.Darcs
|
||||
Vervis.Discussion
|
||||
|
@ -186,6 +187,8 @@ library
|
|||
, case-insensitive
|
||||
, classy-prelude
|
||||
, classy-prelude-conduit
|
||||
-- for defining colors for use with diagrams
|
||||
, colour
|
||||
, conduit
|
||||
, containers
|
||||
-- for SHA1 hashing when parsing Darcs patch metadata
|
||||
|
|
Loading…
Reference in a new issue