Color-0.3.3: Color spaces and conversions between them
Copyright(c) Alexey Kuleshevich 2019-2020
LicenseBSD3
MaintainerAlexey Kuleshevich <[email protected]>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Graphics.Color.Adaptation

Description

 
Synopsis

Documentation

class (Illuminant it, Illuminant ir, Elevator e, RealFloat e) => ChromaticAdaptation (t :: k) (it :: kt) (ir :: kr) e where Source #

Associated Types

data Adaptation (t :: k) (it :: kt) (ir :: kr) e Source #

Methods

adaptColorXYZ :: Adaptation t it ir e -> Color (XYZ it) e -> Color (XYZ ir) e Source #

Instances

Instances details
(Illuminant it, Illuminant ir, Elevator e, RealFloat e) => ChromaticAdaptation (t :: VonKries) (it :: kt) (ir :: kr) e Source # 
Instance details

Defined in Graphics.Color.Adaptation.VonKries

Associated Types

newtype Adaptation (t :: VonKries) (it :: kt) (ir :: kr) e 
Instance details

Defined in Graphics.Color.Adaptation.VonKries

newtype Adaptation (t :: VonKries) (it :: kt) (ir :: kr) e = AdaptationMatrix (M3x3 e)

Methods

adaptColorXYZ :: Adaptation t it ir e -> Color (XYZ it) e -> Color (XYZ ir) e Source #

data family Adaptation (t :: k) (it :: kt) (ir :: kr) e Source #

Instances

Instances details
(Illuminant it, Illuminant ir, Elevator e) => Show (Adaptation t it ir e) Source # 
Instance details

Defined in Graphics.Color.Adaptation.VonKries

Methods

showsPrec :: Int -> Adaptation t it ir e -> ShowS #

show :: Adaptation t it ir e -> String #

showList :: [Adaptation t it ir e] -> ShowS #

Eq e => Eq (Adaptation t it ir e) Source # 
Instance details

Defined in Graphics.Color.Adaptation.VonKries

Methods

(==) :: Adaptation t it ir e -> Adaptation t it ir e -> Bool #

(/=) :: Adaptation t it ir e -> Adaptation t it ir e -> Bool #

newtype Adaptation (t :: VonKries) (it :: kt) (ir :: kr) e Source # 
Instance details

Defined in Graphics.Color.Adaptation.VonKries

newtype Adaptation (t :: VonKries) (it :: kt) (ir :: kr) e = AdaptationMatrix (M3x3 e)

chromaticAdaptation :: forall {k1} {k2} {k3} (t :: k1) (it :: k2) (ir :: k3) e (cs :: Linearity -> Type). ChromaticAdaptation t it ir e => Adaptation t it ir e -> Gamut cs it e -> Gamut cs ir e Source #

convertWith :: forall {k} {kt} {kr} (t :: k) (i' :: kt) (i :: kr) e cs' cs. (ChromaticAdaptation t i' i e, ColorSpace cs' i' e, ColorSpace cs i e) => Adaptation t i' i e -> Color cs' e -> Color cs e Source #

convertElevatedWith :: forall {k} {kt} {kr} (t :: k) (i' :: kt) (i :: kr) a cs' e' cs e. (ChromaticAdaptation t i' i a, ColorSpace cs' i' e', ColorSpace cs i e) => Adaptation t i' i a -> Color cs' e' -> Color cs e Source #

convertNoAdaptation :: forall {k} cs' e' cs e (i :: k). (ColorSpace cs' i e', ColorSpace cs i e) => Color cs' e' -> Color cs e Source #

Convert a color from one color space into another one with the same illuminant, thus not requiring a chromatic adaptation.

Since: 0.1.0