packages feed

ihaskell-juicypixels 0.2.0.0 → 0.2.2.0

raw patch · 2 files changed

+68/−43 lines, 2 filesdep ~basedep ~classy-preludedep ~ihaskell

Dependency ranges changed: base, classy-prelude, ihaskell

Files

IHaskell/Display/Juicypixels.hs view
@@ -1,33 +1,58 @@-{-# LANGUAGE NoImplicitPrelude, TypeSynonymInstances, FlexibleInstances  #-}-module IHaskell.Display.Juicypixels -     ( module IHaskell.Display-     , module Codec.Picture-     ) where+{-# LANGUAGE NoImplicitPrelude, TypeSynonymInstances, FlexibleInstances #-} -import Codec.Picture-import ClassyPrelude-import IHaskell.Display-import System.Directory-import System.IO.Unsafe+module IHaskell.Display.Juicypixels (module IHaskell.Display, module Codec.Picture) where +import           Codec.Picture+import           ClassyPrelude+import           IHaskell.Display+import           System.Directory+import           System.IO.Unsafe+ -- instances-instance IHaskellDisplay DynamicImage where display = displayImageAsJpg -instance IHaskellDisplay (Image Pixel8) where display = displayImageAsJpg . ImageY8-instance IHaskellDisplay (Image Pixel16) where display = displayImageAsJpg . ImageY16	-instance IHaskellDisplay (Image PixelF) where display =  displayImageAsJpg . ImageYF-instance IHaskellDisplay (Image PixelYA8) where display = displayImageAsJpg . ImageYA8-instance IHaskellDisplay (Image PixelYA16) where display = displayImageAsJpg . ImageYA16-instance IHaskellDisplay (Image PixelRGB8) where display = displayImageAsJpg . ImageRGB8-instance IHaskellDisplay (Image PixelRGB16) where display = displayImageAsJpg . ImageRGB16-instance IHaskellDisplay (Image PixelRGBF) where display =  displayImageAsJpg . ImageRGBF-instance IHaskellDisplay (Image PixelRGBA8) where display = displayImageAsJpg . ImageRGBA8-instance IHaskellDisplay (Image PixelRGBA16) where display = displayImageAsJpg . ImageRGBA16	-instance IHaskellDisplay (Image PixelYCbCr8) where display = displayImageAsJpg . ImageYCbCr8-instance IHaskellDisplay (Image PixelCMYK8) where display = displayImageAsJpg . ImageCMYK8 -instance IHaskellDisplay (Image PixelCMYK16) where display = displayImageAsJpg . ImageCMYK16	+instance IHaskellDisplay DynamicImage where+  display = displayImageAsJpg +instance IHaskellDisplay (Image Pixel8) where+  display = displayImageAsJpg . ImageY8++instance IHaskellDisplay (Image Pixel16) where+  display = displayImageAsJpg . ImageY16++instance IHaskellDisplay (Image PixelF) where+  display = displayImageAsJpg . ImageYF++instance IHaskellDisplay (Image PixelYA8) where+  display = displayImageAsJpg . ImageYA8++instance IHaskellDisplay (Image PixelYA16) where+  display = displayImageAsJpg . ImageYA16++instance IHaskellDisplay (Image PixelRGB8) where+  display = displayImageAsJpg . ImageRGB8++instance IHaskellDisplay (Image PixelRGB16) where+  display = displayImageAsJpg . ImageRGB16++instance IHaskellDisplay (Image PixelRGBF) where+  display = displayImageAsJpg . ImageRGBF++instance IHaskellDisplay (Image PixelRGBA8) where+  display = displayImageAsJpg . ImageRGBA8++instance IHaskellDisplay (Image PixelRGBA16) where+  display = displayImageAsJpg . ImageRGBA16++instance IHaskellDisplay (Image PixelYCbCr8) where+  display = displayImageAsJpg . ImageYCbCr8++instance IHaskellDisplay (Image PixelCMYK8) where+  display = displayImageAsJpg . ImageCMYK8++instance IHaskellDisplay (Image PixelCMYK16) where+  display = displayImageAsJpg . ImageCMYK16+ -- main rendering function-displayImageAsJpg ::  DynamicImage -> IO Display+displayImageAsJpg :: DynamicImage -> IO Display displayImageAsJpg renderable = do   switchToTmpDir @@ -35,35 +60,35 @@   -- Write the image   saveJpgImage 95 filename renderable   -- Convert to base64.-  imgData <- readFile $ fpFromString filename+  imgData <- readFile filename   return $ Display [jpg (imWidth renderable) (imHeight renderable) $ base64 imgData]  -- The type DynamicImage does not have a function to extract width and height imWidth :: DynamicImage -> Int-imWidth img  = w-   where (w, h) = imWidthHeight img+imWidth img = w+  where+    (w, h) = imWidthHeight img  imHeight :: DynamicImage -> Int imHeight img = h-   where (w, h) = imWidthHeight img+  where+    (w, h) = imWidthHeight img  -- Helper functions to pattern match on the DynamicImage Constructors imWidthHeight :: DynamicImage -> (Int, Int)-imWidthHeight (ImageY8 im)	= imWH im-imWidthHeight (ImageY16 im)	= imWH im-imWidthHeight (ImageYF im)	= imWH im-imWidthHeight (ImageYA8 im)	= imWH im+imWidthHeight (ImageY8 im) = imWH im+imWidthHeight (ImageY16 im) = imWH im+imWidthHeight (ImageYF im) = imWH im+imWidthHeight (ImageYA8 im) = imWH im imWidthHeight (ImageYA16 im) = imWH im-imWidthHeight (ImageRGB8 im) = imWH im	-imWidthHeight (ImageRGB16 im) = imWH im	-imWidthHeight (ImageRGBF im) = imWH im	+imWidthHeight (ImageRGB8 im) = imWH im+imWidthHeight (ImageRGB16 im) = imWH im+imWidthHeight (ImageRGBF im) = imWH im imWidthHeight (ImageRGBA8 im) = imWH im imWidthHeight (ImageRGBA16 im) = imWH im-imWidthHeight (ImageYCbCr8 im) = imWH im	+imWidthHeight (ImageYCbCr8 im) = imWH im imWidthHeight (ImageCMYK8 im) = imWH im imWidthHeight (ImageCMYK16 im) = imWH im  imWH :: (Image a) -> (Int, Int) imWH im = (imageWidth im, imageHeight im)--
ihaskell-juicypixels.cabal view
@@ -7,7 +7,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.2.0.0+version:             0.2.2.0  -- A short (one-line) description of the package. synopsis:            IHaskell - IHaskellDisplay instances of the image types of the JuicyPixels package.@@ -62,12 +62,12 @@               OverloadedStrings                 -- Other library packages from which modules are imported.-  build-depends:       base ==4.6.* || ==4.7.*,-                       classy-prelude >=0.6,+  build-depends:       base >=4.6 && <4.9,+                       classy-prelude >=0.10.5,                        bytestring,                        directory,                        JuicyPixels >= 3.1.3,-                       ihaskell >= 0.5+                       ihaskell >= 0.6.2      -- Directories containing source files.   -- hs-source-dirs: