Color 0.1.3 → 0.1.3.1
raw patch · 4 files changed
+11/−12 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- 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, Typeable (Opaque cs)) => ColorSpace cs (i :: k) e | cs -> i where {
Files
- CHANGELOG.md +6/−1
- Color.cabal +1/−1
- src/Graphics/Color/Model/Alpha.hs +3/−7
- src/Graphics/Color/Space/Internal.hs +1/−3
CHANGELOG.md view
@@ -1,6 +1,11 @@ # Changelog for color -## 0.1.3+## 0.1.3.1++* Fix introduced in `0.1.2` for `Alpha cs` was incomplete and is fixed in this version+ without breakage.++## 0.1.3 (deprecated) * Addition of `CMCCAT2000`. * Rename `CIECAM02` to `CIECAT02` with a fallback synonym for backwards compatibility
Color.cabal view
@@ -1,5 +1,5 @@ name: Color-version: 0.1.3+version: 0.1.3.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
src/Graphics/Color/Model/Alpha.hs view
@@ -16,7 +16,6 @@ module Graphics.Color.Model.Alpha ( Alpha , Opaque- , Transparent , addAlpha , getAlpha , setAlpha@@ -86,19 +85,16 @@ (==) (Alpha px1 a1) (Alpha px2 a2) = px1 == px2 && a1 == a2 {-# INLINE (==) #-} -instance (ColorModel cs e, cs ~ Opaque (Alpha cs), Alpha cs ~ Transparent cs) =>+instance (ColorModel cs e, cs ~ Opaque (Alpha cs)) => Show (Color (Alpha cs) e) where showsPrec _ = showsColorModel type family Opaque cs where Opaque (Alpha (Alpha cs)) = TypeError ('Text "Nested alpha channels are not allowed") Opaque (Alpha cs) = cs--type family Transparent cs where- Transparent (Alpha cs) = TypeError ('Text "Nested alpha channels are not allowed")- Transparent cs = Alpha cs+ Opaque cs = cs -instance (ColorModel cs e, cs ~ Opaque (Alpha cs), Alpha cs ~ Transparent cs) =>+instance (ColorModel cs e, cs ~ Opaque (Alpha cs)) => ColorModel (Alpha cs) e where type Components (Alpha cs) e = (Components cs e, e) toComponents (Alpha px a) = (toComponents px, a)
src/Graphics/Color/Space/Internal.hs view
@@ -64,7 +64,7 @@ import GHC.TypeNats import Data.Kind -class (Illuminant i, ColorModel (BaseModel cs) e, ColorModel cs e) =>+class (Illuminant i, ColorModel (BaseModel cs) e, ColorModel cs e, Typeable (Opaque cs)) => ColorSpace cs (i :: k) e | cs -> i where type BaseModel cs :: Type@@ -109,9 +109,7 @@ , ColorSpace (BaseSpace cs) i e , ColorSpace (Alpha (BaseSpace cs)) i e , cs ~ Opaque (Alpha cs)- , Alpha cs ~ Transparent cs , BaseModel cs ~ Opaque (Alpha (BaseModel cs))- , Alpha (BaseModel cs) ~ Transparent (BaseModel cs) ) => ColorSpace (Alpha cs) i e where type BaseModel (Alpha cs) = Alpha (BaseModel cs)