packages feed

servant-JuicyPixels 0.3.0.6 → 0.3.1.0

raw patch · 2 files changed

+50/−17 lines, 2 filesdep ~JuicyPixelsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: JuicyPixels

API changes (from Hackage documentation)

+ Servant.JuicyPixels: instance (GHC.TypeNats.KnownNat quality, quality GHC.TypeNats.<= 100) => Servant.API.ContentTypes.MimeUnrender (Servant.JuicyPixels.JPEG quality) (Codec.Picture.Types.DynamicImage, Codec.Picture.Metadata.Metadatas)
+ Servant.JuicyPixels: instance (GHC.TypeNats.KnownNat quality, quality GHC.TypeNats.<= 100, Codec.Picture.Types.ColorSpaceConvertible a Codec.Picture.Types.PixelYCbCr8) => Servant.API.ContentTypes.MimeRender (Servant.JuicyPixels.JPEG quality) (Codec.Picture.Types.Image a, Codec.Picture.Metadata.Metadatas)
+ Servant.JuicyPixels: instance Codec.Picture.Bitmap.BmpEncodable pixel => Servant.API.ContentTypes.MimeRender Servant.JuicyPixels.BMP (Codec.Picture.Types.Image pixel, Codec.Picture.Metadata.Metadatas)
+ Servant.JuicyPixels: instance Codec.Picture.Png.Internal.Export.PngSavable a => Servant.API.ContentTypes.MimeRender Servant.JuicyPixels.PNG (Codec.Picture.Types.Image a, Codec.Picture.Metadata.Metadatas)
+ Servant.JuicyPixels: instance Servant.API.ContentTypes.MimeUnrender Servant.JuicyPixels.BMP (Codec.Picture.Types.DynamicImage, Codec.Picture.Metadata.Metadatas)
+ Servant.JuicyPixels: instance Servant.API.ContentTypes.MimeUnrender Servant.JuicyPixels.GIF (Codec.Picture.Types.DynamicImage, Codec.Picture.Metadata.Metadatas)
+ Servant.JuicyPixels: instance Servant.API.ContentTypes.MimeUnrender Servant.JuicyPixels.PNG (Codec.Picture.Types.DynamicImage, Codec.Picture.Metadata.Metadatas)
+ Servant.JuicyPixels: instance Servant.API.ContentTypes.MimeUnrender Servant.JuicyPixels.RADIANCE (Codec.Picture.Types.DynamicImage, Codec.Picture.Metadata.Metadatas)
+ Servant.JuicyPixels: instance Servant.API.ContentTypes.MimeUnrender Servant.JuicyPixels.TGA (Codec.Picture.Types.DynamicImage, Codec.Picture.Metadata.Metadatas)
+ Servant.JuicyPixels: instance Servant.API.ContentTypes.MimeUnrender Servant.JuicyPixels.TIFF (Codec.Picture.Types.DynamicImage, Codec.Picture.Metadata.Metadatas)

Files

