hois-0.1.0.0: OIS/OISPrereqs.hs
{-# LANGUAGE ForeignFunctionInterface #-}
module OIS.OISPrereqs(
component_with_void,
component_with,
button_with_void,
button_with,
axis_with,
vector3_with_void,
vector3_with,
component_delete,
button_delete,
axis_delete,
vector3_delete,
component_new_void,
component_new,
button_new_void,
button_new,
axis_new,
axis_clear,
vector3_new_void,
vector3_new,
vector3_clear
)
where
import OIS.Types
import Control.Monad
import Foreign
import Foreign.C.String
import Foreign.C.Types
component_with_void :: (Component -> IO a) -> IO a
component_with_void f = do
obj <- component_new_void
res <- f obj
component_delete obj
return res
component_with :: ComponentType -> (Component -> IO a) -> IO a
component_with p1 f = do
obj <- component_new p1
res <- f obj
component_delete obj
return res
button_with_void :: (Button -> IO a) -> IO a
button_with_void f = do
obj <- button_new_void
res <- f obj
button_delete obj
return res
button_with :: Bool -> (Button -> IO a) -> IO a
button_with p1 f = do
obj <- button_new p1
res <- f obj
button_delete obj
return res
axis_with :: (Axis -> IO a) -> IO a
axis_with f = do
obj <- axis_new
res <- f obj
axis_delete obj
return res
vector3_with_void :: (Vector3 -> IO a) -> IO a
vector3_with_void f = do
obj <- vector3_new_void
res <- f obj
vector3_delete obj
return res
vector3_with :: Float -> Float -> Float -> (Vector3 -> IO a) -> IO a
vector3_with p1 p2 p3 f = do
obj <- vector3_new p1 p2 p3
res <- f obj
vector3_delete obj
return res
foreign import ccall "OISPrereqs.h OIS_Component_delete" c_component_delete :: Component -> IO ()
component_delete :: Component -> IO ()
component_delete p1 = c_component_delete p1
foreign import ccall "OISPrereqs.h OIS_Button_delete" c_button_delete :: Button -> IO ()
button_delete :: Button -> IO ()
button_delete p1 = c_button_delete p1
foreign import ccall "OISPrereqs.h OIS_Axis_delete" c_axis_delete :: Axis -> IO ()
axis_delete :: Axis -> IO ()
axis_delete p1 = c_axis_delete p1
foreign import ccall "OISPrereqs.h OIS_Vector3_delete" c_vector3_delete :: Vector3 -> IO ()
vector3_delete :: Vector3 -> IO ()
vector3_delete p1 = c_vector3_delete p1
foreign import ccall "OISPrereqs.h OIS_Component_new_void" c_component_new_void :: IO Component
component_new_void :: IO Component
component_new_void = c_component_new_void
foreign import ccall "OISPrereqs.h OIS_Component_new" c_component_new :: CInt -> IO Component
component_new :: ComponentType -> IO Component
component_new p1 = c_component_new (componentTypeToCInt p1)
foreign import ccall "OISPrereqs.h OIS_Button_new_void" c_button_new_void :: IO Button
button_new_void :: IO Button
button_new_void = c_button_new_void
foreign import ccall "OISPrereqs.h OIS_Button_new" c_button_new :: CBool -> IO Button
button_new :: Bool -> IO Button
button_new p1 = c_button_new (fromBool p1)
foreign import ccall "OISPrereqs.h OIS_Axis_new" c_axis_new :: IO Axis
axis_new :: IO Axis
axis_new = c_axis_new
foreign import ccall "OISPrereqs.h OIS_Axis_clear" c_axis_clear :: Axis -> IO ()
axis_clear :: Axis -> IO ()
axis_clear p1 = c_axis_clear p1
foreign import ccall "OISPrereqs.h OIS_Vector3_new_void" c_vector3_new_void :: IO Vector3
vector3_new_void :: IO Vector3
vector3_new_void = c_vector3_new_void
foreign import ccall "OISPrereqs.h OIS_Vector3_new" c_vector3_new :: CFloat -> CFloat -> CFloat -> IO Vector3
vector3_new :: Float -> Float -> Float -> IO Vector3
vector3_new p1 p2 p3 = c_vector3_new (realToFrac p1) (realToFrac p2) (realToFrac p3)
foreign import ccall "OISPrereqs.h OIS_Vector3_clear" c_vector3_clear :: Vector3 -> IO ()
vector3_clear :: Vector3 -> IO ()
vector3_clear p1 = c_vector3_clear p1