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.Avatar
|
||||||
Vervis.BinaryBody
|
Vervis.BinaryBody
|
||||||
Vervis.Changes
|
Vervis.Changes
|
||||||
|
Vervis.Colour
|
||||||
Vervis.Content
|
Vervis.Content
|
||||||
Vervis.Darcs
|
Vervis.Darcs
|
||||||
Vervis.Discussion
|
Vervis.Discussion
|
||||||
|
@ -186,6 +187,8 @@ library
|
||||||
, case-insensitive
|
, case-insensitive
|
||||||
, classy-prelude
|
, classy-prelude
|
||||||
, classy-prelude-conduit
|
, classy-prelude-conduit
|
||||||
|
-- for defining colors for use with diagrams
|
||||||
|
, colour
|
||||||
, conduit
|
, conduit
|
||||||
, containers
|
, containers
|
||||||
-- for SHA1 hashing when parsing Darcs patch metadata
|
-- for SHA1 hashing when parsing Darcs patch metadata
|
||||||
|
|
Loading…
Reference in a new issue