lib/Servant/JuicyPixels.hs view
@@ -1,24 +1,32 @@-{-# LANGUAGE CPP                   #-}-{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-}-{-# LANGUAGE KindSignatures        #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE KindSignatures #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE OverloadedStrings     #-}-{-# LANGUAGE ScopedTypeVariables   #-}-{-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE TypeOperators         #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}  module Servant.JuicyPixels where -import Servant.API-import GHC.TypeLits-import qualified Network.HTTP.Media as M import Codec.Picture+import Codec.Picture.Bitmap+import Codec.Picture.Gif+import Codec.Picture.HDR+import Codec.Picture.Jpg+import Codec.Picture.Metadata+import Codec.Picture.Png import Codec.Picture.Saving+import Codec.Picture.Tga+import Codec.Picture.Tiff import Codec.Picture.Types-import Data.Proxy import qualified Data.ByteString.Lazy as BL-+import Data.Proxy+import GHC.TypeLits+import qualified Network.HTTP.Media as M+import Servant.API  data BMP @@ -28,9 +36,14 @@ instance MimeRender BMP DynamicImage where     mimeRender _ = imageToBitmap +instance BmpEncodable pixel => MimeRender BMP (Image pixel, Metadatas) where+    mimeRender _ (img, metadata) = encodeBitmapWithMetadata metadata img+ instance MimeUnrender BMP DynamicImage where     mimeUnrender _ = decodeBitmap . BL.toStrict +instance MimeUnrender BMP (DynamicImage, Metadatas) where+    mimeUnrender _ = decodeBitmapWithMetadata . BL.toStrict  data GIF @@ -43,6 +56,8 @@ instance MimeUnrender GIF DynamicImage where     mimeUnrender _ = decodeGif . BL.toStrict +instance MimeUnrender GIF (DynamicImage, Metadatas) where+    mimeUnrender _ = decodeGifWithMetadata . BL.toStrict  data JPEG (quality :: Nat) @@ -58,9 +73,16 @@     mimeRender _ = encodeJpegAtQuality quality . convertImage       where quality = fromInteger $ natVal (Proxy :: Proxy quality) +instance (KnownNat quality, quality <= 100, ColorSpaceConvertible a PixelYCbCr8) => MimeRender (JPEG quality) (Image a, Metadatas) where+    mimeRender _ (img, metadata) = encodeJpegAtQualityWithMetadata quality metadata $ convertImage img+      where+        quality = fromInteger $ natVal (Proxy :: Proxy quality)+ instance (KnownNat quality, quality <= 100) => MimeUnrender (JPEG quality) DynamicImage where     mimeUnrender _ = decodeJpeg . BL.toStrict +instance (KnownNat quality, quality <= 100) => MimeUnrender (JPEG quality) (DynamicImage, Metadatas) where+    mimeUnrender _ = decodeJpegWithMetadata . BL.toStrict  data PNG @@ -73,9 +95,14 @@ instance PngSavable a => MimeRender PNG (Image a) where     mimeRender _ = encodePng +instance PngSavable a => MimeRender PNG (Image a, Metadatas) where+    mimeRender _ (img, metadata) = encodePngWithMetadata metadata img+ instance MimeUnrender PNG DynamicImage where     mimeUnrender _ = decodePng . BL.toStrict +instance MimeUnrender PNG (DynamicImage, Metadatas) where+    mimeUnrender _ = decodePngWithMetadata . BL.toStrict  data TIFF @@ -91,6 +118,8 @@ instance MimeUnrender TIFF DynamicImage where     mimeUnrender _ = decodeTiff . BL.toStrict +instance MimeUnrender TIFF (DynamicImage, Metadatas) where+    mimeUnrender _ = decodeTiffWithMetadata . BL.toStrict  data RADIANCE @@ -106,7 +135,9 @@ instance MimeUnrender RADIANCE DynamicImage where     mimeUnrender _ = decodeHDR . BL.toStrict -#if MIN_VERSION_JuicyPixels(3,2,6)+instance MimeUnrender RADIANCE (DynamicImage, Metadatas) where+    mimeUnrender _ = decodeHDRWithMetadata . BL.toStrict+ data TGA  instance Accept TGA where@@ -120,4 +151,6 @@  instance MimeUnrender TGA DynamicImage where     mimeUnrender _ = decodeTga . BL.toStrict-#endif++instance MimeUnrender TGA (DynamicImage, Metadatas) where+    mimeUnrender _ = decodeTgaWithMetadata . BL.toStrict
servant-JuicyPixels.cabal view
@@ -1,5 +1,5 @@ name:                servant-JuicyPixels-version:             0.3.0.6+version:             0.3.1.0 homepage:            https://github.com/tvh/servant-JuicyPixels license:             BSD3 license-file:        LICENSE@@ -21,7 +21,7 @@   build-depends:       base >=4.7 && <5                      , bytestring                      , http-media-                     , JuicyPixels >=3.2.5.3+                     , JuicyPixels >=3.2.6                      , servant >=0.4   hs-source-dirs:      lib   default-language:    Haskell2010