-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Library for writing images in OpenEXR HDR file format.
--   
--   OpenEXR allows to store pixels as floating point numbers and thus can
--   capture high dynamic range.
@package openexr-write
@version 0.1.0.1


-- | Library for writting OpenEXR images which support high dynamic range.
--   These images are common in computer graphics, especially ray tracing,
--   and can be used to delay quantization to the post-processing stage.
--   
--   An example of writting 1x1 ZIP compressed image consisting of a red
--   pixel.
--   
--   <pre>
--   module Main where
--   
--   import qualified Data.Vector      as V
--   import qualified Graphics.OpenEXR as EXR
--   
--   
--   main :: IO ()
--   main = do
--           let image = EXR.ImageRGBF 1 1 (V.fromList [EXR.PixelRGBF 1.0 0.0 0.0])
--           EXR.writeFile "image.exr" image EXR.ZipCompression
--   </pre>
module Graphics.OpenEXR
data Image
ImageRGBF :: !Int -> !Int -> Vector PixelRGBF -> Image
[imageWidth] :: Image -> !Int
[imageHeight] :: Image -> !Int

-- | Stored in row-major layout
[imageData] :: Image -> Vector PixelRGBF
data PixelRGBF
PixelRGBF :: !Float -> !Float -> !Float -> PixelRGBF
data CompressionType

-- | No compression applied
NoCompression :: CompressionType

-- | DEFLATE lossless compression applied per scanline
ZipsCompression :: CompressionType

-- | DEFLATE lossless compression applied per 16 scanlines
ZipCompression :: CompressionType

-- | Write an <a>Image</a> using a <a>CompressionType</a> to an OpenEXR
--   formatted file
writeFile :: FilePath -> Image -> CompressionType -> IO ()
instance GHC.Enum.Enum Graphics.OpenEXR.LineOrderType
instance GHC.Enum.Enum Graphics.OpenEXR.PixelType
instance GHC.Show.Show Graphics.OpenEXR.Image
instance Control.DeepSeq.NFData Graphics.OpenEXR.Image
instance GHC.Generics.Generic Graphics.OpenEXR.Image
instance GHC.Show.Show Graphics.OpenEXR.PixelRGBF
instance Control.DeepSeq.NFData Graphics.OpenEXR.PixelRGBF
instance GHC.Generics.Generic Graphics.OpenEXR.PixelRGBF
instance Data.Binary.Class.Binary Graphics.OpenEXR.Attribute
instance Data.Binary.Class.Binary Graphics.OpenEXR.AttributeType
instance Data.Binary.Class.Binary Graphics.OpenEXR.LineOrderType
instance Data.Binary.Class.Binary Graphics.OpenEXR.Channel
instance Data.Binary.Class.Binary Graphics.OpenEXR.PixelType
instance GHC.Enum.Enum Graphics.OpenEXR.CompressionType
instance Data.Binary.Class.Binary Graphics.OpenEXR.CompressionType
