module Graphics.UI.FLTK.LowLevel.PNGImage
(
pngImageNew,
pngImageNewWithData
)
where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp
import C2HS hiding (cFromEnum, cFromBool, cToBool,cToEnum)
import Graphics.UI.FLTK.LowLevel.Fl_Types
import Graphics.UI.FLTK.LowLevel.Utils
import Graphics.UI.FLTK.LowLevel.Hierarchy
import Graphics.UI.FLTK.LowLevel.RGBImage
import qualified Data.ByteString as B
pngImageNew' :: (String) -> IO ((Ptr ()))
pngImageNew' a1 =
let {a1' = unsafeToCString a1} in
pngImageNew''_ a1' >>= \res ->
let {res' = id res} in
return (res')
pngImageNewWithData' :: (String) -> (Ptr CUChar) -> (Int) -> IO ((Ptr ()))
pngImageNewWithData' a1 a2 a3 =
let {a1' = unsafeToCString a1} in
let {a2' = id a2} in
let {a3' = fromIntegral a3} in
pngImageNewWithData''_ a1' a2' a3' >>= \res ->
let {res' = id res} in
return (res')
pngImageNew :: String -> IO (Either UnknownError (Ref PNGImage))
pngImageNew filename' = pngImageNew' filename' >>= toRef >>= checkImage
pngImageNewWithData :: String -> B.ByteString -> IO (Either UnknownError (Ref PNGImage))
pngImageNewWithData l' data' = do
png' <- copyByteStringToCString data'
pngImageNewWithData' l' (castPtr png') (B.length data') >>= toRef >>= checkImage
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/PNGImage.chs.h Fl_PNG_Image_New"
pngImageNew''_ :: ((C2HSImp.Ptr C2HSImp.CChar) -> (IO (C2HSImp.Ptr ())))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/PNGImage.chs.h Fl_PNG_Image_New_WithData"
pngImageNewWithData''_ :: ((C2HSImp.Ptr C2HSImp.CChar) -> ((C2HSImp.Ptr C2HSImp.CUChar) -> (C2HSImp.CInt -> (IO (C2HSImp.Ptr ())))))