Color 0.4.0 → 0.4.1
raw patch · 11 files changed
+404/−23 lines, 11 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Graphics.Color.Model: pattern ColorCMYK :: () => !e -> !e -> !e -> !e -> Color CMYK e
- Graphics.Color.Model: pattern RGB :: () => V3 e -> Color RGB e
- Graphics.Color.Space.CIE1976.LAB: pattern LAB :: () => V3 e -> Color (LAB i) e
- Graphics.Color.Space.CIE1976.LUV: pattern LUV :: () => V3 e -> Color (LUV i) e
- Graphics.Color.Space.DIN99: pattern DIN99 :: () => V3 e -> Color (DIN99 i) e
- Graphics.Color.Space.RGB.AdobeRGB: pattern AdobeRGB :: () => Color RGB e -> Color (AdobeRGB l) e
- Graphics.Color.Space.RGB.Alternative: Weights :: V3 e -> Weights e
- Graphics.Color.Space.RGB.Alternative: [unWeights] :: Weights e -> V3 e
- Graphics.Color.Space.RGB.Alternative: data family Color cs e :: Type
- Graphics.Color.Space.RGB.Alternative: newtype Weights e
- Graphics.Color.Space.RGB.ITU.Rec470: pattern BT470_625 :: () => Color RGB e -> Color (BT470_625 l) e
- Graphics.Color.Space.RGB.ITU.Rec601: pattern BT601_625 :: () => Color RGB e -> Color (BT601_625 l) e
- Graphics.Color.Space.RGB.ITU.Rec709: pattern BT709 :: () => Color RGB e -> Color (BT709 l) e
- Graphics.Color.Space.RGB.Luma: pattern Luma :: () => Color X e -> Color (Y' cs) e
- Graphics.Color.Space.RGB.SRGB: pattern SRGB :: () => Color RGB e -> Color (SRGB l) e
+ Graphics.Color.Adaptation: data family Adaptation (t :: k) (it :: kt) (ir :: kr) e
+ Graphics.Color.Algebra: ($dmtoShowS) :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Algebra: bitReverse16 :: Word16 -> Word16
+ Graphics.Color.Algebra: bitReverse32 :: Word32 -> Word32
+ Graphics.Color.Algebra: bitReverse64 :: Word64 -> Word64
+ Graphics.Color.Algebra: bitReverse8 :: Word8 -> Word8
+ Graphics.Color.Algebra: byteSwap16 :: Word16 -> Word16
+ Graphics.Color.Algebra: byteSwap32 :: Word32 -> Word32
+ Graphics.Color.Algebra: byteSwap64 :: Word64 -> Word64
+ Graphics.Color.Algebra: data Word
+ Graphics.Color.Algebra: data Word16
+ Graphics.Color.Algebra: data Word32
+ Graphics.Color.Algebra: data Word64
+ Graphics.Color.Algebra: data Word8
+ Graphics.Color.Algebra: fromWord8 :: Elevator e => Word8 -> e
+ Graphics.Color.Model: ($dmtoShowS) :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Model: bitReverse16 :: Word16 -> Word16
+ Graphics.Color.Model: bitReverse32 :: Word32 -> Word32
+ Graphics.Color.Model: bitReverse64 :: Word64 -> Word64
+ Graphics.Color.Model: bitReverse8 :: Word8 -> Word8
+ Graphics.Color.Model: byteSwap16 :: Word16 -> Word16
+ Graphics.Color.Model: byteSwap32 :: Word32 -> Word32
+ Graphics.Color.Model: byteSwap64 :: Word64 -> Word64
+ Graphics.Color.Model: data Word
+ Graphics.Color.Model: data Word16
+ Graphics.Color.Model: data Word32
+ Graphics.Color.Model: data Word64
+ Graphics.Color.Model: data Word8
+ Graphics.Color.Model: fromWord8 :: Elevator e => Word8 -> e
+ Graphics.Color.Space: ($dmfromBaseModel) :: (ColorSpace cs i e, Coercible (Color (BaseModel cs) e) (Color cs e)) => Color (BaseModel cs) e -> Color cs e
+ Graphics.Color.Space: ($dmfromColorXYZ) :: forall a. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color (XYZ i) a -> Color cs e
+ Graphics.Color.Space: ($dmtoBaseModel) :: (ColorSpace cs i e, Coercible (Color cs e) (Color (BaseModel cs) e)) => Color cs e -> Color (BaseModel cs) e
+ Graphics.Color.Space: ($dmtoColorXYZ) :: forall a. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color cs e -> Color (XYZ i) a
+ Graphics.Color.Space: ($dmtoShowS) :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Space: bitReverse16 :: Word16 -> Word16
+ Graphics.Color.Space: bitReverse32 :: Word32 -> Word32
+ Graphics.Color.Space: bitReverse64 :: Word64 -> Word64
+ Graphics.Color.Space: bitReverse8 :: Word8 -> Word8
+ Graphics.Color.Space: byteSwap16 :: Word16 -> Word16
+ Graphics.Color.Space: byteSwap32 :: Word32 -> Word32
+ Graphics.Color.Space: byteSwap64 :: Word64 -> Word64
+ Graphics.Color.Space: data Bit
+ Graphics.Color.Space: data Word
+ Graphics.Color.Space: data Word16
+ Graphics.Color.Space: data Word32
+ Graphics.Color.Space: data Word64
+ Graphics.Color.Space: data Word8
+ Graphics.Color.Space: fromBool :: Bool -> Bit
+ Graphics.Color.Space: fromNum :: (Eq a, Num a) => a -> Bit
+ Graphics.Color.Space: fromWord8 :: Elevator e => Word8 -> e
+ Graphics.Color.Space: one :: Bit
+ Graphics.Color.Space: toBool :: Bit -> Bool
+ Graphics.Color.Space: toNum :: Num a => Bit -> a
+ Graphics.Color.Space: zero :: Bit
+ Graphics.Color.Space.CIE1976.LAB: LAB :: forall k (i :: k) e. V3 e %1 -> Color (LAB i) e
+ Graphics.Color.Space.CIE1976.LUV: LUV :: forall k (i :: k) e. V3 e %1 -> Color (LUV i) e
+ Graphics.Color.Space.DIN99: DIN99 :: forall k (i :: k) e. V3 e %1 -> Color (DIN99 i) e
+ Graphics.Color.Space.OKLAB: OKLAB :: V3 e %1 -> Color OKLAB e
+ Graphics.Color.Space.OKLAB: data OKLAB
+ Graphics.Color.Space.OKLAB: instance (Graphics.Color.Algebra.Elevator.Elevator e, GHC.Float.RealFloat e) => Graphics.Color.Space.Internal.ColorSpace Graphics.Color.Space.OKLAB.OKLAB Graphics.Color.Illuminant.ITU.Rec601.D65 e
+ Graphics.Color.Space.OKLAB: instance Data.Foldable.Foldable (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.OKLAB)
+ Graphics.Color.Space.OKLAB: instance Data.Traversable.Traversable (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.OKLAB)
+ Graphics.Color.Space.OKLAB: instance Foreign.Storable.Storable e => Foreign.Storable.Storable (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.OKLAB e)
+ Graphics.Color.Space.OKLAB: instance GHC.Base.Applicative (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.OKLAB)
+ Graphics.Color.Space.OKLAB: instance GHC.Base.Functor (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.OKLAB)
+ Graphics.Color.Space.OKLAB: instance GHC.Classes.Eq e => GHC.Classes.Eq (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.OKLAB e)
+ Graphics.Color.Space.OKLAB: instance GHC.Classes.Ord e => GHC.Classes.Ord (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.OKLAB e)
+ Graphics.Color.Space.OKLAB: instance Graphics.Color.Algebra.Elevator.Elevator e => GHC.Show.Show (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.OKLAB e)
+ Graphics.Color.Space.OKLAB: instance Graphics.Color.Algebra.Elevator.Elevator e => Graphics.Color.Model.Internal.ColorModel Graphics.Color.Space.OKLAB.OKLAB e
+ Graphics.Color.Space.OKLAB: pattern ColorOKLAB :: e -> e -> e -> Color OKLAB e
+ Graphics.Color.Space.OKLAB: pattern ColorOKLABA :: e -> e -> e -> e -> Color (Alpha OKLAB) e
+ Graphics.Color.Space.OKLAB.LCH: data OKLCH
+ Graphics.Color.Space.OKLAB.LCH: data family Color cs e
+ Graphics.Color.Space.OKLAB.LCH: instance (Graphics.Color.Algebra.Elevator.Elevator e, Graphics.Color.Model.Internal.ColorModel Graphics.Color.Space.OKLAB.OKLAB e) => Graphics.Color.Model.Internal.ColorModel Graphics.Color.Space.OKLAB.LCH.OKLCH e
+ Graphics.Color.Space.OKLAB.LCH: instance (Graphics.Color.Algebra.Elevator.Elevator e, Graphics.Color.Space.Internal.ColorSpace Graphics.Color.Space.OKLAB.OKLAB Graphics.Color.Illuminant.ITU.Rec601.D65 e) => Graphics.Color.Space.Internal.ColorSpace Graphics.Color.Space.OKLAB.LCH.OKLCH Graphics.Color.Illuminant.ITU.Rec601.D65 e
+ Graphics.Color.Space.OKLAB.LCH: instance Data.Foldable.Foldable (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.LCH.OKLCH)
+ Graphics.Color.Space.OKLAB.LCH: instance Data.Traversable.Traversable (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.LCH.OKLCH)
+ Graphics.Color.Space.OKLAB.LCH: instance Foreign.Storable.Storable e => Foreign.Storable.Storable (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.LCH.OKLCH e)
+ Graphics.Color.Space.OKLAB.LCH: instance GHC.Base.Applicative (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.LCH.OKLCH)
+ Graphics.Color.Space.OKLAB.LCH: instance GHC.Base.Functor (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.LCH.OKLCH)
+ Graphics.Color.Space.OKLAB.LCH: instance GHC.Classes.Eq e => GHC.Classes.Eq (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.LCH.OKLCH e)
+ Graphics.Color.Space.OKLAB.LCH: instance GHC.Classes.Ord e => GHC.Classes.Ord (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.LCH.OKLCH e)
+ Graphics.Color.Space.OKLAB.LCH: instance Graphics.Color.Algebra.Elevator.Elevator e => GHC.Show.Show (Graphics.Color.Model.Internal.Color Graphics.Color.Space.OKLAB.LCH.OKLCH e)
+ Graphics.Color.Space.OKLAB.LCH: pattern ColorOKLCH :: e -> e -> e -> Color OKLCH e
+ Graphics.Color.Space.OKLAB.LCH: pattern ColorOKLCHA :: e -> e -> e -> e -> Color (Alpha OKLCH) e
+ Graphics.Color.Space.RGB: ($dmfromBaseModel) :: (ColorSpace cs i e, Coercible (Color (BaseModel cs) e) (Color cs e)) => Color (BaseModel cs) e -> Color cs e
+ Graphics.Color.Space.RGB: ($dmfromColorXYZ) :: forall a. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color (XYZ i) a -> Color cs e
+ Graphics.Color.Space.RGB: ($dmmkColorRGB) :: forall e (l :: Linearity). (RedGreenBlue cs i, Coercible (Color RGB e) (Color (cs l) e)) => Color RGB e -> Color (cs l) e
+ Graphics.Color.Space.RGB: ($dmtoBaseModel) :: (ColorSpace cs i e, Coercible (Color cs e) (Color (BaseModel cs) e)) => Color cs e -> Color (BaseModel cs) e
+ Graphics.Color.Space.RGB: ($dmtoColorXYZ) :: forall a. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color cs e -> Color (XYZ i) a
+ Graphics.Color.Space.RGB: ($dmtoShowS) :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Space.RGB: ($dmunColorRGB) :: forall (l :: Linearity) e. (RedGreenBlue cs i, Coercible (Color (cs l) e) (Color RGB e)) => Color (cs l) e -> Color RGB e
+ Graphics.Color.Space.RGB: bitReverse16 :: Word16 -> Word16
+ Graphics.Color.Space.RGB: bitReverse32 :: Word32 -> Word32
+ Graphics.Color.Space.RGB: bitReverse64 :: Word64 -> Word64
+ Graphics.Color.Space.RGB: bitReverse8 :: Word8 -> Word8
+ Graphics.Color.Space.RGB: byteSwap16 :: Word16 -> Word16
+ Graphics.Color.Space.RGB: byteSwap32 :: Word32 -> Word32
+ Graphics.Color.Space.RGB: byteSwap64 :: Word64 -> Word64
+ Graphics.Color.Space.RGB: data Bit
+ Graphics.Color.Space.RGB: data Word
+ Graphics.Color.Space.RGB: data Word16
+ Graphics.Color.Space.RGB: data Word32
+ Graphics.Color.Space.RGB: data Word64
+ Graphics.Color.Space.RGB: data Word8
+ Graphics.Color.Space.RGB: fromBool :: Bool -> Bit
+ Graphics.Color.Space.RGB: fromNum :: (Eq a, Num a) => a -> Bit
+ Graphics.Color.Space.RGB: fromWord8 :: Elevator e => Word8 -> e
+ Graphics.Color.Space.RGB: one :: Bit
+ Graphics.Color.Space.RGB: toBool :: Bit -> Bool
+ Graphics.Color.Space.RGB: toNum :: Num a => Bit -> a
+ Graphics.Color.Space.RGB: zero :: Bit
+ Graphics.Color.Space.RGB.AdobeRGB: AdobeRGB :: forall (l :: Linearity) e. Color RGB e %1 -> Color (AdobeRGB l) e
+ Graphics.Color.Space.RGB.Alternative: ($dmfromBaseModel) :: (ColorSpace cs i e, Coercible (Color (BaseModel cs) e) (Color cs e)) => Color (BaseModel cs) e -> Color cs e
+ Graphics.Color.Space.RGB.Alternative: ($dmfromColorXYZ) :: forall a. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color (XYZ i) a -> Color cs e
+ Graphics.Color.Space.RGB.Alternative: ($dmmkColorRGB) :: forall e (l :: Linearity). (RedGreenBlue cs i, Coercible (Color RGB e) (Color (cs l) e)) => Color RGB e -> Color (cs l) e
+ Graphics.Color.Space.RGB.Alternative: ($dmtoBaseModel) :: (ColorSpace cs i e, Coercible (Color cs e) (Color (BaseModel cs) e)) => Color cs e -> Color (BaseModel cs) e
+ Graphics.Color.Space.RGB.Alternative: ($dmtoColorXYZ) :: forall a. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color cs e -> Color (XYZ i) a
+ Graphics.Color.Space.RGB.Alternative: ($dmtoShowS) :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Space.RGB.Alternative: ($dmunColorRGB) :: forall (l :: Linearity) e. (RedGreenBlue cs i, Coercible (Color (cs l) e) (Color RGB e)) => Color (cs l) e -> Color RGB e
+ Graphics.Color.Space.RGB.Alternative: Alpha :: Color cs e %1 -> e %1 -> Color (Alpha cs) e
+ Graphics.Color.Space.RGB.Alternative: CIExyY :: forall k (i :: k) e. V2 e %1 -> Color (CIExyY i) e
+ Graphics.Color.Space.RGB.Alternative: Luminance :: forall k (i :: k) e. Color X e %1 -> Color (Y i) e
+ Graphics.Color.Space.RGB.Alternative: X :: e %1 -> Color X e
+ Graphics.Color.Space.RGB.Alternative: XYZ :: forall k (i :: k) e. V3 e %1 -> Color (XYZ i) e
+ Graphics.Color.Space.RGB.Alternative: bitReverse16 :: Word16 -> Word16
+ Graphics.Color.Space.RGB.Alternative: bitReverse32 :: Word32 -> Word32
+ Graphics.Color.Space.RGB.Alternative: bitReverse64 :: Word64 -> Word64
+ Graphics.Color.Space.RGB.Alternative: bitReverse8 :: Word8 -> Word8
+ Graphics.Color.Space.RGB.Alternative: byteSwap16 :: Word16 -> Word16
+ Graphics.Color.Space.RGB.Alternative: byteSwap32 :: Word32 -> Word32
+ Graphics.Color.Space.RGB.Alternative: byteSwap64 :: Word64 -> Word64
+ Graphics.Color.Space.RGB.Alternative: data Bit
+ Graphics.Color.Space.RGB.Alternative: data Word
+ Graphics.Color.Space.RGB.Alternative: data Word16
+ Graphics.Color.Space.RGB.Alternative: data Word32
+ Graphics.Color.Space.RGB.Alternative: data Word64
+ Graphics.Color.Space.RGB.Alternative: data Word8
+ Graphics.Color.Space.RGB.Alternative: fromBool :: Bool -> Bit
+ Graphics.Color.Space.RGB.Alternative: fromNum :: (Eq a, Num a) => a -> Bit
+ Graphics.Color.Space.RGB.Alternative: fromWord8 :: Elevator e => Word8 -> e
+ Graphics.Color.Space.RGB.Alternative: one :: Bit
+ Graphics.Color.Space.RGB.Alternative: toBool :: Bit -> Bool
+ Graphics.Color.Space.RGB.Alternative: toNum :: Num a => Bit -> a
+ Graphics.Color.Space.RGB.Alternative: zero :: Bit
+ Graphics.Color.Space.RGB.ITU.Rec470: BT470_525 :: forall (l :: Linearity) e. Color RGB e %1 -> Color (BT470_525 l) e
+ Graphics.Color.Space.RGB.ITU.Rec470: BT470_625 :: forall (l :: Linearity) e. Color RGB e %1 -> Color (BT470_625 l) e
+ Graphics.Color.Space.RGB.ITU.Rec601: BT601_525 :: forall (l :: Linearity) e. Color RGB e %1 -> Color (BT601_525 l) e
+ Graphics.Color.Space.RGB.ITU.Rec601: BT601_625 :: forall (l :: Linearity) e. Color RGB e %1 -> Color (BT601_625 l) e
+ Graphics.Color.Space.RGB.ITU.Rec709: BT709 :: forall (l :: Linearity) e. Color RGB e %1 -> Color (BT709 l) e
+ Graphics.Color.Space.RGB.Luma: Luma :: forall (cs :: Linearity -> Type) e. Color X e %1 -> Color (Y' cs) e
+ Graphics.Color.Space.RGB.SRGB: SRGB :: forall (l :: Linearity) e. Color RGB e %1 -> Color (SRGB l) e
- Graphics.Color.Adaptation: chromaticAdaptation :: ChromaticAdaptation t it ir e => Adaptation t it ir e -> Gamut cs it e -> Gamut cs ir e
+ Graphics.Color.Adaptation: 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
- Graphics.Color.Adaptation: convertElevatedWith :: (ChromaticAdaptation t i' i a, ColorSpace cs' i' e', ColorSpace cs i e) => Adaptation t i' i a -> Color cs' e' -> Color cs e
+ Graphics.Color.Adaptation: 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
- Graphics.Color.Adaptation: convertNoAdaptation :: forall cs' e' cs e i. (ColorSpace cs' i e', ColorSpace cs i e) => Color cs' e' -> Color cs e
+ Graphics.Color.Adaptation: convertNoAdaptation :: forall {k} cs' e' cs e (i :: k). (ColorSpace cs' i e', ColorSpace cs i e) => Color cs' e' -> Color cs e
- Graphics.Color.Adaptation: convertWith :: (ChromaticAdaptation t i' i e, ColorSpace cs' i' e, ColorSpace cs i e) => Adaptation t i' i e -> Color cs' e -> Color cs e
+ Graphics.Color.Adaptation: 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
- Graphics.Color.Adaptation: data Adaptation t it ir e :: Type;
+ Graphics.Color.Adaptation: data Adaptation (t :: k) (it :: kt) (ir :: kr) e;
- Graphics.Color.Adaptation.VonKries: adaptationMatrix :: forall t it ir e. (ChromaticAdaptationTransform t, ChromaticAdaptation t it ir e) => Adaptation (t :: VonKries) it ir e
+ Graphics.Color.Adaptation.VonKries: adaptationMatrix :: forall {kt} {kr} (t :: VonKries) (it :: kt) (ir :: kr) e. (ChromaticAdaptationTransform t, ChromaticAdaptation t it ir e) => Adaptation t it ir e
- Graphics.Color.Adaptation.VonKries: bradfordAdaptation :: ChromaticAdaptation 'Bradford it ir e => Adaptation 'Bradford it ir e
+ Graphics.Color.Adaptation.VonKries: bradfordAdaptation :: forall {kt} {kr} (it :: kt) (ir :: kr) e. ChromaticAdaptation 'Bradford it ir e => Adaptation 'Bradford it ir e
- Graphics.Color.Adaptation.VonKries: ciecat02Adaptation :: ChromaticAdaptation 'CIECAT02 it ir e => Adaptation 'CIECAT02 it ir e
+ Graphics.Color.Adaptation.VonKries: ciecat02Adaptation :: forall {kt} {kr} (it :: kt) (ir :: kr) e. ChromaticAdaptation 'CIECAT02 it ir e => Adaptation 'CIECAT02 it ir e
- Graphics.Color.Adaptation.VonKries: cmccat2000Adaptation :: ChromaticAdaptation 'CMCCAT2000 it ir e => Adaptation 'CIECAT02 it ir e
+ Graphics.Color.Adaptation.VonKries: cmccat2000Adaptation :: forall {kt} {kr} (it :: kt) (ir :: kr) e. ChromaticAdaptation 'CMCCAT2000 it ir e => Adaptation 'CIECAT02 it ir e
- Graphics.Color.Adaptation.VonKries: convert :: (ColorSpace cs' i' e', ColorSpace cs i e) => Color cs' e' -> Color cs e
+ Graphics.Color.Adaptation.VonKries: convert :: forall {k1} {k2} cs' (i' :: k1) e' cs (i :: k2) e. (ColorSpace cs' i' e', ColorSpace cs i e) => Color cs' e' -> Color cs e
- Graphics.Color.Adaptation.VonKries: fairchildAdaptation :: ChromaticAdaptation 'Fairchild it ir e => Adaptation 'Fairchild it ir e
+ Graphics.Color.Adaptation.VonKries: fairchildAdaptation :: forall {kt} {kr} (it :: kt) (ir :: kr) e. ChromaticAdaptation 'Fairchild it ir e => Adaptation 'Fairchild it ir e
- Graphics.Color.Adaptation.VonKries: icat :: forall t e. (ChromaticAdaptationTransform t, RealFloat e) => ICAT t e
+ Graphics.Color.Adaptation.VonKries: icat :: forall (t :: VonKries) e. (ChromaticAdaptationTransform t, RealFloat e) => ICAT t e
- Graphics.Color.Adaptation.VonKries: vonKriesAdaptation :: ChromaticAdaptation 'VonKries it ir e => Adaptation 'VonKries it ir e
+ Graphics.Color.Adaptation.VonKries: vonKriesAdaptation :: forall {kt} {kr} (it :: kt) (ir :: kr) e. ChromaticAdaptation 'VonKries it ir e => Adaptation 'VonKries it ir e
- Graphics.Color.Algebra: showsType :: Typeable t => proxy t -> ShowS
+ Graphics.Color.Algebra: showsType :: forall {k} (t :: k) proxy. Typeable t => proxy t -> ShowS
- Graphics.Color.Algebra: toShowS :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Algebra: toShowS :: Elevator e => e -> ShowS
- Graphics.Color.Illuminant.CIE1931: rectifyColorTemperature :: Int -> Double -> CCT (i :: k)
+ Graphics.Color.Illuminant.CIE1931: rectifyColorTemperature :: forall k (i :: k). Int -> Double -> CCT i
- Graphics.Color.Model: class (Functor (Color cs), Applicative (Color cs), Foldable (Color cs), Traversable (Color cs), Eq (Color cs e), Show (Color cs e), Unbox (Components cs e), Storable (Color cs e), Typeable cs, Elevator e, Typeable (Opaque cs)) => ColorModel cs e where {
+ Graphics.Color.Model: class (Functor Color cs, Applicative Color cs, Foldable Color cs, Traversable Color cs, Eq Color cs e, Show Color cs e, Unbox Components cs e, Storable Color cs e, Typeable cs, Elevator e, Typeable Opaque cs) => ColorModel cs e where {
- Graphics.Color.Model: data family Color cs e :: Type
+ Graphics.Color.Model: data family Color cs e
- Graphics.Color.Model: toShowS :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Model: toShowS :: Elevator e => e -> ShowS
- Graphics.Color.Model: type Components cs e :: Type;
+ Graphics.Color.Model: type Components cs e;
- Graphics.Color.Model: type family Opaque cs
+ Graphics.Color.Model: type family ChannelCount cs :: Nat
- Graphics.Color.Space: Chromaticity :: Color (CIExyY i) e -> Chromaticity i e
+ Graphics.Color.Space: Chromaticity :: Color (CIExyY i) e -> Chromaticity (i :: k) e
- Graphics.Color.Space: [chromaticityCIExyY] :: Chromaticity i e -> Color (CIExyY i) e
+ Graphics.Color.Space: [chromaticityCIExyY] :: Chromaticity (i :: k) e -> Color (CIExyY i) e
- Graphics.Color.Space: class (Functor (Color cs), Applicative (Color cs), Foldable (Color cs), Traversable (Color cs), Eq (Color cs e), Show (Color cs e), Unbox (Components cs e), Storable (Color cs e), Typeable cs, Elevator e, Typeable (Opaque cs)) => ColorModel cs e where {
+ Graphics.Color.Space: class (Functor Color cs, Applicative Color cs, Foldable Color cs, Traversable Color cs, Eq Color cs e, Show Color cs e, Unbox Components cs e, Storable Color cs e, Typeable cs, Elevator e, Typeable Opaque cs) => ColorModel cs e where {
- Graphics.Color.Space: class (Illuminant i, ColorModel (BaseModel cs) e, ColorModel cs e) => ColorSpace cs (i :: k) e | cs -> i where {
+ Graphics.Color.Space: class (Illuminant i, ColorModel BaseModel cs e, ColorModel cs e) => ColorSpace cs (i :: k) e | cs -> i where {
- Graphics.Color.Space: class (Typeable i, Typeable k, KnownNat (Temperature i)) => Illuminant (i :: k) where {
+ Graphics.Color.Space: class (Typeable i, Typeable k, KnownNat Temperature i :: Nat) => Illuminant (i :: k) where {
- Graphics.Color.Space: convertColor :: forall cs cs' i e. (ColorSpace cs' i e, ColorSpace cs i e) => Color cs' e -> Color cs e
+ Graphics.Color.Space: convertColor :: forall {k} cs cs' (i :: k) e. (ColorSpace cs' i e, ColorSpace cs i e) => Color cs' e -> Color cs e
- Graphics.Color.Space: convertColorFloat :: forall cs cs' i e. (ColorSpace cs' i e, ColorSpace cs i e) => Color cs' e -> Color cs e
+ Graphics.Color.Space: convertColorFloat :: forall {k} cs cs' (i :: k) e. (ColorSpace cs' i e, ColorSpace cs i e) => Color cs' e -> Color cs e
- Graphics.Color.Space: data XYZ i
+ Graphics.Color.Space: data XYZ (i :: k)
- Graphics.Color.Space: data family Color cs e :: Type
+ Graphics.Color.Space: data family Color cs e
- Graphics.Color.Space: fromBaseModel :: (ColorSpace cs i e, Coercible (Color (BaseModel cs) e) (Color cs e)) => Color (BaseModel cs) e -> Color cs e
+ Graphics.Color.Space: fromBaseModel :: ColorSpace cs i e => Color (BaseModel cs) e -> Color cs e
- Graphics.Color.Space: fromBaseSpace :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e) => Color (BaseSpace cs) e -> Color cs e
+ Graphics.Color.Space: fromBaseSpace :: ColorSpace cs i e => Color (BaseSpace cs) e -> Color cs e
- Graphics.Color.Space: fromColorXYZ :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color (XYZ i) a -> Color cs e
+ Graphics.Color.Space: fromColorXYZ :: (ColorSpace cs i e, Elevator a, RealFloat a) => Color (XYZ i) a -> Color cs e
- Graphics.Color.Space: newtype Chromaticity i e
+ Graphics.Color.Space: newtype Chromaticity (i :: k) e
- Graphics.Color.Space: pattern ColorCIExy :: e -> e -> Color (CIExyY i) e
+ Graphics.Color.Space: pattern ColorCIExy :: forall {k} e (i :: k). e -> e -> Color (CIExyY i) e
- Graphics.Color.Space: pattern ColorXYZ :: e -> e -> e -> Color (XYZ i) e
+ Graphics.Color.Space: pattern ColorXYZ :: forall {k} e (i :: k). e -> e -> e -> Color (XYZ i) e
- Graphics.Color.Space: pattern ColorXYZA :: e -> e -> e -> e -> Color (Alpha (XYZ i)) e
+ Graphics.Color.Space: pattern ColorXYZA :: forall {k} e (i :: k). e -> e -> e -> e -> Color (Alpha (XYZ i)) e
- Graphics.Color.Space: pattern Primary :: e -> e -> Primary i e
+ Graphics.Color.Space: pattern Primary :: forall {k} e i. e -> e -> Primary i e
- Graphics.Color.Space: pattern WhitePoint :: e -> e -> WhitePoint i e
+ Graphics.Color.Space: pattern WhitePoint :: forall {k} e i. e -> e -> WhitePoint i e
- Graphics.Color.Space: pattern Y :: e -> Color (Y i) e
+ Graphics.Color.Space: pattern Y :: forall {k} e (i :: k). e -> Color (Y i) e
- Graphics.Color.Space: pattern YA :: e -> e -> Color (Alpha (Y i)) e
+ Graphics.Color.Space: pattern YA :: forall {k} e (i :: k). e -> e -> Color (Alpha (Y i)) e
- Graphics.Color.Space: pattern ColorCIExyY :: Num e => e -> e -> e -> Color (CIExyY i) e
+ Graphics.Color.Space: pattern ColorCIExyY :: forall {k} e (i :: k). Num e => e -> e -> e -> Color (CIExyY i) e
- Graphics.Color.Space: primaryTristimulus :: forall i e. (Illuminant i, RealFloat e, Elevator e) => Primary i e -> Color (XYZ i) e
+ Graphics.Color.Space: primaryTristimulus :: forall {k} (i :: k) e. (Illuminant i, RealFloat e, Elevator e) => Primary i e -> Color (XYZ i) e
- Graphics.Color.Space: primaryXZ :: Fractional e => e -> Primary i e -> Color (XYZ i) e
+ Graphics.Color.Space: primaryXZ :: forall {k} e (i :: k). Fractional e => e -> Primary i e -> Color (XYZ i) e
- Graphics.Color.Space: toBaseModel :: (ColorSpace cs i e, Coercible (Color cs e) (Color (BaseModel cs) e)) => Color cs e -> Color (BaseModel cs) e
+ Graphics.Color.Space: toBaseModel :: ColorSpace cs i e => Color cs e -> Color (BaseModel cs) e
- Graphics.Color.Space: toBaseSpace :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e) => Color cs e -> Color (BaseSpace cs) e
+ Graphics.Color.Space: toBaseSpace :: ColorSpace cs i e => Color cs e -> Color (BaseSpace cs) e
- Graphics.Color.Space: toColorXYZ :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color cs e -> Color (XYZ i) a
+ Graphics.Color.Space: toColorXYZ :: (ColorSpace cs i e, Elevator a, RealFloat a) => Color cs e -> Color (XYZ i) a
- Graphics.Color.Space: toShowS :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Space: toShowS :: Elevator e => e -> ShowS
- Graphics.Color.Space: type BaseModel cs :: Type;
+ Graphics.Color.Space: type BaseModel cs;
- Graphics.Color.Space: type Components cs e :: Type;
+ Graphics.Color.Space: type Components cs e;
- Graphics.Color.Space: type Temperature i :: n;
+ Graphics.Color.Space: type Temperature (i :: k) :: n;
- Graphics.Color.Space: type family Opaque cs
+ Graphics.Color.Space: type family BaseSpace cs
- Graphics.Color.Space: unY :: Color (Y i) e -> e
+ Graphics.Color.Space: unY :: forall {k} (i :: k) e. Color (Y i) e -> e
- Graphics.Color.Space: whitePointTristimulus :: forall i e. (Illuminant i, RealFloat e, Elevator e) => Color (XYZ i) e
+ Graphics.Color.Space: whitePointTristimulus :: forall {k} (i :: k) e. (Illuminant i, RealFloat e, Elevator e) => Color (XYZ i) e
- Graphics.Color.Space: whitePointXZ :: Fractional e => e -> WhitePoint i e -> Color (XYZ i) e
+ Graphics.Color.Space: whitePointXZ :: forall {k} e (i :: k). Fractional e => e -> WhitePoint i e -> Color (XYZ i) e
- Graphics.Color.Space: xPrimary :: Primary i e -> e
+ Graphics.Color.Space: xPrimary :: forall {k} (i :: k) e. Primary i e -> e
- Graphics.Color.Space: xWhitePoint :: WhitePoint i e -> e
+ Graphics.Color.Space: xWhitePoint :: forall {k} (i :: k) e. WhitePoint i e -> e
- Graphics.Color.Space: yPrimary :: Primary i e -> e
+ Graphics.Color.Space: yPrimary :: forall {k} (i :: k) e. Primary i e -> e
- Graphics.Color.Space: yWhitePoint :: WhitePoint i e -> e
+ Graphics.Color.Space: yWhitePoint :: forall {k} (i :: k) e. WhitePoint i e -> e
- Graphics.Color.Space: zPrimary :: Num e => Primary i e -> e
+ Graphics.Color.Space: zPrimary :: forall {k} e (i :: k). Num e => Primary i e -> e
- Graphics.Color.Space: zWhitePoint :: Num e => WhitePoint i e -> e
+ Graphics.Color.Space: zWhitePoint :: forall {k} e (i :: k). Num e => WhitePoint i e -> e
- Graphics.Color.Space.CIE1931.RGB: castLinearity :: Color (CIERGB l') e -> Color (CIERGB l) e
+ Graphics.Color.Space.CIE1931.RGB: castLinearity :: forall (l' :: Linearity) e (l :: Linearity). Color (CIERGB l') e -> Color (CIERGB l) e
- Graphics.Color.Space.CIE1931.XYZ: data XYZ i
+ Graphics.Color.Space.CIE1931.XYZ: data XYZ (i :: k)
- Graphics.Color.Space.CIE1931.XYZ: pattern ColorXYZ :: e -> e -> e -> Color (XYZ i) e
+ Graphics.Color.Space.CIE1931.XYZ: pattern ColorXYZ :: forall {k} e (i :: k). e -> e -> e -> Color (XYZ i) e
- Graphics.Color.Space.CIE1976.LAB: lab2xyz :: forall i a e. (Illuminant i, Elevator e, Elevator a, RealFloat a) => Color (LAB i) e -> Color (XYZ i) a
+ Graphics.Color.Space.CIE1976.LAB: lab2xyz :: forall {k} (i :: k) a e. (Illuminant i, Elevator e, Elevator a, RealFloat a) => Color (LAB i) e -> Color (XYZ i) a
- Graphics.Color.Space.CIE1976.LAB: pattern ColorLAB :: e -> e -> e -> Color (LAB i) e
+ Graphics.Color.Space.CIE1976.LAB: pattern ColorLAB :: forall {k} e (i :: k). e -> e -> e -> Color (LAB i) e
- Graphics.Color.Space.CIE1976.LAB: pattern ColorLABA :: e -> e -> e -> e -> Color (Alpha (LAB i)) e
+ Graphics.Color.Space.CIE1976.LAB: pattern ColorLABA :: forall {k} e (i :: k). e -> e -> e -> e -> Color (Alpha (LAB i)) e
- Graphics.Color.Space.CIE1976.LAB: xyz2lab :: forall i a e. (Illuminant i, Elevator a, Elevator e, RealFloat e) => Color (XYZ i) a -> Color (LAB i) e
+ Graphics.Color.Space.CIE1976.LAB: xyz2lab :: forall {k} (i :: k) a e. (Illuminant i, Elevator a, Elevator e, RealFloat e) => Color (XYZ i) a -> Color (LAB i) e
- Graphics.Color.Space.CIE1976.LAB.LCH: data family Color cs e :: Type
+ Graphics.Color.Space.CIE1976.LAB.LCH: data family Color cs e
- Graphics.Color.Space.CIE1976.LAB.LCH: pattern ColorLCHab :: e -> e -> e -> Color (LCHab i) e
+ Graphics.Color.Space.CIE1976.LAB.LCH: pattern ColorLCHab :: forall {k} e (i :: k). e -> e -> e -> Color (LCHab i) e
- Graphics.Color.Space.CIE1976.LAB.LCH: pattern ColorLCHabA :: e -> e -> e -> e -> Color (Alpha (LCHab i)) e
+ Graphics.Color.Space.CIE1976.LAB.LCH: pattern ColorLCHabA :: forall {k} e (i :: k). e -> e -> e -> e -> Color (Alpha (LCHab i)) e
- Graphics.Color.Space.CIE1976.LUV: pattern ColorLUV :: e -> e -> e -> Color (LUV i) e
+ Graphics.Color.Space.CIE1976.LUV: pattern ColorLUV :: forall {k} e (i :: k). e -> e -> e -> Color (LUV i) e
- Graphics.Color.Space.CIE1976.LUV: pattern ColorLUVA :: e -> e -> e -> e -> Color (Alpha (LUV i)) e
+ Graphics.Color.Space.CIE1976.LUV: pattern ColorLUVA :: forall {k} e (i :: k). e -> e -> e -> e -> Color (Alpha (LUV i)) e
- Graphics.Color.Space.CIE1976.LUV.LCH: data family Color cs e :: Type
+ Graphics.Color.Space.CIE1976.LUV.LCH: data family Color cs e
- Graphics.Color.Space.CIE1976.LUV.LCH: pattern ColorLCHuv :: e -> e -> e -> Color (LCHuv i) e
+ Graphics.Color.Space.CIE1976.LUV.LCH: pattern ColorLCHuv :: forall {k} e (i :: k). e -> e -> e -> Color (LCHuv i) e
- Graphics.Color.Space.CIE1976.LUV.LCH: pattern ColorLCHuvA :: e -> e -> e -> e -> Color (Alpha (LCHuv i)) e
+ Graphics.Color.Space.CIE1976.LUV.LCH: pattern ColorLCHuvA :: forall {k} e (i :: k). e -> e -> e -> e -> Color (Alpha (LCHuv i)) e
- Graphics.Color.Space.DIN99: deltaE :: (Floating e, Illuminant i, Elevator e) => Color (LAB i) e -> Color (LAB i) e -> e
+ Graphics.Color.Space.DIN99: deltaE :: forall {k} e (i :: k). (Floating e, Illuminant i, Elevator e) => Color (LAB i) e -> Color (LAB i) e -> e
- Graphics.Color.Space.DIN99: pattern ColorDIN99 :: e -> e -> e -> Color (DIN99 i) e
+ Graphics.Color.Space.DIN99: pattern ColorDIN99 :: forall {k} e (i :: k). e -> e -> e -> Color (DIN99 i) e
- Graphics.Color.Space.RGB: Chromaticity :: Color (CIExyY i) e -> Chromaticity i e
+ Graphics.Color.Space.RGB: Chromaticity :: Color (CIExyY i) e -> Chromaticity (i :: k) e
- Graphics.Color.Space.RGB: Gamut :: !Primary i e -> !Primary i e -> !Primary i e -> Gamut (cs :: Linearity -> Type) i e
+ Graphics.Color.Space.RGB: Gamut :: !Primary i e -> !Primary i e -> !Primary i e -> Gamut (cs :: Linearity -> Type) (i :: k) e
- Graphics.Color.Space.RGB: INPM :: M3x3 e -> INPM cs e
+ Graphics.Color.Space.RGB: INPM :: M3x3 e -> INPM (cs :: k) e
- Graphics.Color.Space.RGB: NPM :: M3x3 e -> NPM cs e
+ Graphics.Color.Space.RGB: NPM :: M3x3 e -> NPM (cs :: k) e
- Graphics.Color.Space.RGB: [chromaticityCIExyY] :: Chromaticity i e -> Color (CIExyY i) e
+ Graphics.Color.Space.RGB: [chromaticityCIExyY] :: Chromaticity (i :: k) e -> Color (CIExyY i) e
- Graphics.Color.Space.RGB: [gamutBluePrimary] :: Gamut (cs :: Linearity -> Type) i e -> !Primary i e
+ Graphics.Color.Space.RGB: [gamutBluePrimary] :: Gamut (cs :: Linearity -> Type) (i :: k) e -> !Primary i e
- Graphics.Color.Space.RGB: [gamutGreenPrimary] :: Gamut (cs :: Linearity -> Type) i e -> !Primary i e
+ Graphics.Color.Space.RGB: [gamutGreenPrimary] :: Gamut (cs :: Linearity -> Type) (i :: k) e -> !Primary i e
- Graphics.Color.Space.RGB: [gamutRedPrimary] :: Gamut (cs :: Linearity -> Type) i e -> !Primary i e
+ Graphics.Color.Space.RGB: [gamutRedPrimary] :: Gamut (cs :: Linearity -> Type) (i :: k) e -> !Primary i e
- Graphics.Color.Space.RGB: [unINPM] :: INPM cs e -> M3x3 e
+ Graphics.Color.Space.RGB: [unINPM] :: INPM (cs :: k) e -> M3x3 e
- Graphics.Color.Space.RGB: [unNPM] :: NPM cs e -> M3x3 e
+ Graphics.Color.Space.RGB: [unNPM] :: NPM (cs :: k) e -> M3x3 e
- Graphics.Color.Space.RGB: class (Functor (Color cs), Applicative (Color cs), Foldable (Color cs), Traversable (Color cs), Eq (Color cs e), Show (Color cs e), Unbox (Components cs e), Storable (Color cs e), Typeable cs, Elevator e, Typeable (Opaque cs)) => ColorModel cs e where {
+ Graphics.Color.Space.RGB: class (Functor Color cs, Applicative Color cs, Foldable Color cs, Traversable Color cs, Eq Color cs e, Show Color cs e, Unbox Components cs e, Storable Color cs e, Typeable cs, Elevator e, Typeable Opaque cs) => ColorModel cs e where {
- Graphics.Color.Space.RGB: class (Illuminant i, ColorModel (BaseModel cs) e, ColorModel cs e) => ColorSpace cs (i :: k) e | cs -> i where {
+ Graphics.Color.Space.RGB: class (Illuminant i, ColorModel BaseModel cs e, ColorModel cs e) => ColorSpace cs (i :: k) e | cs -> i where {
- Graphics.Color.Space.RGB: class (Typeable i, Typeable k, KnownNat (Temperature i)) => Illuminant (i :: k) where {
+ Graphics.Color.Space.RGB: class (Typeable i, Typeable k, KnownNat Temperature i :: Nat) => Illuminant (i :: k) where {
- Graphics.Color.Space.RGB: coerceGamut :: Gamut cs' i' e -> Gamut cs i e
+ Graphics.Color.Space.RGB: coerceGamut :: forall {k1} {k2} (cs' :: Linearity -> Type) (i' :: k1) e (cs :: Linearity -> Type) (i :: k2). Gamut cs' i' e -> Gamut cs i e
- Graphics.Color.Space.RGB: data Gamut (cs :: Linearity -> Type) i e
+ Graphics.Color.Space.RGB: data Gamut (cs :: Linearity -> Type) (i :: k) e
- Graphics.Color.Space.RGB: data XYZ i
+ Graphics.Color.Space.RGB: data XYZ (i :: k)
- Graphics.Color.Space.RGB: data family Color cs e :: Type
+ Graphics.Color.Space.RGB: data family Color cs e
- Graphics.Color.Space.RGB: dcctf :: forall cs e i. (RedGreenBlue cs i, RealFloat e) => Color (cs 'NonLinear) e -> Color (cs 'Linear) e
+ Graphics.Color.Space.RGB: dcctf :: forall {k} cs e (i :: k). (RedGreenBlue cs i, RealFloat e) => Color (cs 'NonLinear) e -> Color (cs 'Linear) e
- Graphics.Color.Space.RGB: ecctf :: forall cs e i. (RedGreenBlue cs i, RealFloat e) => Color (cs 'Linear) e -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB: ecctf :: forall {k} cs e (i :: k). (RedGreenBlue cs i, RealFloat e) => Color (cs 'Linear) e -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB: fromBaseModel :: (ColorSpace cs i e, Coercible (Color (BaseModel cs) e) (Color cs e)) => Color (BaseModel cs) e -> Color cs e
+ Graphics.Color.Space.RGB: fromBaseModel :: ColorSpace cs i e => Color (BaseModel cs) e -> Color cs e
- Graphics.Color.Space.RGB: fromBaseSpace :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e) => Color (BaseSpace cs) e -> Color cs e
+ Graphics.Color.Space.RGB: fromBaseSpace :: ColorSpace cs i e => Color (BaseSpace cs) e -> Color cs e
- Graphics.Color.Space.RGB: fromColorXYZ :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color (XYZ i) a -> Color cs e
+ Graphics.Color.Space.RGB: fromColorXYZ :: (ColorSpace cs i e, Elevator a, RealFloat a) => Color (XYZ i) a -> Color cs e
- Graphics.Color.Space.RGB: gamutWhitePoint :: forall cs e i. (RedGreenBlue cs i, RealFloat e) => Gamut cs i e -> WhitePoint i e
+ Graphics.Color.Space.RGB: gamutWhitePoint :: forall {k} (cs :: Linearity -> Type) e (i :: k). (RedGreenBlue cs i, RealFloat e) => Gamut cs i e -> WhitePoint i e
- Graphics.Color.Space.RGB: inpmApply :: (RedGreenBlue cs i, Elevator e) => INPM cs e -> Color (XYZ i) e -> Color (cs 'Linear) e
+ Graphics.Color.Space.RGB: inpmApply :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, Elevator e) => INPM cs e -> Color (XYZ i) e -> Color (cs 'Linear) e
- Graphics.Color.Space.RGB: inpmDerive :: forall cs i e. (ColorSpace (cs 'Linear) i e, RealFloat e) => Gamut cs i e -> INPM cs e
+ Graphics.Color.Space.RGB: inpmDerive :: forall {k} (cs :: Linearity -> Type) (i :: k) e. (ColorSpace (cs 'Linear) i e, RealFloat e) => Gamut cs i e -> INPM cs e
- Graphics.Color.Space.RGB: mkColorRGB :: (RedGreenBlue cs i, Coercible (Color RGB e) (Color (cs l) e)) => Color RGB e -> Color (cs l) e
+ Graphics.Color.Space.RGB: mkColorRGB :: forall e (l :: Linearity). RedGreenBlue cs i => Color RGB e -> Color (cs l) e
- Graphics.Color.Space.RGB: newtype Chromaticity i e
+ Graphics.Color.Space.RGB: newtype Chromaticity (i :: k) e
- Graphics.Color.Space.RGB: newtype INPM cs e
+ Graphics.Color.Space.RGB: newtype INPM (cs :: k) e
- Graphics.Color.Space.RGB: newtype NPM cs e
+ Graphics.Color.Space.RGB: newtype NPM (cs :: k) e
- Graphics.Color.Space.RGB: npmApply :: (RedGreenBlue cs i, Elevator e) => NPM cs e -> Color (cs 'Linear) e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB: npmApply :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, Elevator e) => NPM cs e -> Color (cs 'Linear) e -> Color (XYZ i) e
- Graphics.Color.Space.RGB: npmDerive :: forall cs i e. (ColorSpace (cs 'Linear) i e, RealFloat e) => Gamut cs i e -> NPM cs e
+ Graphics.Color.Space.RGB: npmDerive :: forall {k} (cs :: Linearity -> Type) (i :: k) e. (ColorSpace (cs 'Linear) i e, RealFloat e) => Gamut cs i e -> NPM cs e
- Graphics.Color.Space.RGB: pattern ColorCIExy :: e -> e -> Color (CIExyY i) e
+ Graphics.Color.Space.RGB: pattern ColorCIExy :: forall {k} e (i :: k). e -> e -> Color (CIExyY i) e
- Graphics.Color.Space.RGB: pattern ColorXYZ :: e -> e -> e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB: pattern ColorXYZ :: forall {k} e (i :: k). e -> e -> e -> Color (XYZ i) e
- Graphics.Color.Space.RGB: pattern ColorXYZA :: e -> e -> e -> e -> Color (Alpha (XYZ i)) e
+ Graphics.Color.Space.RGB: pattern ColorXYZA :: forall {k} e (i :: k). e -> e -> e -> e -> Color (Alpha (XYZ i)) e
- Graphics.Color.Space.RGB: pattern Primary :: e -> e -> Primary i e
+ Graphics.Color.Space.RGB: pattern Primary :: forall {k} e i. e -> e -> Primary i e
- Graphics.Color.Space.RGB: pattern WhitePoint :: e -> e -> WhitePoint i e
+ Graphics.Color.Space.RGB: pattern WhitePoint :: forall {k} e i. e -> e -> WhitePoint i e
- Graphics.Color.Space.RGB: pattern Y :: e -> Color (Y i) e
+ Graphics.Color.Space.RGB: pattern Y :: forall {k} e (i :: k). e -> Color (Y i) e
- Graphics.Color.Space.RGB: pattern YA :: e -> e -> Color (Alpha (Y i)) e
+ Graphics.Color.Space.RGB: pattern YA :: forall {k} e (i :: k). e -> e -> Color (Alpha (Y i)) e
- Graphics.Color.Space.RGB: pattern ColorCIExyY :: Num e => e -> e -> e -> Color (CIExyY i) e
+ Graphics.Color.Space.RGB: pattern ColorCIExyY :: forall {k} e (i :: k). Num e => e -> e -> e -> Color (CIExyY i) e
- Graphics.Color.Space.RGB: pixelWhitePoint :: forall e cs a i l. (RedGreenBlue cs i, RealFloat e) => Color (cs l) a -> WhitePoint i e
+ Graphics.Color.Space.RGB: pixelWhitePoint :: forall {k} e cs a (i :: k) (l :: Linearity). (RedGreenBlue cs i, RealFloat e) => Color (cs l) a -> WhitePoint i e
- Graphics.Color.Space.RGB: primaryTristimulus :: forall i e. (Illuminant i, RealFloat e, Elevator e) => Primary i e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB: primaryTristimulus :: forall {k} (i :: k) e. (Illuminant i, RealFloat e, Elevator e) => Primary i e -> Color (XYZ i) e
- Graphics.Color.Space.RGB: primaryXZ :: Fractional e => e -> Primary i e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB: primaryXZ :: forall {k} e (i :: k). Fractional e => e -> Primary i e -> Color (XYZ i) e
- Graphics.Color.Space.RGB: rgb2xyz :: (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'NonLinear) e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB: rgb2xyz :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'NonLinear) e -> Color (XYZ i) e
- Graphics.Color.Space.RGB: rgbColorGamut :: (RedGreenBlue cs i, RealFloat e) => Color (cs l) a -> Gamut cs i e
+ Graphics.Color.Space.RGB: rgbColorGamut :: forall {k} cs (i :: k) e (l :: Linearity) a. (RedGreenBlue cs i, RealFloat e) => Color (cs l) a -> Gamut cs i e
- Graphics.Color.Space.RGB: rgbLinear2xyz :: (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'Linear) e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB: rgbLinear2xyz :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'Linear) e -> Color (XYZ i) e
- Graphics.Color.Space.RGB: rgbLinearApplyGrayscale :: forall cs i e. ColorSpace (cs 'Linear) i e => Color (cs 'Linear) e -> (Color X e -> Color X e) -> Color (cs 'Linear) e
+ Graphics.Color.Space.RGB: rgbLinearApplyGrayscale :: forall {k} cs (i :: k) e. ColorSpace (cs 'Linear) i e => Color (cs 'Linear) e -> (Color X e -> Color X e) -> Color (cs 'Linear) e
- Graphics.Color.Space.RGB: rgbLinearGrayscale :: forall cs i e. ColorSpace (cs 'Linear) i e => Color (cs 'Linear) e -> Color X e
+ Graphics.Color.Space.RGB: rgbLinearGrayscale :: forall {k} cs (i :: k) e. ColorSpace (cs 'Linear) i e => Color (cs 'Linear) e -> Color X e
- Graphics.Color.Space.RGB: rgbLinearLuminance :: forall cs i e. (RedGreenBlue cs i, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'Linear) e -> Color (Y i) e
+ Graphics.Color.Space.RGB: rgbLinearLuminance :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'Linear) e -> Color (Y i) e
- Graphics.Color.Space.RGB: rgbLuminance :: (RedGreenBlue cs i, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'NonLinear) e -> Color (Y i) e
+ Graphics.Color.Space.RGB: rgbLuminance :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'NonLinear) e -> Color (Y i) e
- Graphics.Color.Space.RGB: rgbNonLinearApplyGrayscale :: forall cs i e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> (Color X e -> Color X e) -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB: rgbNonLinearApplyGrayscale :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> (Color X e -> Color X e) -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB: rgbNonLinearGrayscale :: forall cs i e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> Color X e
+ Graphics.Color.Space.RGB: rgbNonLinearGrayscale :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> Color X e
- Graphics.Color.Space.RGB: toBaseModel :: (ColorSpace cs i e, Coercible (Color cs e) (Color (BaseModel cs) e)) => Color cs e -> Color (BaseModel cs) e
+ Graphics.Color.Space.RGB: toBaseModel :: ColorSpace cs i e => Color cs e -> Color (BaseModel cs) e
- Graphics.Color.Space.RGB: toBaseSpace :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e) => Color cs e -> Color (BaseSpace cs) e
+ Graphics.Color.Space.RGB: toBaseSpace :: ColorSpace cs i e => Color cs e -> Color (BaseSpace cs) e
- Graphics.Color.Space.RGB: toColorXYZ :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color cs e -> Color (XYZ i) a
+ Graphics.Color.Space.RGB: toColorXYZ :: (ColorSpace cs i e, Elevator a, RealFloat a) => Color cs e -> Color (XYZ i) a
- Graphics.Color.Space.RGB: toShowS :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Space.RGB: toShowS :: Elevator e => e -> ShowS
- Graphics.Color.Space.RGB: type BaseModel cs :: Type;
+ Graphics.Color.Space.RGB: type BaseModel cs;
- Graphics.Color.Space.RGB: type Components cs e :: Type;
+ Graphics.Color.Space.RGB: type Components cs e;
- Graphics.Color.Space.RGB: type Temperature i :: n;
+ Graphics.Color.Space.RGB: type Temperature (i :: k) :: n;
- Graphics.Color.Space.RGB: type family Opaque cs
+ Graphics.Color.Space.RGB: type family BaseSpace cs
- Graphics.Color.Space.RGB: unColorRGB :: (RedGreenBlue cs i, Coercible (Color (cs l) e) (Color RGB e)) => Color (cs l) e -> Color RGB e
+ Graphics.Color.Space.RGB: unColorRGB :: forall (l :: Linearity) e. RedGreenBlue cs i => Color (cs l) e -> Color RGB e
- Graphics.Color.Space.RGB: unY :: Color (Y i) e -> e
+ Graphics.Color.Space.RGB: unY :: forall {k} (i :: k) e. Color (Y i) e -> e
- Graphics.Color.Space.RGB: whitePointTristimulus :: forall i e. (Illuminant i, RealFloat e, Elevator e) => Color (XYZ i) e
+ Graphics.Color.Space.RGB: whitePointTristimulus :: forall {k} (i :: k) e. (Illuminant i, RealFloat e, Elevator e) => Color (XYZ i) e
- Graphics.Color.Space.RGB: whitePointXZ :: Fractional e => e -> WhitePoint i e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB: whitePointXZ :: forall {k} e (i :: k). Fractional e => e -> WhitePoint i e -> Color (XYZ i) e
- Graphics.Color.Space.RGB: xPrimary :: Primary i e -> e
+ Graphics.Color.Space.RGB: xPrimary :: forall {k} (i :: k) e. Primary i e -> e
- Graphics.Color.Space.RGB: xWhitePoint :: WhitePoint i e -> e
+ Graphics.Color.Space.RGB: xWhitePoint :: forall {k} (i :: k) e. WhitePoint i e -> e
- Graphics.Color.Space.RGB: xyz2rgb :: (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (XYZ i) e -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB: xyz2rgb :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (XYZ i) e -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB: xyz2rgbLinear :: forall cs i e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (XYZ i) e -> Color (cs 'Linear) e
+ Graphics.Color.Space.RGB: xyz2rgbLinear :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (XYZ i) e -> Color (cs 'Linear) e
- Graphics.Color.Space.RGB: yPrimary :: Primary i e -> e
+ Graphics.Color.Space.RGB: yPrimary :: forall {k} (i :: k) e. Primary i e -> e
- Graphics.Color.Space.RGB: yWhitePoint :: WhitePoint i e -> e
+ Graphics.Color.Space.RGB: yWhitePoint :: forall {k} (i :: k) e. WhitePoint i e -> e
- Graphics.Color.Space.RGB: zPrimary :: Num e => Primary i e -> e
+ Graphics.Color.Space.RGB: zPrimary :: forall {k} e (i :: k). Num e => Primary i e -> e
- Graphics.Color.Space.RGB: zWhitePoint :: Num e => WhitePoint i e -> e
+ Graphics.Color.Space.RGB: zWhitePoint :: forall {k} e (i :: k). Num e => WhitePoint i e -> e
- Graphics.Color.Space.RGB.AdobeRGB: pattern ColorAdobeRGB :: e -> e -> e -> Color (AdobeRGB l) e
+ Graphics.Color.Space.RGB.AdobeRGB: pattern ColorAdobeRGB :: forall e (l :: Linearity). e -> e -> e -> Color (AdobeRGB l) e
- Graphics.Color.Space.RGB.AdobeRGB: pattern ColorAdobeRGBA :: e -> e -> e -> e -> Color (Alpha (AdobeRGB l)) e
+ Graphics.Color.Space.RGB.AdobeRGB: pattern ColorAdobeRGBA :: forall e (l :: Linearity). e -> e -> e -> e -> Color (Alpha (AdobeRGB l)) e
- Graphics.Color.Space.RGB.Alternative: Chromaticity :: Color (CIExyY i) e -> Chromaticity i e
+ Graphics.Color.Space.RGB.Alternative: Chromaticity :: Color (CIExyY i) e -> Chromaticity (i :: k) e
- Graphics.Color.Space.RGB.Alternative: Gamut :: !Primary i e -> !Primary i e -> !Primary i e -> Gamut (cs :: Linearity -> Type) i e
+ Graphics.Color.Space.RGB.Alternative: Gamut :: !Primary i e -> !Primary i e -> !Primary i e -> Gamut (cs :: Linearity -> Type) (i :: k) e
- Graphics.Color.Space.RGB.Alternative: INPM :: M3x3 e -> INPM cs e
+ Graphics.Color.Space.RGB.Alternative: INPM :: M3x3 e -> INPM (cs :: k) e
- Graphics.Color.Space.RGB.Alternative: NPM :: M3x3 e -> NPM cs e
+ Graphics.Color.Space.RGB.Alternative: NPM :: M3x3 e -> NPM (cs :: k) e
- Graphics.Color.Space.RGB.Alternative: [chromaticityCIExyY] :: Chromaticity i e -> Color (CIExyY i) e
+ Graphics.Color.Space.RGB.Alternative: [chromaticityCIExyY] :: Chromaticity (i :: k) e -> Color (CIExyY i) e
- Graphics.Color.Space.RGB.Alternative: [gamutBluePrimary] :: Gamut (cs :: Linearity -> Type) i e -> !Primary i e
+ Graphics.Color.Space.RGB.Alternative: [gamutBluePrimary] :: Gamut (cs :: Linearity -> Type) (i :: k) e -> !Primary i e
- Graphics.Color.Space.RGB.Alternative: [gamutGreenPrimary] :: Gamut (cs :: Linearity -> Type) i e -> !Primary i e
+ Graphics.Color.Space.RGB.Alternative: [gamutGreenPrimary] :: Gamut (cs :: Linearity -> Type) (i :: k) e -> !Primary i e
- Graphics.Color.Space.RGB.Alternative: [gamutRedPrimary] :: Gamut (cs :: Linearity -> Type) i e -> !Primary i e
+ Graphics.Color.Space.RGB.Alternative: [gamutRedPrimary] :: Gamut (cs :: Linearity -> Type) (i :: k) e -> !Primary i e
- Graphics.Color.Space.RGB.Alternative: [unINPM] :: INPM cs e -> M3x3 e
+ Graphics.Color.Space.RGB.Alternative: [unINPM] :: INPM (cs :: k) e -> M3x3 e
- Graphics.Color.Space.RGB.Alternative: [unNPM] :: NPM cs e -> M3x3 e
+ Graphics.Color.Space.RGB.Alternative: [unNPM] :: NPM (cs :: k) e -> M3x3 e
- Graphics.Color.Space.RGB.Alternative: class (Functor (Color cs), Applicative (Color cs), Foldable (Color cs), Traversable (Color cs), Eq (Color cs e), Show (Color cs e), Unbox (Components cs e), Storable (Color cs e), Typeable cs, Elevator e, Typeable (Opaque cs)) => ColorModel cs e where {
+ Graphics.Color.Space.RGB.Alternative: class (Functor Color cs, Applicative Color cs, Foldable Color cs, Traversable Color cs, Eq Color cs e, Show Color cs e, Unbox Components cs e, Storable Color cs e, Typeable cs, Elevator e, Typeable Opaque cs) => ColorModel cs e where {
- Graphics.Color.Space.RGB.Alternative: class (Illuminant i, ColorModel (BaseModel cs) e, ColorModel cs e) => ColorSpace cs (i :: k) e | cs -> i where {
+ Graphics.Color.Space.RGB.Alternative: class (Illuminant i, ColorModel BaseModel cs e, ColorModel cs e) => ColorSpace cs (i :: k) e | cs -> i where {
- Graphics.Color.Space.RGB.Alternative: class (Typeable i, Typeable k, KnownNat (Temperature i)) => Illuminant (i :: k) where {
+ Graphics.Color.Space.RGB.Alternative: class (Typeable i, Typeable k, KnownNat Temperature i :: Nat) => Illuminant (i :: k) where {
- Graphics.Color.Space.RGB.Alternative: coerceGamut :: Gamut cs' i' e -> Gamut cs i e
+ Graphics.Color.Space.RGB.Alternative: coerceGamut :: forall {k1} {k2} (cs' :: Linearity -> Type) (i' :: k1) e (cs :: Linearity -> Type) (i :: k2). Gamut cs' i' e -> Gamut cs i e
- Graphics.Color.Space.RGB.Alternative: data Gamut (cs :: Linearity -> Type) i e
+ Graphics.Color.Space.RGB.Alternative: data Gamut (cs :: Linearity -> Type) (i :: k) e
- Graphics.Color.Space.RGB.Alternative: data XYZ i
+ Graphics.Color.Space.RGB.Alternative: data XYZ (i :: k)
- Graphics.Color.Space.RGB.Alternative: dcctf :: forall cs e i. (RedGreenBlue cs i, RealFloat e) => Color (cs 'NonLinear) e -> Color (cs 'Linear) e
+ Graphics.Color.Space.RGB.Alternative: dcctf :: forall {k} cs e (i :: k). (RedGreenBlue cs i, RealFloat e) => Color (cs 'NonLinear) e -> Color (cs 'Linear) e
- Graphics.Color.Space.RGB.Alternative: ecctf :: forall cs e i. (RedGreenBlue cs i, RealFloat e) => Color (cs 'Linear) e -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB.Alternative: ecctf :: forall {k} cs e (i :: k). (RedGreenBlue cs i, RealFloat e) => Color (cs 'Linear) e -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB.Alternative: fromBaseModel :: (ColorSpace cs i e, Coercible (Color (BaseModel cs) e) (Color cs e)) => Color (BaseModel cs) e -> Color cs e
+ Graphics.Color.Space.RGB.Alternative: fromBaseModel :: ColorSpace cs i e => Color (BaseModel cs) e -> Color cs e
- Graphics.Color.Space.RGB.Alternative: fromBaseSpace :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e) => Color (BaseSpace cs) e -> Color cs e
+ Graphics.Color.Space.RGB.Alternative: fromBaseSpace :: ColorSpace cs i e => Color (BaseSpace cs) e -> Color cs e
- Graphics.Color.Space.RGB.Alternative: fromColorXYZ :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color (XYZ i) a -> Color cs e
+ Graphics.Color.Space.RGB.Alternative: fromColorXYZ :: (ColorSpace cs i e, Elevator a, RealFloat a) => Color (XYZ i) a -> Color cs e
- Graphics.Color.Space.RGB.Alternative: gamutWhitePoint :: forall cs e i. (RedGreenBlue cs i, RealFloat e) => Gamut cs i e -> WhitePoint i e
+ Graphics.Color.Space.RGB.Alternative: gamutWhitePoint :: forall {k} (cs :: Linearity -> Type) e (i :: k). (RedGreenBlue cs i, RealFloat e) => Gamut cs i e -> WhitePoint i e
- Graphics.Color.Space.RGB.Alternative: inpmApply :: (RedGreenBlue cs i, Elevator e) => INPM cs e -> Color (XYZ i) e -> Color (cs 'Linear) e
+ Graphics.Color.Space.RGB.Alternative: inpmApply :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, Elevator e) => INPM cs e -> Color (XYZ i) e -> Color (cs 'Linear) e
- Graphics.Color.Space.RGB.Alternative: inpmDerive :: forall cs i e. (ColorSpace (cs 'Linear) i e, RealFloat e) => Gamut cs i e -> INPM cs e
+ Graphics.Color.Space.RGB.Alternative: inpmDerive :: forall {k} (cs :: Linearity -> Type) (i :: k) e. (ColorSpace (cs 'Linear) i e, RealFloat e) => Gamut cs i e -> INPM cs e
- Graphics.Color.Space.RGB.Alternative: mkColorRGB :: (RedGreenBlue cs i, Coercible (Color RGB e) (Color (cs l) e)) => Color RGB e -> Color (cs l) e
+ Graphics.Color.Space.RGB.Alternative: mkColorRGB :: forall e (l :: Linearity). RedGreenBlue cs i => Color RGB e -> Color (cs l) e
- Graphics.Color.Space.RGB.Alternative: newtype Chromaticity i e
+ Graphics.Color.Space.RGB.Alternative: newtype Chromaticity (i :: k) e
- Graphics.Color.Space.RGB.Alternative: newtype INPM cs e
+ Graphics.Color.Space.RGB.Alternative: newtype INPM (cs :: k) e
- Graphics.Color.Space.RGB.Alternative: newtype NPM cs e
+ Graphics.Color.Space.RGB.Alternative: newtype NPM (cs :: k) e
- Graphics.Color.Space.RGB.Alternative: npmApply :: (RedGreenBlue cs i, Elevator e) => NPM cs e -> Color (cs 'Linear) e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB.Alternative: npmApply :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, Elevator e) => NPM cs e -> Color (cs 'Linear) e -> Color (XYZ i) e
- Graphics.Color.Space.RGB.Alternative: npmDerive :: forall cs i e. (ColorSpace (cs 'Linear) i e, RealFloat e) => Gamut cs i e -> NPM cs e
+ Graphics.Color.Space.RGB.Alternative: npmDerive :: forall {k} (cs :: Linearity -> Type) (i :: k) e. (ColorSpace (cs 'Linear) i e, RealFloat e) => Gamut cs i e -> NPM cs e
- Graphics.Color.Space.RGB.Alternative: pattern ColorCIExy :: e -> e -> Color (CIExyY i) e
+ Graphics.Color.Space.RGB.Alternative: pattern ColorCIExy :: forall {k} e (i :: k). e -> e -> Color (CIExyY i) e
- Graphics.Color.Space.RGB.Alternative: pattern ColorXYZ :: e -> e -> e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB.Alternative: pattern ColorXYZ :: forall {k} e (i :: k). e -> e -> e -> Color (XYZ i) e
- Graphics.Color.Space.RGB.Alternative: pattern ColorXYZA :: e -> e -> e -> e -> Color (Alpha (XYZ i)) e
+ Graphics.Color.Space.RGB.Alternative: pattern ColorXYZA :: forall {k} e (i :: k). e -> e -> e -> e -> Color (Alpha (XYZ i)) e
- Graphics.Color.Space.RGB.Alternative: pattern Primary :: e -> e -> Primary i e
+ Graphics.Color.Space.RGB.Alternative: pattern Primary :: forall {k} e i. e -> e -> Primary i e
- Graphics.Color.Space.RGB.Alternative: pattern WhitePoint :: e -> e -> WhitePoint i e
+ Graphics.Color.Space.RGB.Alternative: pattern WhitePoint :: forall {k} e i. e -> e -> WhitePoint i e
- Graphics.Color.Space.RGB.Alternative: pattern Y :: e -> Color (Y i) e
+ Graphics.Color.Space.RGB.Alternative: pattern Y :: forall {k} e (i :: k). e -> Color (Y i) e
- Graphics.Color.Space.RGB.Alternative: pattern YA :: e -> e -> Color (Alpha (Y i)) e
+ Graphics.Color.Space.RGB.Alternative: pattern YA :: forall {k} e (i :: k). e -> e -> Color (Alpha (Y i)) e
- Graphics.Color.Space.RGB.Alternative: pattern ColorCIExyY :: Num e => e -> e -> e -> Color (CIExyY i) e
+ Graphics.Color.Space.RGB.Alternative: pattern ColorCIExyY :: forall {k} e (i :: k). Num e => e -> e -> e -> Color (CIExyY i) e
- Graphics.Color.Space.RGB.Alternative: pixelWhitePoint :: forall e cs a i l. (RedGreenBlue cs i, RealFloat e) => Color (cs l) a -> WhitePoint i e
+ Graphics.Color.Space.RGB.Alternative: pixelWhitePoint :: forall {k} e cs a (i :: k) (l :: Linearity). (RedGreenBlue cs i, RealFloat e) => Color (cs l) a -> WhitePoint i e
- Graphics.Color.Space.RGB.Alternative: primaryTristimulus :: forall i e. (Illuminant i, RealFloat e, Elevator e) => Primary i e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB.Alternative: primaryTristimulus :: forall {k} (i :: k) e. (Illuminant i, RealFloat e, Elevator e) => Primary i e -> Color (XYZ i) e
- Graphics.Color.Space.RGB.Alternative: primaryXZ :: Fractional e => e -> Primary i e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB.Alternative: primaryXZ :: forall {k} e (i :: k). Fractional e => e -> Primary i e -> Color (XYZ i) e
- Graphics.Color.Space.RGB.Alternative: rgb2xyz :: (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'NonLinear) e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB.Alternative: rgb2xyz :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'NonLinear) e -> Color (XYZ i) e
- Graphics.Color.Space.RGB.Alternative: rgbColorGamut :: (RedGreenBlue cs i, RealFloat e) => Color (cs l) a -> Gamut cs i e
+ Graphics.Color.Space.RGB.Alternative: rgbColorGamut :: forall {k} cs (i :: k) e (l :: Linearity) a. (RedGreenBlue cs i, RealFloat e) => Color (cs l) a -> Gamut cs i e
- Graphics.Color.Space.RGB.Alternative: rgbLinear2xyz :: (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'Linear) e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB.Alternative: rgbLinear2xyz :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'Linear) e -> Color (XYZ i) e
- Graphics.Color.Space.RGB.Alternative: rgbLinearApplyGrayscale :: forall cs i e. ColorSpace (cs 'Linear) i e => Color (cs 'Linear) e -> (Color X e -> Color X e) -> Color (cs 'Linear) e
+ Graphics.Color.Space.RGB.Alternative: rgbLinearApplyGrayscale :: forall {k} cs (i :: k) e. ColorSpace (cs 'Linear) i e => Color (cs 'Linear) e -> (Color X e -> Color X e) -> Color (cs 'Linear) e
- Graphics.Color.Space.RGB.Alternative: rgbLinearGrayscale :: forall cs i e. ColorSpace (cs 'Linear) i e => Color (cs 'Linear) e -> Color X e
+ Graphics.Color.Space.RGB.Alternative: rgbLinearGrayscale :: forall {k} cs (i :: k) e. ColorSpace (cs 'Linear) i e => Color (cs 'Linear) e -> Color X e
- Graphics.Color.Space.RGB.Alternative: rgbLinearLuminance :: forall cs i e. (RedGreenBlue cs i, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'Linear) e -> Color (Y i) e
+ Graphics.Color.Space.RGB.Alternative: rgbLinearLuminance :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'Linear) e -> Color (Y i) e
- Graphics.Color.Space.RGB.Alternative: rgbLuminance :: (RedGreenBlue cs i, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'NonLinear) e -> Color (Y i) e
+ Graphics.Color.Space.RGB.Alternative: rgbLuminance :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (cs 'NonLinear) e -> Color (Y i) e
- Graphics.Color.Space.RGB.Alternative: rgbNonLinearApplyGrayscale :: forall cs i e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> (Color X e -> Color X e) -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB.Alternative: rgbNonLinearApplyGrayscale :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> (Color X e -> Color X e) -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB.Alternative: rgbNonLinearGrayscale :: forall cs i e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> Color X e
+ Graphics.Color.Space.RGB.Alternative: rgbNonLinearGrayscale :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> Color X e
- Graphics.Color.Space.RGB.Alternative: toBaseModel :: (ColorSpace cs i e, Coercible (Color cs e) (Color (BaseModel cs) e)) => Color cs e -> Color (BaseModel cs) e
+ Graphics.Color.Space.RGB.Alternative: toBaseModel :: ColorSpace cs i e => Color cs e -> Color (BaseModel cs) e
- Graphics.Color.Space.RGB.Alternative: toBaseSpace :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e) => Color cs e -> Color (BaseSpace cs) e
+ Graphics.Color.Space.RGB.Alternative: toBaseSpace :: ColorSpace cs i e => Color cs e -> Color (BaseSpace cs) e
- Graphics.Color.Space.RGB.Alternative: toColorXYZ :: (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, Elevator a, RealFloat a) => Color cs e -> Color (XYZ i) a
+ Graphics.Color.Space.RGB.Alternative: toColorXYZ :: (ColorSpace cs i e, Elevator a, RealFloat a) => Color cs e -> Color (XYZ i) a
- Graphics.Color.Space.RGB.Alternative: toShowS :: (Elevator e, PrintfArg e) => e -> ShowS
+ Graphics.Color.Space.RGB.Alternative: toShowS :: Elevator e => e -> ShowS
- Graphics.Color.Space.RGB.Alternative: type BaseModel cs :: Type;
+ Graphics.Color.Space.RGB.Alternative: type BaseModel cs;
- Graphics.Color.Space.RGB.Alternative: type Components cs e :: Type;
+ Graphics.Color.Space.RGB.Alternative: type Components cs e;
- Graphics.Color.Space.RGB.Alternative: type Temperature i :: n;
+ Graphics.Color.Space.RGB.Alternative: type Temperature (i :: k) :: n;
- Graphics.Color.Space.RGB.Alternative: type family Opaque cs
+ Graphics.Color.Space.RGB.Alternative: type family BaseSpace cs
- Graphics.Color.Space.RGB.Alternative: unColorRGB :: (RedGreenBlue cs i, Coercible (Color (cs l) e) (Color RGB e)) => Color (cs l) e -> Color RGB e
+ Graphics.Color.Space.RGB.Alternative: unColorRGB :: forall (l :: Linearity) e. RedGreenBlue cs i => Color (cs l) e -> Color RGB e
- Graphics.Color.Space.RGB.Alternative: unY :: Color (Y i) e -> e
+ Graphics.Color.Space.RGB.Alternative: unY :: forall {k} (i :: k) e. Color (Y i) e -> e
- Graphics.Color.Space.RGB.Alternative: whitePointTristimulus :: forall i e. (Illuminant i, RealFloat e, Elevator e) => Color (XYZ i) e
+ Graphics.Color.Space.RGB.Alternative: whitePointTristimulus :: forall {k} (i :: k) e. (Illuminant i, RealFloat e, Elevator e) => Color (XYZ i) e
- Graphics.Color.Space.RGB.Alternative: whitePointXZ :: Fractional e => e -> WhitePoint i e -> Color (XYZ i) e
+ Graphics.Color.Space.RGB.Alternative: whitePointXZ :: forall {k} e (i :: k). Fractional e => e -> WhitePoint i e -> Color (XYZ i) e
- Graphics.Color.Space.RGB.Alternative: xPrimary :: Primary i e -> e
+ Graphics.Color.Space.RGB.Alternative: xPrimary :: forall {k} (i :: k) e. Primary i e -> e
- Graphics.Color.Space.RGB.Alternative: xWhitePoint :: WhitePoint i e -> e
+ Graphics.Color.Space.RGB.Alternative: xWhitePoint :: forall {k} (i :: k) e. WhitePoint i e -> e
- Graphics.Color.Space.RGB.Alternative: xyz2rgb :: (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (XYZ i) e -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB.Alternative: xyz2rgb :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (XYZ i) e -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB.Alternative: xyz2rgbLinear :: forall cs i e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (XYZ i) e -> Color (cs 'Linear) e
+ Graphics.Color.Space.RGB.Alternative: xyz2rgbLinear :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e, ColorSpace (cs 'Linear) i e, RealFloat e) => Color (XYZ i) e -> Color (cs 'Linear) e
- Graphics.Color.Space.RGB.Alternative: yPrimary :: Primary i e -> e
+ Graphics.Color.Space.RGB.Alternative: yPrimary :: forall {k} (i :: k) e. Primary i e -> e
- Graphics.Color.Space.RGB.Alternative: yWhitePoint :: WhitePoint i e -> e
+ Graphics.Color.Space.RGB.Alternative: yWhitePoint :: forall {k} (i :: k) e. WhitePoint i e -> e
- Graphics.Color.Space.RGB.Alternative: zPrimary :: Num e => Primary i e -> e
+ Graphics.Color.Space.RGB.Alternative: zPrimary :: forall {k} e (i :: k). Num e => Primary i e -> e
- Graphics.Color.Space.RGB.Alternative: zWhitePoint :: Num e => WhitePoint i e -> e
+ Graphics.Color.Space.RGB.Alternative: zWhitePoint :: forall {k} e (i :: k). Num e => WhitePoint i e -> e
- Graphics.Color.Space.RGB.Alternative.CMYK: data CMYK cs
+ Graphics.Color.Space.RGB.Alternative.CMYK: data CMYK (cs :: k)
- Graphics.Color.Space.RGB.Alternative.CMYK: data family Color cs e :: Type
+ Graphics.Color.Space.RGB.Alternative.CMYK: data family Color cs e
- Graphics.Color.Space.RGB.Alternative.CMYK: pattern ColorCMYK :: e -> e -> e -> e -> Color (CMYK cs) e
+ Graphics.Color.Space.RGB.Alternative.CMYK: pattern ColorCMYK :: forall {k} e (cs :: k). e -> e -> e -> e -> Color (CMYK cs) e
- Graphics.Color.Space.RGB.Alternative.CMYK: pattern ColorCMYKA :: e -> e -> e -> e -> e -> Color (Alpha (CMYK cs)) e
+ Graphics.Color.Space.RGB.Alternative.CMYK: pattern ColorCMYKA :: forall {k} e (cs :: k). e -> e -> e -> e -> e -> Color (Alpha (CMYK cs)) e
- Graphics.Color.Space.RGB.Alternative.HSI: data HSI cs
+ Graphics.Color.Space.RGB.Alternative.HSI: data HSI (cs :: k)
- Graphics.Color.Space.RGB.Alternative.HSI: data family Color cs e :: Type
+ Graphics.Color.Space.RGB.Alternative.HSI: data family Color cs e
- Graphics.Color.Space.RGB.Alternative.HSI: pattern ColorHSI :: e -> e -> e -> Color (HSI cs) e
+ Graphics.Color.Space.RGB.Alternative.HSI: pattern ColorHSI :: forall {k} e (cs :: k). e -> e -> e -> Color (HSI cs) e
- Graphics.Color.Space.RGB.Alternative.HSI: pattern ColorHSIA :: e -> e -> e -> e -> Color (Alpha (HSI cs)) e
+ Graphics.Color.Space.RGB.Alternative.HSI: pattern ColorHSIA :: forall {k} e (cs :: k). e -> e -> e -> e -> Color (Alpha (HSI cs)) e
- Graphics.Color.Space.RGB.Alternative.HSI: pattern ColorH360SI :: Fractional e => e -> e -> e -> Color (HSI cs) e
+ Graphics.Color.Space.RGB.Alternative.HSI: pattern ColorH360SI :: forall {k} e (cs :: k). Fractional e => e -> e -> e -> Color (HSI cs) e
- Graphics.Color.Space.RGB.Alternative.HSL: data HSL cs
+ Graphics.Color.Space.RGB.Alternative.HSL: data HSL (cs :: k)
- Graphics.Color.Space.RGB.Alternative.HSL: data family Color cs e :: Type
+ Graphics.Color.Space.RGB.Alternative.HSL: data family Color cs e
- Graphics.Color.Space.RGB.Alternative.HSL: pattern ColorHSL :: e -> e -> e -> Color (HSL cs) e
+ Graphics.Color.Space.RGB.Alternative.HSL: pattern ColorHSL :: forall {k} e (cs :: k). e -> e -> e -> Color (HSL cs) e
- Graphics.Color.Space.RGB.Alternative.HSL: pattern ColorHSLA :: e -> e -> e -> e -> Color (Alpha (HSL cs)) e
+ Graphics.Color.Space.RGB.Alternative.HSL: pattern ColorHSLA :: forall {k} e (cs :: k). e -> e -> e -> e -> Color (Alpha (HSL cs)) e
- Graphics.Color.Space.RGB.Alternative.HSL: pattern ColorH360SL :: Fractional e => e -> e -> e -> Color (HSL cs) e
+ Graphics.Color.Space.RGB.Alternative.HSL: pattern ColorH360SL :: forall {k} e (cs :: k). Fractional e => e -> e -> e -> Color (HSL cs) e
- Graphics.Color.Space.RGB.Alternative.HSV: data HSV cs
+ Graphics.Color.Space.RGB.Alternative.HSV: data HSV (cs :: k)
- Graphics.Color.Space.RGB.Alternative.HSV: data family Color cs e :: Type
+ Graphics.Color.Space.RGB.Alternative.HSV: data family Color cs e
- Graphics.Color.Space.RGB.Alternative.HSV: pattern ColorHSV :: e -> e -> e -> Color (HSV cs) e
+ Graphics.Color.Space.RGB.Alternative.HSV: pattern ColorHSV :: forall {k} e (cs :: k). e -> e -> e -> Color (HSV cs) e
- Graphics.Color.Space.RGB.Alternative.HSV: pattern ColorHSVA :: e -> e -> e -> e -> Color (Alpha (HSV cs)) e
+ Graphics.Color.Space.RGB.Alternative.HSV: pattern ColorHSVA :: forall {k} e (cs :: k). e -> e -> e -> e -> Color (Alpha (HSV cs)) e
- Graphics.Color.Space.RGB.Alternative.HSV: pattern ColorH360SV :: Fractional e => e -> e -> e -> Color (HSV cs) e
+ Graphics.Color.Space.RGB.Alternative.HSV: pattern ColorH360SV :: forall {k} e (cs :: k). Fractional e => e -> e -> e -> Color (HSV cs) e
- Graphics.Color.Space.RGB.Alternative.YCbCr: data family Color cs e :: Type
+ Graphics.Color.Space.RGB.Alternative.YCbCr: data family Color cs e
- Graphics.Color.Space.RGB.Alternative.YCbCr: fromColorY'CbCr :: forall cs i e' e. (Luma cs, RedGreenBlue cs i, Elevator e', Elevator e, RealFloat e) => Color (Y'CbCr cs) e' -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB.Alternative.YCbCr: fromColorY'CbCr :: forall {k} cs (i :: k) e' e. (Luma cs, RedGreenBlue cs i, Elevator e', Elevator e, RealFloat e) => Color (Y'CbCr cs) e' -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB.Alternative.YCbCr: pattern ColorY'CbCr :: e -> e -> e -> Color (Y'CbCr cs) e
+ Graphics.Color.Space.RGB.Alternative.YCbCr: pattern ColorY'CbCr :: forall e (cs :: Linearity -> Type). e -> e -> e -> Color (Y'CbCr cs) e
- Graphics.Color.Space.RGB.Alternative.YCbCr: pattern ColorY'CbCrA :: e -> e -> e -> e -> Color (Alpha (Y'CbCr cs)) e
+ Graphics.Color.Space.RGB.Alternative.YCbCr: pattern ColorY'CbCrA :: forall e (cs :: Linearity -> Type). e -> e -> e -> e -> Color (Alpha (Y'CbCr cs)) e
- Graphics.Color.Space.RGB.Alternative.YCbCr: srgb2ycbcr :: (RedGreenBlue cs i, RealFloat e) => Color (cs 'NonLinear) e -> Color (Y'CbCr cs) e
+ Graphics.Color.Space.RGB.Alternative.YCbCr: srgb2ycbcr :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, RealFloat e) => Color (cs 'NonLinear) e -> Color (Y'CbCr cs) e
- Graphics.Color.Space.RGB.Alternative.YCbCr: toColorY'CbCr :: forall cs i e' e. (Luma cs, RedGreenBlue cs i, Elevator e', Elevator e, RealFloat e) => Color (cs 'NonLinear) e' -> Color (Y'CbCr cs) e
+ Graphics.Color.Space.RGB.Alternative.YCbCr: toColorY'CbCr :: forall {k} cs (i :: k) e' e. (Luma cs, RedGreenBlue cs i, Elevator e', Elevator e, RealFloat e) => Color (cs 'NonLinear) e' -> Color (Y'CbCr cs) e
- Graphics.Color.Space.RGB.Alternative.YCbCr: ycbcr2srgb :: (RedGreenBlue cs i, RealFloat e) => Color (Y'CbCr cs) e -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB.Alternative.YCbCr: ycbcr2srgb :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, RealFloat e) => Color (Y'CbCr cs) e -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB.Derived.CIERGB: castLinearity :: Color (CIERGB i l') e -> Color (CIERGB i l) e
+ Graphics.Color.Space.RGB.Derived.CIERGB: castLinearity :: forall {k} (i :: k) (l' :: Linearity) e (l :: Linearity). Color (CIERGB i l') e -> Color (CIERGB i l) e
- Graphics.Color.Space.RGB.ITU.Rec601: applyGrayscaleRec601 :: forall cs i e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> (Color X e -> Color X e) -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB.ITU.Rec601: applyGrayscaleRec601 :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, ColorSpace (cs 'NonLinear) i e) => Color (cs 'NonLinear) e -> (Color X e -> Color X e) -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB.ITU.Rec601: rec601ToYcbcr :: (RedGreenBlue cs i, RealFloat e) => Color (cs 'NonLinear) e -> Color YCbCr e
+ Graphics.Color.Space.RGB.ITU.Rec601: rec601ToYcbcr :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, RealFloat e) => Color (cs 'NonLinear) e -> Color YCbCr e
- Graphics.Color.Space.RGB.ITU.Rec601: ycbcrToRec601 :: (RedGreenBlue cs i, RealFloat e) => Color YCbCr e -> Color (cs 'NonLinear) e
+ Graphics.Color.Space.RGB.ITU.Rec601: ycbcrToRec601 :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, RealFloat e) => Color YCbCr e -> Color (cs 'NonLinear) e
- Graphics.Color.Space.RGB.Luma: Weight :: e -> Weight cs e
+ Graphics.Color.Space.RGB.Luma: Weight :: e -> Weight (cs :: k) e
- Graphics.Color.Space.RGB.Luma: [unWeight] :: Weight cs e -> e
+ Graphics.Color.Space.RGB.Luma: [unWeight] :: Weight (cs :: k) e -> e
- Graphics.Color.Space.RGB.Luma: newtype Weight cs e
+ Graphics.Color.Space.RGB.Luma: newtype Weight (cs :: k) e
- Graphics.Color.Space.RGB.Luma: pattern Y' :: e -> Color (Y' cs) e
+ Graphics.Color.Space.RGB.Luma: pattern Y' :: forall e (cs :: Linearity -> Type). e -> Color (Y' cs) e
- Graphics.Color.Space.RGB.Luma: pattern Y'A :: e -> e -> Color (Alpha (Y' cs)) e
+ Graphics.Color.Space.RGB.Luma: pattern Y'A :: forall e (cs :: Linearity -> Type). e -> e -> Color (Alpha (Y' cs)) e
- Graphics.Color.Space.RGB.Luma: rgbLuma :: forall cs i e' e. (Luma cs, RedGreenBlue cs i, Elevator e', Elevator e, RealFloat e) => Color (cs 'NonLinear) e' -> Color (Y' cs) e
+ Graphics.Color.Space.RGB.Luma: rgbLuma :: forall {k} cs (i :: k) e' e. (Luma cs, RedGreenBlue cs i, Elevator e', Elevator e, RealFloat e) => Color (cs 'NonLinear) e' -> Color (Y' cs) e
- Graphics.Color.Space.RGB.Luma: toBaseLinearSpace :: forall cs e i. (RedGreenBlue cs i, Applicative (Color (cs 'Linear)), RealFloat e) => Color (Y' cs) e -> Color (cs 'Linear) e
+ Graphics.Color.Space.RGB.Luma: toBaseLinearSpace :: forall {k} cs e (i :: k). (RedGreenBlue cs i, Applicative (Color (cs 'Linear)), RealFloat e) => Color (Y' cs) e -> Color (cs 'Linear) e
- Graphics.Color.Space.RGB.SRGB: pattern ColorSRGB :: e -> e -> e -> Color (SRGB l) e
+ Graphics.Color.Space.RGB.SRGB: pattern ColorSRGB :: forall e (l :: Linearity). e -> e -> e -> Color (SRGB l) e
- Graphics.Color.Space.RGB.SRGB: pattern ColorSRGBA :: e -> e -> e -> e -> Color (Alpha (SRGB l)) e
+ Graphics.Color.Space.RGB.SRGB: pattern ColorSRGBA :: forall e (l :: Linearity). e -> e -> e -> e -> Color (Alpha (SRGB l)) e
- Graphics.Color.Standard: class StandardColor std (code :: k)
+ Graphics.Color.Standard: class StandardColor (std :: k -> Type) (code :: k)
- Graphics.Color.Standard: color :: (StandardColor std code, ColorSpace cs i e) => std code -> Color cs e
+ Graphics.Color.Standard: color :: forall {k1} cs (i :: k1) e. (StandardColor std code, ColorSpace cs i e) => std code -> Color cs e
- Graphics.Color.Standard.RAL: agateGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: agateGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: anthraciteGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: anthraciteGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: antiquePink :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: antiquePink :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: azureBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: azureBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: basaltGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: basaltGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: beige :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: beige :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: beigeBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: beigeBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: beigeGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: beigeGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: beigeRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: beigeRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: blackBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: blackBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: blackBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: blackBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: blackGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: blackGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: blackGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: blackGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: blackOlive :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: blackOlive :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: blackRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: blackRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: blueGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: blueGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: blueGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: blueGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: blueLilac :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: blueLilac :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: bottleGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: bottleGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: brightRedOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: brightRedOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: brilliantBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: brilliantBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: broomYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: broomYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: brownBeige :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: brownBeige :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: brownGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: brownGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: brownGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: brownGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: brownRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: brownRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: capriBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: capriBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: carmineRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: carmineRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: cementGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: cementGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: chestnutBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: chestnutBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: chocolateBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: chocolateBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: chromeGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: chromeGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: claretViolet :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: claretViolet :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: class StandardColor std (code :: k)
+ Graphics.Color.Standard.RAL: class StandardColor (std :: k -> Type) (code :: k)
- Graphics.Color.Standard.RAL: clayBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: clayBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: cobaltBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: cobaltBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: color :: (StandardColor std code, ColorSpace cs i e) => std code -> Color cs e
+ Graphics.Color.Standard.RAL: color :: forall {k1} cs (i :: k1) e. (StandardColor std code, ColorSpace cs i e) => std code -> Color cs e
- Graphics.Color.Standard.RAL: concreteGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: concreteGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: copperBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: copperBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: coralRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: coralRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: cream :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: cream :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: curryYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: curryYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: daffodilYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: daffodilYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: dahliaYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: dahliaYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: deepOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: deepOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: distantBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: distantBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: dustyGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: dustyGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: emeraldGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: emeraldGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: fawnBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: fawnBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: fernGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: fernGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: firGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: firGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: flameRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: flameRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: gentianBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: gentianBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: goldenYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: goldenYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: graniteGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: graniteGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: graphiteBlack :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: graphiteBlack :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: graphiteGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: graphiteGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: grassGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: grassGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greenBeige :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greenBeige :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greenBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greenBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greenBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greenBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greenGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greenGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greyAluminium :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greyAluminium :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greyBeige :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greyBeige :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greyBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greyBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greyBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greyBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greyOlive :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greyOlive :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: greyWhite :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: greyWhite :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: heatherViolet :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: heatherViolet :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: honeyYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: honeyYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: ironGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: ironGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: ivory :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: ivory :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: jetBlack :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: jetBlack :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: khakiGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: khakiGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: leafGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: leafGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: lemonYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: lemonYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: lightBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: lightBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: lightGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: lightGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: lightGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: lightGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: lightIvory :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: lightIvory :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: lightPink :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: lightPink :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: luminousBrightOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: luminousBrightOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: luminousBrightRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: luminousBrightRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: luminousGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: luminousGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: luminousOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: luminousOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: luminousRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: luminousRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: luminousYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: luminousYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: mahoganyBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: mahoganyBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: maizeYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: maizeYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: mayGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: mayGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: melonYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: melonYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: mintGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: mintGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: mintTurquoise :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: mintTurquoise :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: mossGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: mossGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: mossGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: mossGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: mouseGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: mouseGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: nightBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: nightBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: nutBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: nutBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: oceanBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: oceanBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: ochreBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: ochreBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: ochreYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: ochreYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: oliveBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: oliveBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: oliveDrab :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: oliveDrab :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: oliveGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: oliveGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: oliveGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: oliveGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: oliveYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: oliveYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: opalGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: opalGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: orangeBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: orangeBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: orientRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: orientRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: oxideRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: oxideRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: oysterWhite :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: oysterWhite :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: paleBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: paleBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: paleGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: paleGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: papyrusWhite :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: papyrusWhite :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pastelBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pastelBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pastelGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pastelGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pastelOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pastelOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pastelTurquoise :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pastelTurquoise :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pastelViolet :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pastelViolet :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pastelYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pastelYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: patinaGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: patinaGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlBeige :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlBeige :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlBlackberry :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlBlackberry :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlCopper :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlCopper :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlDarkGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlDarkGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlGentianBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlGentianBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlGold :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlGold :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlLightGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlLightGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlMouseGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlMouseGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlNightBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlNightBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlOpalGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlOpalGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlPink :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlPink :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlRubyRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlRubyRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pearlViolet :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pearlViolet :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pebbleGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pebbleGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pigeonBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pigeonBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pineGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pineGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: platinumGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: platinumGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pureGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pureGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pureOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pureOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pureRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pureRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: pureWhite :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: pureWhite :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: purpleRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: purpleRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: purpleViolet :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: purpleViolet :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: quartzGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: quartzGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: rapeYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: rapeYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: raspberryRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: raspberryRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: redBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: redBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: redLilac :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: redLilac :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: redOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: redOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: redViolet :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: redViolet :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: reedGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: reedGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: resedaGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: resedaGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: rose :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: rose :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: rubyRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: rubyRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: saffronYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: saffronYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: salmonOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: salmonOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: salmonPink :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: salmonPink :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: sandYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: sandYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: sapphireBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: sapphireBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: sepiaBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: sepiaBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalBlack :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalBlack :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalViolet :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalViolet :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalWhite :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalWhite :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: signalYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: signalYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: silkGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: silkGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: silverGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: silverGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: skyBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: skyBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: slateGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: slateGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: squirrelGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: squirrelGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: steelBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: steelBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: stoneGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: stoneGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: strawberryRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: strawberryRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: sulfurYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: sulfurYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: sunYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: sunYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: tarpaulinGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: tarpaulinGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: telegrey1 :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: telegrey1 :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: telegrey2 :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: telegrey2 :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: telegrey4 :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: telegrey4 :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: telemagenta :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: telemagenta :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: terraBrown :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: terraBrown :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: tomatoRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: tomatoRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficBlack :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficBlack :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficGreyA :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficGreyA :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficGreyB :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficGreyB :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficPurple :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficPurple :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficWhite :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficWhite :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: trafficYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: trafficYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: turquoiseBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: turquoiseBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: turquoiseGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: turquoiseGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: ultramarineBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: ultramarineBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: umbraGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: umbraGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: vermilion :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: vermilion :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: violetBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: violetBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: waterBlue :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: waterBlue :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: whiteAluminium :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: whiteAluminium :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: windowGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: windowGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: wineRed :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: wineRed :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: yellowGreen :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: yellowGreen :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: yellowGrey :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: yellowGrey :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: yellowOlive :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: yellowOlive :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: yellowOrange :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: yellowOrange :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Color.Standard.RAL: zincYellow :: ColorSpace cs i e => Color cs e
+ Graphics.Color.Standard.RAL: zincYellow :: forall {k} cs (i :: k) e. ColorSpace cs i e => Color cs e
- Graphics.Pixel.ColorSpace: applyGrayscalePixel :: ColorSpace cs i e => Pixel cs e -> (Pixel X e -> Pixel X e) -> Pixel cs e
+ Graphics.Pixel.ColorSpace: applyGrayscalePixel :: forall {k} cs (i :: k) e. ColorSpace cs i e => Pixel cs e -> (Pixel X e -> Pixel X e) -> Pixel cs e
- Graphics.Pixel.ColorSpace: convertPixel :: forall cs i e cs' i' e'. (ColorSpace cs' i' e', ColorSpace cs i e) => Pixel cs' e' -> Pixel cs e
+ Graphics.Pixel.ColorSpace: convertPixel :: forall {k1} {k2} cs (i :: k1) e cs' (i' :: k2) e'. (ColorSpace cs' i' e', ColorSpace cs i e) => Pixel cs' e' -> Pixel cs e
- Graphics.Pixel.ColorSpace: fromPixelBaseModel :: ColorSpace cs i e => Pixel (BaseModel cs) e -> Pixel cs e
+ Graphics.Pixel.ColorSpace: fromPixelBaseModel :: forall {k} cs (i :: k) e. ColorSpace cs i e => Pixel (BaseModel cs) e -> Pixel cs e
- Graphics.Pixel.ColorSpace: fromPixelBaseSpace :: (ColorSpace cs i e, bcs ~ BaseSpace cs, ColorSpace bcs i e) => Pixel bcs e -> Pixel cs e
+ Graphics.Pixel.ColorSpace: fromPixelBaseSpace :: forall {k} cs (i :: k) e bcs. (ColorSpace cs i e, bcs ~ BaseSpace cs, ColorSpace bcs i e) => Pixel bcs e -> Pixel cs e
- Graphics.Pixel.ColorSpace: fromPixelLinearRGB :: (RedGreenBlue cs i, RealFloat e) => Pixel (cs 'Linear) e -> Pixel (cs 'NonLinear) e
+ Graphics.Pixel.ColorSpace: fromPixelLinearRGB :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, RealFloat e) => Pixel (cs 'Linear) e -> Pixel (cs 'NonLinear) e
- Graphics.Pixel.ColorSpace: fromPixelXYZ :: (ColorSpace cs i e, Elevator a, RealFloat a) => Pixel (XYZ i) a -> Pixel cs e
+ Graphics.Pixel.ColorSpace: fromPixelXYZ :: forall {k} cs (i :: k) e a. (ColorSpace cs i e, Elevator a, RealFloat a) => Pixel (XYZ i) a -> Pixel cs e
- Graphics.Pixel.ColorSpace: grayscalePixel :: ColorSpace cs i e => Pixel cs e -> Pixel X e
+ Graphics.Pixel.ColorSpace: grayscalePixel :: forall {k} cs (i :: k) e. ColorSpace cs i e => Pixel cs e -> Pixel X e
- Graphics.Pixel.ColorSpace: pattern PixelCMYK :: e -> e -> e -> e -> Pixel (CMYK cs) e
+ Graphics.Pixel.ColorSpace: pattern PixelCMYK :: forall {k} e (cs :: k). e -> e -> e -> e -> Pixel (CMYK cs) e
- Graphics.Pixel.ColorSpace: pattern PixelCMYKA :: e -> e -> e -> e -> e -> Pixel (Alpha (CMYK cs)) e
+ Graphics.Pixel.ColorSpace: pattern PixelCMYKA :: forall {k} e (cs :: k). e -> e -> e -> e -> e -> Pixel (Alpha (CMYK cs)) e
- Graphics.Pixel.ColorSpace: pattern PixelHSI :: e -> e -> e -> Pixel (HSI cs) e
+ Graphics.Pixel.ColorSpace: pattern PixelHSI :: forall {k} e (cs :: k). e -> e -> e -> Pixel (HSI cs) e
- Graphics.Pixel.ColorSpace: pattern PixelHSIA :: e -> e -> e -> e -> Pixel (Alpha (HSI cs)) e
+ Graphics.Pixel.ColorSpace: pattern PixelHSIA :: forall {k} e (cs :: k). e -> e -> e -> e -> Pixel (Alpha (HSI cs)) e
- Graphics.Pixel.ColorSpace: pattern PixelHSL :: e -> e -> e -> Pixel (HSL cs) e
+ Graphics.Pixel.ColorSpace: pattern PixelHSL :: forall {k} e (cs :: k). e -> e -> e -> Pixel (HSL cs) e
- Graphics.Pixel.ColorSpace: pattern PixelHSLA :: e -> e -> e -> e -> Pixel (Alpha (HSL cs)) e
+ Graphics.Pixel.ColorSpace: pattern PixelHSLA :: forall {k} e (cs :: k). e -> e -> e -> e -> Pixel (Alpha (HSL cs)) e
- Graphics.Pixel.ColorSpace: pattern PixelHSV :: e -> e -> e -> Pixel (HSV cs) e
+ Graphics.Pixel.ColorSpace: pattern PixelHSV :: forall {k} e (cs :: k). e -> e -> e -> Pixel (HSV cs) e
- Graphics.Pixel.ColorSpace: pattern PixelHSVA :: e -> e -> e -> e -> Pixel (Alpha (HSV cs)) e
+ Graphics.Pixel.ColorSpace: pattern PixelHSVA :: forall {k} e (cs :: k). e -> e -> e -> e -> Pixel (Alpha (HSV cs)) e
- Graphics.Pixel.ColorSpace: pattern PixelLAB :: e -> e -> e -> Pixel (LAB i) e
+ Graphics.Pixel.ColorSpace: pattern PixelLAB :: forall {k} e (i :: k). e -> e -> e -> Pixel (LAB i) e
- Graphics.Pixel.ColorSpace: pattern PixelLABA :: e -> e -> e -> e -> Pixel (Alpha (LAB i)) e
+ Graphics.Pixel.ColorSpace: pattern PixelLABA :: forall {k} e (i :: k). e -> e -> e -> e -> Pixel (Alpha (LAB i)) e
- Graphics.Pixel.ColorSpace: pattern PixelSRGB :: forall e l. e -> e -> e -> Pixel (SRGB l) e
+ Graphics.Pixel.ColorSpace: pattern PixelSRGB :: forall e (l :: Linearity). e -> e -> e -> Pixel (SRGB l) e
- Graphics.Pixel.ColorSpace: pattern PixelSRGBA :: e -> e -> e -> e -> Pixel (Alpha (SRGB l)) e
+ Graphics.Pixel.ColorSpace: pattern PixelSRGBA :: forall e (l :: Linearity). e -> e -> e -> e -> Pixel (Alpha (SRGB l)) e
- Graphics.Pixel.ColorSpace: pattern PixelXYZ :: e -> e -> e -> Pixel (XYZ i) e
+ Graphics.Pixel.ColorSpace: pattern PixelXYZ :: forall {k} e (i :: k). e -> e -> e -> Pixel (XYZ i) e
- Graphics.Pixel.ColorSpace: pattern PixelXYZA :: e -> e -> e -> e -> Pixel (Alpha (XYZ i)) e
+ Graphics.Pixel.ColorSpace: pattern PixelXYZA :: forall {k} e (i :: k). e -> e -> e -> e -> Pixel (Alpha (XYZ i)) e
- Graphics.Pixel.ColorSpace: pattern PixelY :: e -> Pixel (Y i) e
+ Graphics.Pixel.ColorSpace: pattern PixelY :: forall {k} e (i :: k). e -> Pixel (Y i) e
- Graphics.Pixel.ColorSpace: pattern PixelY' :: e -> Pixel (Y' cs) e
+ Graphics.Pixel.ColorSpace: pattern PixelY' :: forall e (cs :: Linearity -> Type). e -> Pixel (Y' cs) e
- Graphics.Pixel.ColorSpace: pattern PixelY'A :: e -> e -> Pixel (Alpha (Y' cs)) e
+ Graphics.Pixel.ColorSpace: pattern PixelY'A :: forall e (cs :: Linearity -> Type). e -> e -> Pixel (Alpha (Y' cs)) e
- Graphics.Pixel.ColorSpace: pattern PixelY'CbCr :: e -> e -> e -> Pixel (Y'CbCr cs) e
+ Graphics.Pixel.ColorSpace: pattern PixelY'CbCr :: forall e (cs :: Linearity -> Type). e -> e -> e -> Pixel (Y'CbCr cs) e
- Graphics.Pixel.ColorSpace: pattern PixelY'CbCrA :: e -> e -> e -> e -> Pixel (Alpha (Y'CbCr cs)) e
+ Graphics.Pixel.ColorSpace: pattern PixelY'CbCrA :: forall e (cs :: Linearity -> Type). e -> e -> e -> e -> Pixel (Alpha (Y'CbCr cs)) e
- Graphics.Pixel.ColorSpace: pattern PixelYA :: e -> e -> Pixel (Alpha (Y i)) e
+ Graphics.Pixel.ColorSpace: pattern PixelYA :: forall {k} e (i :: k). e -> e -> Pixel (Alpha (Y i)) e
- Graphics.Pixel.ColorSpace: pattern PixelRGBA :: RedGreenBlue cs i => e -> e -> e -> e -> Pixel (Alpha (cs l)) e
+ Graphics.Pixel.ColorSpace: pattern PixelRGBA :: forall {k} cs (i :: k) e (l :: Linearity). RedGreenBlue cs i => e -> e -> e -> e -> Pixel (Alpha (cs l)) e
- Graphics.Pixel.ColorSpace: replaceGrayscalePixel :: ColorSpace cs i e => Pixel cs e -> Pixel X e -> Pixel cs e
+ Graphics.Pixel.ColorSpace: replaceGrayscalePixel :: forall {k} cs (i :: k) e. ColorSpace cs i e => Pixel cs e -> Pixel X e -> Pixel cs e
- Graphics.Pixel.ColorSpace: rgbPixelLuma :: forall cs i e' e. (Luma cs, RedGreenBlue cs i, Elevator e', Elevator e, RealFloat e) => Pixel (cs 'NonLinear) e' -> Pixel (Y' cs) e
+ Graphics.Pixel.ColorSpace: rgbPixelLuma :: forall {k} cs (i :: k) e' e. (Luma cs, RedGreenBlue cs i, Elevator e', Elevator e, RealFloat e) => Pixel (cs 'NonLinear) e' -> Pixel (Y' cs) e
- Graphics.Pixel.ColorSpace: toPixelBaseModel :: ColorSpace cs i e => Pixel cs e -> Pixel (BaseModel cs) e
+ Graphics.Pixel.ColorSpace: toPixelBaseModel :: forall {k} cs (i :: k) e. ColorSpace cs i e => Pixel cs e -> Pixel (BaseModel cs) e
- Graphics.Pixel.ColorSpace: toPixelBaseSpace :: (ColorSpace cs i e, bcs ~ BaseSpace cs, ColorSpace bcs i e) => Pixel cs e -> Pixel bcs e
+ Graphics.Pixel.ColorSpace: toPixelBaseSpace :: forall {k} cs (i :: k) e bcs. (ColorSpace cs i e, bcs ~ BaseSpace cs, ColorSpace bcs i e) => Pixel cs e -> Pixel bcs e
- Graphics.Pixel.ColorSpace: toPixelLinearRGB :: (RedGreenBlue cs i, RealFloat e) => Pixel (cs 'NonLinear) e -> Pixel (cs 'Linear) e
+ Graphics.Pixel.ColorSpace: toPixelLinearRGB :: forall {k} cs (i :: k) e. (RedGreenBlue cs i, RealFloat e) => Pixel (cs 'NonLinear) e -> Pixel (cs 'Linear) e
- Graphics.Pixel.ColorSpace: toPixelXYZ :: (ColorSpace cs i e, Elevator a, RealFloat a) => Pixel cs e -> Pixel (XYZ i) a
+ Graphics.Pixel.ColorSpace: toPixelXYZ :: forall {k} cs (i :: k) e a. (ColorSpace cs i e, Elevator a, RealFloat a) => Pixel cs e -> Pixel (XYZ i) a
- Graphics.Pixel.ColorSpace: toPixelY :: ColorSpace cs i e => Pixel cs e -> Pixel (Y i) e
+ Graphics.Pixel.ColorSpace: toPixelY :: forall {k} cs (i :: k) e. ColorSpace cs i e => Pixel cs e -> Pixel (Y i) e
Files
- CHANGELOG.md +5/−0
- Color.cabal +8/−4
- src/Graphics/Color/Algebra/Binary.hs +3/−0
- src/Graphics/Color/Algebra/Elevator.hs +34/−5
- src/Graphics/Color/Space/OKLAB.hs +177/−0
- src/Graphics/Color/Space/OKLAB/LCH.hs +107/−0
- tests/Graphics/Color/Algebra/ElevatorSpec.hs +12/−4
- tests/Graphics/Color/Model/Common.hs +1/−1
- tests/Graphics/Color/Space/Common.hs +9/−9
- tests/Graphics/Color/Space/OKLAB/LAB/LCHSpec.hs +30/−0
- tests/Graphics/Color/Space/OKLAB/LABSpec.hs +18/−0
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Changelog for Color +## 0.4.1++* Addition of `OKLAB` and `OKLCH` color spaces. From the [CSS 4 Color+ Specification](https://drafts.csswg.org/css-color-4/#:~:text=XYZ_to_OKLab)+ ## 0.4.0 * Addition of `DIN99` color space.
Color.cabal view
@@ -1,5 +1,5 @@ name: Color-version: 0.4.0+version: 0.4.1 synopsis: Color spaces and conversions between them description: Please see the README on GitHub at <https://github.com/lehins/Color#readme> homepage: https://github.com/lehins/Color@@ -22,10 +22,10 @@ , GHC == 9.0.2 , GHC == 9.2.8 , GHC == 9.4.8- , GHC == 9.6.6+ , GHC == 9.6.7 , GHC == 9.8.4- , GHC == 9.10.1- , GHC == 9.12.1+ , GHC == 9.10.3+ , GHC == 9.12.2 library hs-source-dirs: src@@ -47,6 +47,8 @@ , Graphics.Color.Space.CIE1931.RGB , Graphics.Color.Space.CIE1931.XYZ , Graphics.Color.Space.CIE1976.LAB+ , Graphics.Color.Space.OKLAB+ , Graphics.Color.Space.OKLAB.LCH , Graphics.Color.Space.CIE1976.LAB.LCH , Graphics.Color.Space.CIE1976.LUV , Graphics.Color.Space.CIE1976.LUV.LCH@@ -129,6 +131,8 @@ , Graphics.Color.Space.CIE1976.LAB.LCHSpec , Graphics.Color.Space.CIE1976.LUVSpec , Graphics.Color.Space.CIE1976.LUV.LCHSpec+ , Graphics.Color.Space.OKLAB.LABSpec+ , Graphics.Color.Space.OKLAB.LAB.LCHSpec , Graphics.Color.Space.RGB.AdobeRGBSpec , Graphics.Color.Space.RGB.SRGBSpec , Graphics.Color.Space.RGB.Derived.AdobeRGBSpec
src/Graphics/Color/Algebra/Binary.hs view
@@ -134,6 +134,9 @@ toShowS _ = ('1':) toWord8 = coerce {-# INLINE toWord8 #-}+ fromWord8 0 = zero+ fromWord8 _ = one+ {-# INLINE fromWord8 #-} toWord16 (Bit 0) = 0 toWord16 _ = maxBound {-# INLINE toWord16 #-}
src/Graphics/Color/Algebra/Elevator.hs view
@@ -49,6 +49,9 @@ -- | Values are scaled to @[0, 255]@ range. toWord8 :: e -> Word8 + -- | Values are scaled from @[0, 255]@ range to @[minValue, maxValue]@.+ fromWord8 :: Word8 -> e+ -- | Values are scaled to @[0, 65535]@ range. toWord16 :: e -> Word16 @@ -158,6 +161,8 @@ fieldFormat _ = defFieldFormat {fmtWidth = Just 3, fmtChar = 'd'} toWord8 = id {-# INLINE toWord8 #-}+ fromWord8 = id+ {-# INLINE fromWord8 #-} toWord16 = raiseUp {-# INLINE toWord16 #-} toWord32 = raiseUp@@ -185,6 +190,8 @@ fieldFormat _ = defFieldFormat { fmtWidth = Just 5, fmtChar = 'd'} toWord8 = dropDown {-# INLINE toWord8 #-}+ fromWord8 = raiseUp+ {-# INLINE fromWord8 #-} toWord16 = id {-# INLINE toWord16 #-} toWord32 = raiseUp@@ -212,6 +219,8 @@ fieldFormat _ = defFieldFormat { fmtWidth = Just 10, fmtChar = 'd'} toWord8 = dropDown {-# INLINE toWord8 #-}+ fromWord8 = raiseUp+ {-# INLINE fromWord8 #-} toWord16 = dropDown {-# INLINE toWord16 #-} toWord32 = id@@ -239,6 +248,8 @@ fieldFormat _ = defFieldFormat { fmtWidth = Just 20, fmtChar = 'd'} toWord8 = dropDown {-# INLINE toWord8 #-}+ fromWord8 = raiseUp+ {-# INLINE fromWord8 #-} toWord16 = dropDown {-# INLINE toWord16 #-} toWord32 = dropDown@@ -277,6 +288,8 @@ #endif toWord8 = dropDown {-# INLINE toWord8 #-}+ fromWord8 = raiseUp+ {-# INLINE fromWord8 #-} toWord16 = dropDown {-# INLINE toWord16 #-} toWord32 = dropDown@@ -297,8 +310,10 @@ maxValue = maxBound minValue = 0 fieldFormat _ = defFieldFormat { fmtWidth = Just 3, fmtChar = 'd'}- toWord8 = fromIntegral . max 0+ toWord8 = raiseUp . max 0 {-# INLINE toWord8 #-}+ fromWord8 = dropDown+ {-# INLINE fromWord8 #-} toWord16 = raiseUp . max 0 {-# INLINE toWord16 #-} toWord32 = raiseUp . max 0@@ -322,7 +337,9 @@ fieldFormat _ = defFieldFormat { fmtWidth = Just 5, fmtChar = 'd'} toWord8 = dropDown . max 0 {-# INLINE toWord8 #-}- toWord16 = fromIntegral . max 0+ fromWord8 = raiseUp+ {-# INLINE fromWord8 #-}+ toWord16 = raiseUp . max 0 {-# INLINE toWord16 #-} toWord32 = raiseUp . max 0 {-# INLINE toWord32 #-}@@ -345,9 +362,11 @@ fieldFormat _ = defFieldFormat { fmtWidth = Just 10, fmtChar = 'd'} toWord8 = dropDown . max 0 {-# INLINE toWord8 #-}+ fromWord8 = raiseUp+ {-# INLINE fromWord8 #-} toWord16 = dropDown . max 0 {-# INLINE toWord16 #-}- toWord32 = fromIntegral . max 0+ toWord32 = raiseUp . max 0 {-# INLINE toWord32 #-} toWord64 = raiseUp . max 0 {-# INLINE toWord64 #-}@@ -368,11 +387,13 @@ fieldFormat _ = defFieldFormat { fmtWidth = Just 19, fmtChar = 'd'} toWord8 = dropDown . max 0 {-# INLINE toWord8 #-}+ fromWord8 = raiseUp+ {-# INLINE fromWord8 #-} toWord16 = dropDown . max 0 {-# INLINE toWord16 #-} toWord32 = dropDown . max 0 {-# INLINE toWord32 #-}- toWord64 = fromIntegral . max 0+ toWord64 = raiseUp . max 0 {-# INLINE toWord64 #-} toFloat = squashTo1 . max 0 {-# INLINE toFloat #-}@@ -394,11 +415,13 @@ {-# INLINE toWord64 #-} #else fieldFormat _ = defFieldFormat { fmtWidth = Just 19, fmtChar = 'd'}- toWord64 = fromIntegral . max 0+ toWord64 = raiseUp . max 0 {-# INLINE toWord64 #-} #endif toWord8 = dropDown . max 0 {-# INLINE toWord8 #-}+ fromWord8 = raiseUp+ {-# INLINE fromWord8 #-} toWord16 = dropDown . max 0 {-# INLINE toWord16 #-} toWord32 = dropDown . max 0@@ -420,6 +443,8 @@ fieldFormat _ = defFieldFormat { fmtWidth = Just 11, fmtPrecision = Just 8, fmtChar = 'f'} toWord8 = stretch {-# INLINE toWord8 #-}+ fromWord8 = squashTo1+ {-# INLINE fromWord8 #-} toWord16 = stretch {-# INLINE toWord16 #-} toWord32 = float2Word32@@ -447,6 +472,8 @@ fieldFormat _ = defFieldFormat { fmtWidth = Just 19, fmtPrecision = Just 16, fmtChar = 'f' } toWord8 = stretch {-# INLINE toWord8 #-}+ fromWord8 = squashTo1+ {-# INLINE fromWord8 #-} toWord16 = stretch {-# INLINE toWord16 #-} toWord32 = stretch@@ -484,6 +511,8 @@ toShowS (r :+ i) = toShowS r . formatArg i ((fieldFormat i) {fmtSign = Just SignPlus}) . ('i' :) toWord8 = toWord8 . realPart {-# INLINE toWord8 #-}+ fromWord8 = (:+ 0) . fromWord8+ {-# INLINE fromWord8 #-} toWord16 = toWord16 . realPart {-# INLINE toWord16 #-} toWord32 = toWord32 . realPart
+ src/Graphics/Color/Space/OKLAB.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE BangPatterns #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TypeFamilies #-}+-- |+-- Module : Graphics.Color.Space.OKLAB+-- Copyright : (c) Alexey Kuleshevich 2018-2020+-- License : BSD3+-- Maintainer : Alexey Kuleshevich <lehins@yandex.ru>+-- Stability : experimental+-- Portability : non-portable+--+module Graphics.Color.Space.OKLAB+ ( -- * Constructors for an CIE L*a*b* color space.+ pattern OKLAB+ , pattern ColorOKLAB+ , pattern ColorOKLABA+ , OKLAB+ ) where++import Data.List.NonEmpty+import Foreign.Storable+import Graphics.Color.Model.Internal+import Graphics.Color.Space.Internal+import Graphics.Color.Illuminant.ITU.Rec601 (D65)++--------------+--- OKLAB ---+--------------++-- | [OK L*a*b*](https://bottosson.github.io/posts/oklab/) color space+--+-- Values for matrices used in conversion to and from @CIEXYZ@ where taken from+-- [W3 CSS specification](https://www.w3.org/TR/css-color-4/#color-conversion-code) +-- instead of the original blogpost about the OKLab color space.+data OKLAB++-- | Color in OK L*a*b* color space+newtype instance Color OKLAB e = OKLAB (V3 e)+++pattern ColorOKLAB :: e -> e -> e -> Color OKLAB e+pattern ColorOKLAB l' a' b' = OKLAB (V3 l' a' b')+{-# COMPLETE ColorOKLAB #-}++-- | Constructor for @OKLAB@ with alpha channel.+pattern ColorOKLABA :: e -> e -> e -> e -> Color (Alpha OKLAB) e+pattern ColorOKLABA l' a' b' a = Alpha (OKLAB (V3 l' a' b')) a+{-# COMPLETE ColorOKLABA #-}++-- | `OKLAB` color space+deriving instance Eq e => Eq (Color OKLAB e)++-- | `OKLAB` color space+deriving instance Ord e => Ord (Color OKLAB e)++-- | `OKLAB` color space+deriving instance Functor (Color OKLAB)++-- | `OKLAB` color space+deriving instance Applicative (Color OKLAB)++-- | `OKLAB` color space+deriving instance Foldable (Color OKLAB)++-- | `OKLAB` color space+deriving instance Traversable (Color OKLAB)++-- | `OKLAB` color space+deriving instance Storable e => Storable (Color OKLAB e)++-- | `OKLAB` color space+instance (Elevator e) => Show (Color OKLAB e) where+ showsPrec _ = showsColorModel++-- | `OKLAB` color space+instance (Elevator e) => ColorModel OKLAB e where+ type Components OKLAB e = (e, e, e)+ type ChannelCount OKLAB = 3+ channelCount _ = 3+ {-# INLINE channelCount #-}+ channelNames _ = "L*" :| ["a*", "b*"]+ channelColors _ = V3 0x80 0x80 0x80 :| -- gray+ [ V3 0xb5 0x00 0x5e -- dark magenta+ , V3 0x00 0x00 0x8b -- dark gold+ ]+ toComponents (ColorOKLAB l' a' b') = (l', a', b')+ {-# INLINE toComponents #-}+ fromComponents (l', a', b') = ColorOKLAB l' a' b'+ {-# INLINE fromComponents #-}++instance (Elevator e, RealFloat e) => ColorSpace OKLAB D65 e where+ type BaseModel OKLAB = OKLAB+ type BaseSpace OKLAB = OKLAB+ toBaseSpace = id+ {-# INLINE toBaseSpace #-}+ fromBaseSpace = id+ {-# INLINE fromBaseSpace #-}+ luminance c = Y $ lab2luminance c+ {-# INLINE luminance #-}+ toColorXYZ = lab2xyz+ {-# INLINE toColorXYZ #-}+ fromColorXYZ = xyz2lab+ {-# INLINE fromColorXYZ #-}+ grayscale (ColorOKLAB l' _ _) = X l'+ {-# INLINE grayscale #-}+ replaceGrayscale (ColorOKLAB _ a' b') (X l') = ColorOKLAB l' a' b'+ {-# INLINE replaceGrayscale #-}++lab2luminance :: forall a e. (Elevator e, Elevator a, RealFloat e, RealFloat a)+ => Color OKLAB e+ -> a+lab2luminance (ColorOKLAB ll a b) = toRealFloat y+ where+ !l' = ll + 0.3963377773761749 * a + 0.2158037573099136 * b+ !m' = ll - 0.1055613458156586 * a - 0.0638541728258133 * b+ !s' = ll - 0.0894841775298119 * a - 1.2914855480194092 * b+ !l = l' ^ (3 :: Int)+ !m = m' ^ (3 :: Int)+ !s = s' ^ (3 :: Int)+ !y = (-0.0405757452148008) * l + 1.1122868032803170 * m - 0.0717110580655164 * s+{-# INLINE lab2luminance #-}++lab2xyz ::+ forall a e. (Elevator e, Elevator a, RealFloat e, RealFloat a)+ => Color OKLAB e+ -> Color (XYZ D65) a+lab2xyz (ColorOKLAB ll a b) = ColorXYZ rfX rfY rfZ+ where+ !l' = ll + 0.3963377773761749 * a + 0.2158037573099136 * b+ !m' = ll - 0.1055613458156586 * a - 0.0638541728258133 * b+ !s' = ll - 0.0894841775298119 * a - 1.2914855480194092 * b+ !l = l' ^ (3 :: Int)+ !m = m' ^ (3 :: Int)+ !s = s' ^ (3 :: Int)+ !x = 1.2268798758459243 * l - 0.5578149944602171 * m + 0.2813910456659647 * s+ !y = (-0.0405757452148008) * l + 1.1122868032803170 * m - 0.0717110580655164 * s+ !z = (-0.0763729366746601) * l - 0.4214933324022432 * m + 1.5869240198367816 * s+ !rfX = toRealFloat x+ !rfY = toRealFloat y+ !rfZ = toRealFloat z+{-# INLINE lab2xyz #-}++signedCubeRoot :: RealFloat e => e -> e+signedCubeRoot x =+ if x < 0+ then -((-x) ** (1 / 3))+ else x ** (1 / 3)+{-# INLINE signedCubeRoot #-}++xyz2lab ::+ forall a e. (Elevator a, Elevator e, RealFloat a, RealFloat e)+ => Color (XYZ D65) a+ -> Color OKLAB e+xyz2lab (ColorXYZ x y z) = ColorOKLAB rfL rfA rfB+ where+ !l = 0.8190224379967030 * x + 0.3619062600528904 * y - 0.1288737815209879 * z+ !m = 0.0329836539323885 * x + 0.9292868615863434 * y + 0.0361446663506424 * z+ !s = 0.0481771893596242 * x + 0.2642395317527308 * y + 0.6335478284694309 * z+ !l' = signedCubeRoot l+ !m' = signedCubeRoot m+ !s' = signedCubeRoot s+ !ll = 0.2104542683093140 * l' + 0.7936177747023054 * m' - 0.0040720430116193 * s'+ !a = 1.9779985324311684 * l' - 2.4285922420485799 * m' + 0.4505937096174110 * s'+ !b = 0.0259040424655478 * l' + 0.7827717124575296 * m' - 0.8086757549230774 * s'+ !rfL = toRealFloat ll+ !rfA = toRealFloat a+ !rfB = toRealFloat b+{-# INLINE xyz2lab #-}
+ src/Graphics/Color/Space/OKLAB/LCH.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ViewPatterns #-}++-- |+-- Module: Graphics.Color.Space.OKLAB.LCH++module Graphics.Color.Space.OKLAB.LCH+ ( pattern ColorOKLCH+ , pattern ColorOKLCHA+ , OKLCH+ , Color(OKLCH)+ ) where++import Data.Coerce+import Data.List.NonEmpty+import Data.Proxy+import Foreign.Storable+import qualified Graphics.Color.Model.LCH as CM+import Graphics.Color.Space.OKLAB+import Graphics.Color.Model.Internal+import Graphics.Color.Space.Internal+import Graphics.Color.Illuminant.ITU.Rec601 (D65)++-- | [OK L*C*H*](https://bottosson.github.io/posts/oklab/) color space+-- an LCH representation for the L*a*b* color space+data OKLCH++-- | Color in OKLCH color space+newtype instance Color OKLCH e = OKLCH (Color CM.LCH e)++-- | `OKLCH` color space+deriving instance Eq e => Eq (Color OKLCH e)++-- | `OKLCH` color space+deriving instance Ord e => Ord (Color OKLCH e)++-- | `OKLCH` color space+deriving instance Functor (Color OKLCH)++-- | `OKLCH` color space+deriving instance Applicative (Color OKLCH)++-- | `OKLCH` color space+deriving instance Foldable (Color OKLCH)++-- | `OKLCH` color space+deriving instance Traversable (Color OKLCH)++-- | `OKLCH` color space+deriving instance Storable e => Storable (Color OKLCH e)++-- | `OKLCH` color space+instance (Elevator e) => Show (Color OKLCH e) where+ showsPrec _ = showsColorModel++-- | Constructor for a OKL*a*b* color space in a cylindrical L*C*h parameterization+pattern ColorOKLCH :: e -> e -> e -> Color OKLCH e+pattern ColorOKLCH l c h = OKLCH (CM.ColorLCH l c h)+{-# COMPLETE ColorOKLCH #-}++-- | Constructor for a @OKLCH@ with alpha+pattern ColorOKLCHA :: e -> e -> e -> e -> Color (Alpha OKLCH) e+pattern ColorOKLCHA l c h a = Alpha (OKLCH (CM.ColorLCH l c h)) a+{-# COMPLETE ColorOKLCHA #-}++-- | `OKLCH` color space+instance (Elevator e, ColorModel OKLAB e) => ColorModel OKLCH e where+ type Components OKLCH e = (e, e, e)+ type ChannelCount OKLCH = 3+ channelCount _ = 3+ {-# INLINE channelCount #-}+ channelNames _ = "L" :| ["Cab", "Hab"]+ channelColors _ = V3 0x80 0x80 0x80 :|+ [ V3 0xff 0x31 0x8e+ , V3 0x66 0x66 0xff+ ]+ toComponents (OKLCH lch) = toComponents lch+ {-# INLINE toComponents #-}+ fromComponents = OKLCH . fromComponents+ {-# INLINE fromComponents #-}+ showsColorModelName _ =+ ("LCH-"++) . showsColorModelName (Proxy :: Proxy (Color OKLAB e))++instance (Elevator e, ColorSpace OKLAB D65 e) => ColorSpace OKLCH D65 e where+ type BaseModel OKLCH = CM.LCH+ type BaseSpace OKLCH = OKLAB+ toBaseSpace (OKLCH lch) = fmap fromDouble . fromComponents . CM.lch2lxy . fmap toDouble $ lch+ {-# INLINE toBaseSpace #-}+ fromBaseSpace = OKLCH . fmap fromDouble . CM.lxy2lch . toComponents . fmap toDouble+ {-# INLINE fromBaseSpace #-}+ luminance = luminance . toBaseSpace+ {-# INLINE luminance #-}+ grayscale (coerce -> V3 l _ _) = X l+ {-# INLINE grayscale #-}+ replaceGrayscale (coerce -> V3 _ c h) (X l) = coerce (V3 l c h)+ {-# INLINE replaceGrayscale #-}
tests/Graphics/Color/Algebra/ElevatorSpec.hs view
@@ -37,6 +37,7 @@ describe "Word8" $ do specNegativeBecomesZero (Proxy :: Proxy Word8) eprop "toWord8" $ \(e :: Word8) -> e === toWord8 e+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Word8) eprop "toWord8 . toWord16" $ \(e :: Word8) -> e === toWord8 (toWord16 e) eprop "toWord8 . toWord32" $ \(e :: Word8) -> e === toWord8 (toWord32 e) eprop "toWord8 . toWord64" $ \(e :: Word8) -> e === toWord8 (toWord64 e)@@ -57,6 +58,7 @@ eprop "read . toShowS" $ \(e :: Word8) -> e === read (toShowS e "") describe "Word16" $ do specNegativeBecomesZero (Proxy :: Proxy Word16)+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Word16) eprop "toWord16" $ \(e :: Word16) -> e === toWord16 e eprop "toWord16 . toWord32" $ \(e :: Word16) -> e === toWord16 (toWord32 e) eprop "toWord16 . toWord64" $ \(e :: Word16) -> e === toWord16 (toWord64 e)@@ -76,6 +78,7 @@ eprop "read . toShowS" $ \(e :: Word16) -> e === read (toShowS e "") describe "Word32" $ do specNegativeBecomesZero (Proxy :: Proxy Word32)+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Word32) eprop "toWord32" $ \(e :: Word32) -> e === toWord32 e eprop "toWord32 . toWord64" $ \(e :: Word32) -> e === toWord32 (toWord64 e) prop "toWord32 . toFloat" $@@ -97,6 +100,7 @@ eprop "read . toShowS" $ \(e :: Word32) -> e === read (toShowS e "") describe "Word64" $ do specNegativeBecomesZero (Proxy :: Proxy Word64)+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Word64) eprop "toWord64" $ \(e :: Word64) -> e === toWord64 e prop "toWord64 . toFloat" $ forAll (choose (0, maxFloatI)) $ \(e :: Word64) -> e === toWord64 (toFloat e)@@ -123,6 +127,7 @@ eprop "read . toShowS" $ \(e :: Word64) -> e === read (toShowS e "") describe "Word" $ do specNegativeBecomesZero (Proxy :: Proxy Word)+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Word) eprop "toWord64" $ \(e :: Word) -> fromIntegral e === toWord64 e prop "toWord64 . toFloat" $ forAll (choose (0, maxFloatI)) $ \(e :: Word) -> fromIntegral e === toWord64 (toFloat e)@@ -149,6 +154,7 @@ shouldBeApproxIntegral 1 e (fromRealFloat (toDouble e)) eprop "read . toShowS" $ \(e :: Word) -> e === read (toShowS e "") describe "Float" $ do+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Float) eprop "fromRealFloat . toFloat" $ \(e :: Float) -> e === fromRealFloat (toFloat e) eprop "fromRealFloat . toDouble" $ \(e :: Float) -> e === fromRealFloat (toDouble e) eprop "fromRealFloat . toRealFloat :: Float" $ \(e :: Float) ->@@ -160,6 +166,7 @@ --eprop "read . toShowS" $ \(e :: Float) -> e === read (toShowS e "") it "toWord32 (maxBound edge case)" $ toWord32 (1 :: Float) `shouldBe` maxBound describe "Double" $ do+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Double) eprop "fromRealFloat . toDouble" $ \(e :: Double) -> e === fromRealFloat (toDouble e) eprop "fromRealFloat . toRealFloat :: Double" $ \(e :: Double) -> e === fromRealFloat (toRealFloat e :: Double)@@ -170,7 +177,7 @@ pos = fromIntegral . max 0 describe "Int8" $ do specNegativeBecomesPositive (Proxy :: Proxy Int8)- eprop "toWord8" $ \(e :: Int8) -> pos e === toWord8 e+ eprop "fromWord8 . toWord8" $ \(e :: Int8) -> e === fromWord8 (toWord8 e) eprop "fromRealFloat . toFloat :: Float" $ \(e :: Int8) -> (pos e :: Int8) === fromRealFloat (toFloat e :: Float) eprop "fromRealFloat . toRealFloat :: Float" $ \(e :: Int8) ->@@ -183,7 +190,7 @@ eprop "read . toShowS" $ \(e :: Int8) -> e === read (toShowS e "") describe "Int16" $ do specNegativeBecomesPositive (Proxy :: Proxy Int16)- eprop "toWord16" $ \(e :: Int16) -> pos e === toWord16 e+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Int16) eprop "fromRealFloat . toFloat :: Float" $ \(e :: Int16) -> (pos e :: Int16) === fromRealFloat (toFloat e :: Float) eprop "fromRealFloat . toRealFloat :: Float" $ \(e :: Int16) ->@@ -196,7 +203,7 @@ eprop "read . toShowS" $ \(e :: Int16) -> e === read (toShowS e "") describe "Int32" $ do specNegativeBecomesPositive (Proxy :: Proxy Int32)- eprop "toWord32" $ \(e :: Int32) -> pos e === toWord32 e+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Int32) prop "fromRealFloat . toFloat :: Float" $ forAll (choose (0, maxFloatI)) $ \(e :: Int32) -> (pos e :: Int32) === fromRealFloat (toFloat e)@@ -209,7 +216,7 @@ eprop "read . toShowS" $ \(e :: Int32) -> e === read (toShowS e "") describe "Int64" $ do specNegativeBecomesPositive (Proxy :: Proxy Int64)- eprop "toWord64" $ \(e :: Int64) -> pos e === toWord64 e+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Int64) prop "fromRealFloat . toRealFloat :: Float" $ forAll (choose (0, maxFloatI)) $ \(e :: Int64) -> (pos e :: Int64) === fromRealFloat (toRealFloat e :: Float)@@ -222,6 +229,7 @@ eprop "read . toShowS" $ \(e :: Int64) -> e === read (toShowS e "") describe "Int" $ do specNegativeBecomesPositive (Proxy :: Proxy Int)+ eprop "toWord8 . fromWord8" $ \(e :: Word8) -> e === toWord8 (fromWord8 e :: Int) prop "fromRealFloat . toRealFloat :: Float" $ forAll (choose (0, maxFloatI)) $ \(e :: Int) -> (pos e :: Int) === fromRealFloat (toRealFloat e :: Float)
tests/Graphics/Color/Model/Common.hs view
@@ -205,7 +205,7 @@ -- | Same as `epsilonEqColorTol` but with indexed counterexample. epsilonEqColorTolIx ::- (ColorModel cs e, RealFloat e) => e -> Int -> Color cs e -> Color cs e -> Property+ (ColorModel cs e, RealFloat e, HasCallStack) => e -> Int -> Color cs e -> Color cs e -> Property epsilonEqColorTolIx tol ix expected actual = counterexample ("Index: " ++ show ix) $ epsilonEqColorTol tol expected actual
tests/Graphics/Color/Space/Common.hs view
@@ -31,7 +31,7 @@ prop_toFromColorXYZ ::- forall cs e i. (ColorSpace cs i e, RealFloat e)+ forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack) => Color cs e -> Property prop_toFromColorXYZ c = c `epsilonEqColor` fromColorXYZ (toColorXYZ c :: Color (XYZ i) Double)@@ -39,26 +39,26 @@ -- For RGB standards, that have matrices rounded to 4 digits after the decimal point prop_toFromLenientColorXYZ ::- forall cs e i. (ColorSpace cs i e, RealFloat e)+ forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack) => e -> Color cs e -> Property prop_toFromLenientColorXYZ epsilon c = epsilonEqColorTol epsilon c (fromColorXYZ (toColorXYZ c :: Color (XYZ i) Double)) -prop_LuminanceColorXYZ :: forall cs e i . ColorSpace cs i e => Color cs e -> Property+prop_LuminanceColorXYZ :: forall cs e i . (ColorSpace cs i e, HasCallStack) => Color cs e -> Property prop_LuminanceColorXYZ c = (luminance c :: Color (Y i) Float) `epsilonEqColor` luminance (toColorXYZ c :: Color (XYZ i) Float) prop_toFromBaseSpace ::- forall cs e i. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, RealFloat e)+ forall cs e i. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, RealFloat e, HasCallStack) => Color cs e -> Property prop_toFromBaseSpace c = c `epsilonEqColor` fromBaseSpace (toBaseSpace c) prop_toFromBaseSpaceLenient ::- forall cs e i. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, RealFloat e)+ forall cs e i. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, RealFloat e, HasCallStack) => e -> Color cs e -> Property@@ -72,14 +72,14 @@ prop_toFromBaseModel c = c === fromBaseModel (toBaseModel c) prop_toApplyGrayscale ::- forall cs e i. (ColorSpace cs i e, RealFloat e)+ forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack) => e -> Color cs e -> Property prop_toApplyGrayscale epsilon c = epsilonEqColorTol epsilon c $ applyGrayscale c id prop_toReplaceGrayscale ::- forall cs e i. (ColorSpace cs i e, RealFloat e)+ forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack) => e -> Color cs e -> Property@@ -87,7 +87,7 @@ epsilonEqColorTol epsilon c (replaceGrayscale c (grayscale c)) prop_toApplyGrayscaleAsReplace ::- forall cs e i. (ColorSpace cs i e, RealFloat e)+ forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack) => e -> Color cs e -> Fun (Color X e) (Color X e)@@ -100,7 +100,7 @@ prop_toReplaceGrayscaleAsApply ::- forall cs e i. (ColorSpace cs i e, RealFloat e)+ forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack) => e -> Color cs e -> Color X e
+ tests/Graphics/Color/Space/OKLAB/LAB/LCHSpec.hs view
@@ -0,0 +1,30 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeApplications #-}+module Graphics.Color.Space.OKLAB.LAB.LCHSpec (spec) where++import Data.Coerce ( coerce )+import Graphics.Color.Model ( lxy2lch, lch2lxy )+import Graphics.Color.Space.Common+import Graphics.Color.Space.OKLAB.LABSpec ()+import Graphics.Color.Space.OKLAB.LCH+import Graphics.Color.Space.OKLAB++instance (Elevator e, Random e) => Arbitrary (Color OKLCH e) where+ arbitrary = ColorOKLCH <$> arbitraryElevator <*> arbitraryElevator <*> arbitraryElevator++spec :: Spec+spec =+ describe "OKLCH" $ do+ colorModelSpec @OKLCH @Word "LCH-OKLAB"+ colorSpaceLenientSpec @OKLCH @Double 1e-9+ prop "lab2lch . lch2lab" $ \(lab :: Color OKLAB Double) ->+ lab `epsilonEqColor` lch2lab (lab2lch lab)+ prop "lch2lab . lab2lch" $ \(lch :: Color OKLCH Double) ->+ lch `epsilonEqColor` lab2lch (lch2lab lch)++lab2lch :: Color OKLAB Double -> Color OKLCH Double+lab2lch = coerce . lxy2lch . toComponents++lch2lab :: Color OKLCH Double -> Color OKLAB Double+lch2lab = fromComponents . lch2lxy . coerce
+ tests/Graphics/Color/Space/OKLAB/LABSpec.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeApplications #-}+module Graphics.Color.Space.OKLAB.LABSpec (spec) where++import Graphics.Color.Space.Common+import Graphics.Color.Space.RGB.Derived.SRGBSpec ()+import Graphics.Color.Space.OKLAB++instance (Elevator e, Random e) => Arbitrary (Color OKLAB e) where+ arbitrary = ColorOKLAB <$> arbitraryElevator <*> arbitraryElevator <*> arbitraryElevator++spec :: Spec+spec = describe "OKLAB" $ do+ colorModelSpec @OKLAB @Word "OKLAB"+ colorSpaceLenientSpec @OKLAB @Double 1e-9