-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Haskell bindings to BABL library. -- -- This package contains the Haskell bindings to the BABL library. This -- package is still unstable und evenminor version bumps may contain -- breaking API changes. @package babl @version 0.0.0.2 module BABL.FFI.Format data BablFormatPtr BablFormatPtr :: BablFormatDummy -> BablFormatPtr [unwrap] :: BablFormatPtr -> BablFormatDummy -- | The dummy Pointer behind BablFormatPtr. Do not peek or -- poke type BablFormatDummy = Ptr () -- | List of component models af babl formats. data ComponentModel RGB :: ComponentModel RGBA :: ComponentModel RaGaBaA :: ComponentModel R'G'B' :: ComponentModel R'G'B'A :: ComponentModel R'aG'aB'aA :: ComponentModel Y :: ComponentModel YA :: ComponentModel YaA :: ComponentModel Y' :: ComponentModel Y'A :: ComponentModel Y'aA :: ComponentModel Y'CbCr :: ComponentModel Y'CbCrA :: ComponentModel HSVA :: ComponentModel HSV :: ComponentModel CMYK :: ComponentModel CMY :: ComponentModel CIELab :: ComponentModel CIELabAlpha :: ComponentModel CIELCHab :: ComponentModel CIELCHabAlpha :: ComponentModel HSLA :: ComponentModel HSL :: ComponentModel Y'CbCr709 :: ComponentModel Y'CbCrA709 :: ComponentModel Cairo :: ComponentModel -- | Byte format of a colour component. data ComponentFormat CFhalf :: ComponentFormat CFfloat :: ComponentFormat CFdouble :: ComponentFormat CFu8 :: ComponentFormat CFu15 :: ComponentFormat CFu16 :: ComponentFormat CFu32 :: ComponentFormat A8 :: ComponentFormat RGB24 :: ComponentFormat ARGB32 :: ComponentFormat data PixelFormat PixelFormat :: ComponentModel -> ComponentFormat -> PixelFormat [pfComponents] :: PixelFormat -> ComponentModel [pfType] :: PixelFormat -> ComponentFormat -- | create a new predefined BABL format c_babl_format :: CString -> IO BablFormatDummy -- | create and define your own BABL format foreign import ccall unsafe -- "babl.h babl_format_new" -- -- Get the number of bytes per pixel from a format. c_babl_get_bpp :: BablFormatDummy -> IO CInt c_babl_format_get_n_components :: BablFormatDummy -> IO CInt instance GHC.Show.Show BABL.FFI.Format.ComponentModel instance GHC.Show.Show BABL.FFI.Format.ComponentFormat -- | FFI module for basic functions module BABL.FFI -- | Interface to the babl_init function in C c_babl_init :: IO () -- | Interface to the babl_exit function in C c_babl_exit :: IO () -- | This module contains the pixel formats supprted my babl module BABL.Format data PixelFormat PixelFormat :: ComponentModel -> ComponentFormat -> PixelFormat [pfComponents] :: PixelFormat -> ComponentModel [pfType] :: PixelFormat -> ComponentFormat -- | List of component models af babl formats. data ComponentModel RGB :: ComponentModel RGBA :: ComponentModel RaGaBaA :: ComponentModel R'G'B' :: ComponentModel R'G'B'A :: ComponentModel R'aG'aB'aA :: ComponentModel Y :: ComponentModel YA :: ComponentModel YaA :: ComponentModel Y' :: ComponentModel Y'A :: ComponentModel Y'aA :: ComponentModel Y'CbCr :: ComponentModel Y'CbCrA :: ComponentModel HSVA :: ComponentModel HSV :: ComponentModel CMYK :: ComponentModel CMY :: ComponentModel CIELab :: ComponentModel CIELabAlpha :: ComponentModel CIELCHab :: ComponentModel CIELCHabAlpha :: ComponentModel HSLA :: ComponentModel HSL :: ComponentModel Y'CbCr709 :: ComponentModel Y'CbCrA709 :: ComponentModel Cairo :: ComponentModel -- | Byte format of a colour component. data ComponentFormat CFhalf :: ComponentFormat CFfloat :: ComponentFormat CFdouble :: ComponentFormat CFu8 :: ComponentFormat CFu15 :: ComponentFormat CFu16 :: ComponentFormat CFu32 :: ComponentFormat A8 :: ComponentFormat RGB24 :: ComponentFormat ARGB32 :: ComponentFormat data BablFormatPtr -- | Create a BablFormatPtr to pass around to other functions. babl_format :: PixelFormat -> IO BablFormatPtr -- | Peek the number of bytes per pixel from a format. babl_get_bpp :: PixelFormat -> IO Int -- | Build BablFormatPtr by input String babl_format_by_str :: String -> IO BablFormatPtr babl_components_per_pixel :: PixelFormat -> Int module BABL -- | Initialize the BABL environment. This function must be called before -- performing any conversions babl_init :: IO () -- | Exit and clean up after BABL has been used babl_exit :: IO ()