module Graphics.UI.FLTK.LowLevel.Roller
(
rollerNew
)
where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp
import C2HS hiding (cFromEnum, cFromBool, cToBool,cToEnum)
import Foreign.C.Types
import Graphics.UI.FLTK.LowLevel.Fl_Enumerations
import Graphics.UI.FLTK.LowLevel.Fl_Types
import Graphics.UI.FLTK.LowLevel.Utils
import Graphics.UI.FLTK.LowLevel.Hierarchy
import Graphics.UI.FLTK.LowLevel.Dispatch
rollerNew' :: (Int) -> (Int) -> (Int) -> (Int) -> IO ((Ptr ()))
rollerNew' a1 a2 a3 a4 =
let {a1' = fromIntegral a1} in
let {a2' = fromIntegral a2} in
let {a3' = fromIntegral a3} in
let {a4' = fromIntegral a4} in
rollerNew''_ a1' a2' a3' a4' >>= \res ->
let {res' = id res} in
return (res')
rollerNewWithLabel' :: (Int) -> (Int) -> (Int) -> (Int) -> (String) -> IO ((Ptr ()))
rollerNewWithLabel' a1 a2 a3 a4 a5 =
let {a1' = fromIntegral a1} in
let {a2' = fromIntegral a2} in
let {a3' = fromIntegral a3} in
let {a4' = fromIntegral a4} in
let {a5' = unsafeToCString a5} in
rollerNewWithLabel''_ a1' a2' a3' a4' a5' >>= \res ->
let {res' = id res} in
return (res')
rollerNew :: Rectangle -> Maybe String -> IO (Ref Roller)
rollerNew rectangle l'=
let (x_pos, y_pos, width, height) = fromRectangle rectangle
in case l' of
Nothing -> rollerNew' x_pos y_pos width height >>=
toRef
Just l -> rollerNewWithLabel' x_pos y_pos width height l >>=
toRef
rollerDestroy' :: (Ptr ()) -> IO ((()))
rollerDestroy' a1 =
let {a1' = id a1} in
rollerDestroy''_ a1' >>= \res ->
let {res' = supressWarningAboutRes res} in
return (res')
instance (impl ~ (IO ())) => Op (Destroy ()) Roller orig impl where
runOp _ _ roller = swapRef roller $ \rollerPtr -> do
rollerDestroy' rollerPtr
return nullPtr
rollerHandle' :: (Ptr ()) -> (CInt) -> IO ((Int))
rollerHandle' a1 a2 =
let {a1' = id a1} in
let {a2' = id a2} in
rollerHandle''_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
return (res')
instance (impl ~ (Event -> IO Int)) => Op (Handle ()) Roller orig impl where
runOp _ _ roller event = withRef roller (\p -> rollerHandle' p (fromIntegral . fromEnum $ event))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Roller.chs.h Fl_Roller_New"
rollerNew''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO (C2HSImp.Ptr ()))))))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Roller.chs.h Fl_Roller_New_WithLabel"
rollerNewWithLabel''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO (C2HSImp.Ptr ())))))))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Roller.chs.h Fl_Roller_Destroy"
rollerDestroy''_ :: ((C2HSImp.Ptr ()) -> (IO ()))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Roller.chs.h Fl_Roller_handle"
rollerHandle''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))