Color-0.4.1: Color spaces and conversions between them
Copyright(c) Alexey Kuleshevich 2018-2020
LicenseBSD3
MaintainerAlexey Kuleshevich <lehins@yandex.ru>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Graphics.Color.Space.OKLAB

Description

 
Synopsis

Constructors for an CIE L*a*b* color space.

OKLAB :: V3 e %1 -> Color OKLAB e Source #

pattern ColorOKLAB :: e -> e -> e -> Color OKLAB e Source #

pattern ColorOKLABA :: e -> e -> e -> e -> Color (Alpha OKLAB) e Source #

Constructor for OKLAB with alpha channel.

data OKLAB Source #

OK L*a*b* color space

Values for matrices used in conversion to and from CIEXYZ where taken from W3 CSS specification instead of the original blogpost about the OKLab color space.

Instances

Instances details
Elevator e => ColorModel OKLAB e Source #

OKLAB color space

Instance details

Defined in Graphics.Color.Space.OKLAB

Associated Types

type Components OKLAB e 
Instance details

Defined in Graphics.Color.Space.OKLAB

type Components OKLAB e = (e, e, e)
type ChannelCount OKLAB 
Instance details

Defined in Graphics.Color.Space.OKLAB

(Elevator e, RealFloat e) => ColorSpace OKLAB D65 e Source # 
Instance details

Defined in Graphics.Color.Space.OKLAB

Associated Types

type BaseModel OKLAB 
Instance details

Defined in Graphics.Color.Space.OKLAB

type BaseSpace OKLAB 
Instance details

Defined in Graphics.Color.Space.OKLAB

Foldable (Color OKLAB) Source #

OKLAB color space

Instance details

Defined in Graphics.Color.Space.OKLAB

Methods

fold :: Monoid m => Color OKLAB m -> m #

foldMap :: Monoid m => (a -> m) -> Color OKLAB a -> m #

foldMap' :: Monoid m => (a -> m) -> Color OKLAB a -> m #

foldr :: (a -> b -> b) -> b -> Color OKLAB a -> b #

foldr' :: (a -> b -> b) -> b -> Color OKLAB a -> b #

foldl :: (b -> a -> b) -> b -> Color OKLAB a -> b #

foldl' :: (b -> a -> b) -> b -> Color OKLAB a -> b #

foldr1 :: (a -> a -> a) -> Color OKLAB a -> a #

foldl1 :: (a -> a -> a) -> Color OKLAB a -> a #

toList :: Color OKLAB a -> [a] #

null :: Color OKLAB a -> Bool #

length :: Color OKLAB a -> Int #

elem :: Eq a => a -> Color OKLAB a -> Bool #

maximum :: Ord a => Color OKLAB a -> a #

minimum :: Ord a => Color OKLAB a -> a #

sum :: Num a => Color OKLAB a -> a #

product :: Num a => Color OKLAB a -> a #

Traversable (Color OKLAB) Source #

OKLAB color space

Instance details

Defined in Graphics.Color.Space.OKLAB

Methods

traverse :: Applicative f => (a -> f b) -> Color OKLAB a -> f (Color OKLAB b) #

sequenceA :: Applicative f => Color OKLAB (f a) -> f (Color OKLAB a) #

mapM :: Monad m => (a -> m b) -> Color OKLAB a -> m (Color OKLAB b) #

sequence :: Monad m => Color OKLAB (m a) -> m (Color OKLAB a) #

Applicative (Color OKLAB) Source #

OKLAB color space

Instance details

Defined in Graphics.Color.Space.OKLAB

Methods

pure :: a -> Color OKLAB a #

(<*>) :: Color OKLAB (a -> b) -> Color OKLAB a -> Color OKLAB b #

liftA2 :: (a -> b -> c) -> Color OKLAB a -> Color OKLAB b -> Color OKLAB c #

(*>) :: Color OKLAB a -> Color OKLAB b -> Color OKLAB b #

(<*) :: Color OKLAB a -> Color OKLAB b -> Color OKLAB a #

Functor (Color OKLAB) Source #

OKLAB color space

Instance details

Defined in Graphics.Color.Space.OKLAB

Methods

fmap :: (a -> b) -> Color OKLAB a -> Color OKLAB b #

(<$) :: a -> Color OKLAB b -> Color OKLAB a #

Storable e => Storable (Color OKLAB e) Source #

OKLAB color space

Instance details

Defined in Graphics.Color.Space.OKLAB

Methods

sizeOf :: Color OKLAB e -> Int #

alignment :: Color OKLAB e -> Int #

peekElemOff :: Ptr (Color OKLAB e) -> Int -> IO (Color OKLAB e) #

pokeElemOff :: Ptr (Color OKLAB e) -> Int -> Color OKLAB e -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Color OKLAB e) #

pokeByteOff :: Ptr b -> Int -> Color OKLAB e -> IO () #

peek :: Ptr (Color OKLAB e) -> IO (Color OKLAB e) #

poke :: Ptr (Color OKLAB e) -> Color OKLAB e -> IO () #

Elevator e => Show (Color OKLAB e) Source #

OKLAB color space

Instance details

Defined in Graphics.Color.Space.OKLAB

Methods

showsPrec :: Int -> Color OKLAB e -> ShowS #

show :: Color OKLAB e -> String #

showList :: [Color OKLAB e] -> ShowS #

Eq e => Eq (Color OKLAB e) Source #

OKLAB color space

Instance details

Defined in Graphics.Color.Space.OKLAB

Methods

(==) :: Color OKLAB e -> Color OKLAB e -> Bool #

(/=) :: Color OKLAB e -> Color OKLAB e -> Bool #

Ord e => Ord (Color OKLAB e) Source #

OKLAB color space

Instance details

Defined in Graphics.Color.Space.OKLAB

Methods

compare :: Color OKLAB e -> Color OKLAB e -> Ordering #

(<) :: Color OKLAB e -> Color OKLAB e -> Bool #

(<=) :: Color OKLAB e -> Color OKLAB e -> Bool #

(>) :: Color OKLAB e -> Color OKLAB e -> Bool #

(>=) :: Color OKLAB e -> Color OKLAB e -> Bool #

max :: Color OKLAB e -> Color OKLAB e -> Color OKLAB e #

min :: Color OKLAB e -> Color OKLAB e -> Color OKLAB e #

type ChannelCount OKLAB Source # 
Instance details

Defined in Graphics.Color.Space.OKLAB

newtype Color OKLAB e Source #

Color in OK L*a*b* color space

Instance details

Defined in Graphics.Color.Space.OKLAB

newtype Color OKLAB e = OKLAB (V3 e)
type BaseModel OKLAB Source # 
Instance details

Defined in Graphics.Color.Space.OKLAB

type BaseSpace OKLAB Source # 
Instance details

Defined in Graphics.Color.Space.OKLAB

type Components OKLAB e Source # 
Instance details

Defined in Graphics.Color.Space.OKLAB

type Components OKLAB e = (e, e, e)