{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Graphics.Color.Space
( convertColor
, convertColorFloat
, module X
) where
import Graphics.Color.Model.Internal as X
import Graphics.Color.Space.Internal as X
import Graphics.Color.Space.RGB.Internal as X
convertColor ::
forall cs cs' i e. (ColorSpace cs' i e, ColorSpace cs i e)
=> Color cs' e
-> Color cs e
convertColor = fromColorXYZ . (toColorXYZ :: Color cs' e -> Color (XYZ i) Double)
{-# INLINE convertColor #-}
convertColorFloat ::
forall cs cs' i e. (ColorSpace cs' i e, ColorSpace cs i e)
=> Color cs' e
-> Color cs e
convertColorFloat = fromColorXYZ . (toColorXYZ :: Color cs' e -> Color (XYZ i) Float)
{-# INLINE convertColorFloat #-}