From 26afbac84973a15b7fb04fd8d62043105dc0d3ca Mon Sep 17 00:00:00 2001 From: Taru Karttunen Date: Fri, 20 Jun 2014 02:23:59 +0300 Subject: [PATCH 1/2] Add Native images to Diagrams.TwoD.Image --- src/Diagrams/TwoD.hs | 2 +- src/Diagrams/TwoD/Image.hs | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Diagrams/TwoD.hs b/src/Diagrams/TwoD.hs index ecc11a34..b35ff2fc 100644 --- a/src/Diagrams/TwoD.hs +++ b/src/Diagrams/TwoD.hs @@ -163,7 +163,7 @@ module Diagrams.TwoD -- * Images , DImage(..), ImageData(..) - , Embedded, External + , Embedded, External, Native , image , loadImageEmb , loadImageExt diff --git a/src/Diagrams/TwoD/Image.hs b/src/Diagrams/TwoD/Image.hs index 5c16d20b..402a6821 100644 --- a/src/Diagrams/TwoD/Image.hs +++ b/src/Diagrams/TwoD/Image.hs @@ -20,7 +20,7 @@ module Diagrams.TwoD.Image ( DImage(..), ImageData(..) - , Embedded, External + , Embedded, External, Native , image , loadImageEmb , loadImageExt @@ -49,12 +49,14 @@ import Data.Semigroup data Embedded deriving Typeable data External deriving Typeable +data Native (t :: *) deriving Typeable -- | 'ImageData' is either a JuicyPixels @DynamicImage@ tagged as 'Embedded' or -- a reference tagged as 'External'. data ImageData :: * -> * where ImageRaster :: DynamicImage -> ImageData Embedded ImageRef :: FilePath -> ImageData External + ImageNative :: t -> ImageData (Native t) ------------------------------------------------------------------------------- -- | An image primitive, the two ints are width followed by height. From f1e9edb438cda7dab3db4afd307f5fe3da521435 Mon Sep 17 00:00:00 2001 From: Taru Karttunen Date: Mon, 23 Jun 2014 12:17:37 +0300 Subject: [PATCH 2/2] Add Native images to Diagrams.TwoD.Image: wibble ImageData documentation --- src/Diagrams/TwoD/Image.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Diagrams/TwoD/Image.hs b/src/Diagrams/TwoD/Image.hs index 402a6821..53206e7c 100644 --- a/src/Diagrams/TwoD/Image.hs +++ b/src/Diagrams/TwoD/Image.hs @@ -52,7 +52,8 @@ data External deriving Typeable data Native (t :: *) deriving Typeable -- | 'ImageData' is either a JuicyPixels @DynamicImage@ tagged as 'Embedded' or --- a reference tagged as 'External'. +-- a reference tagged as 'External'. Additionally 'Native' is provided for +-- external libraries to hook into. data ImageData :: * -> * where ImageRaster :: DynamicImage -> ImageData Embedded ImageRef :: FilePath -> ImageData External