hois-0.1.0.0: OIS/OISMultiTouch.hs
{-# LANGUAGE ForeignFunctionInterface #-}
module OIS.OISMultiTouch(
multiTouchState_with,
multiTouchEvent_with,
multiTouchState_delete,
multiTouchState_new,
multiTouchState_touchIsType,
multiTouchState_clear,
multiTouchEvent_new,
multiTouchEvent_delete,
multiTouchListener_delete,
multiTouchListener_touchMoved,
multiTouchListener_touchPressed,
multiTouchListener_touchReleased,
multiTouchListener_touchCancelled,
multiTouch_delete,
multiTouch_setEventCallback,
multiTouch_getEventCallback,
multiTouch_clearStates
)
where
import OIS.Types
import Control.Monad
import Foreign
import Foreign.C.String
import Foreign.C.Types
multiTouchState_with :: (MultiTouchState -> IO a) -> IO a
multiTouchState_with f = do
obj <- multiTouchState_new
res <- f obj
multiTouchState_delete obj
return res
multiTouchEvent_with :: Object -> MultiTouchState -> (MultiTouchEvent -> IO a) -> IO a
multiTouchEvent_with p1 p2 f = do
obj <- multiTouchEvent_new p1 p2
res <- f obj
multiTouchEvent_delete obj
return res
foreign import ccall "OISMultiTouch.h OIS_MultiTouchState_delete" c_multiTouchState_delete :: MultiTouchState -> IO ()
multiTouchState_delete :: MultiTouchState -> IO ()
multiTouchState_delete p1 = c_multiTouchState_delete p1
foreign import ccall "OISMultiTouch.h OIS_MultiTouchState_new" c_multiTouchState_new :: IO MultiTouchState
multiTouchState_new :: IO MultiTouchState
multiTouchState_new = c_multiTouchState_new
foreign import ccall "OISMultiTouch.h OIS_MultiTouchState_touchIsType" c_multiTouchState_touchIsType :: MultiTouchState -> CInt -> IO CBool
multiTouchState_touchIsType :: MultiTouchState -> MultiTypeEventTypeID -> IO Bool
multiTouchState_touchIsType p1 p2 = liftM toBool $ c_multiTouchState_touchIsType p1 (multiTypeEventTypeIDToCInt p2)
foreign import ccall "OISMultiTouch.h OIS_MultiTouchState_clear" c_multiTouchState_clear :: MultiTouchState -> IO ()
multiTouchState_clear :: MultiTouchState -> IO ()
multiTouchState_clear p1 = c_multiTouchState_clear p1
foreign import ccall "OISMultiTouch.h OIS_MultiTouchEvent_new" c_multiTouchEvent_new :: Object -> MultiTouchState -> IO MultiTouchEvent
multiTouchEvent_new :: Object -> MultiTouchState -> IO MultiTouchEvent
multiTouchEvent_new p1 p2 = c_multiTouchEvent_new p1 p2
foreign import ccall "OISMultiTouch.h OIS_MultiTouchEvent_delete" c_multiTouchEvent_delete :: MultiTouchEvent -> IO ()
multiTouchEvent_delete :: MultiTouchEvent -> IO ()
multiTouchEvent_delete p1 = c_multiTouchEvent_delete p1
foreign import ccall "OISMultiTouch.h OIS_MultiTouchListener_delete" c_multiTouchListener_delete :: MultiTouchListener -> IO ()
multiTouchListener_delete :: MultiTouchListener -> IO ()
multiTouchListener_delete p1 = c_multiTouchListener_delete p1
foreign import ccall "OISMultiTouch.h OIS_MultiTouchListener_touchMoved" c_multiTouchListener_touchMoved :: MultiTouchListener -> MultiTouchEvent -> IO CBool
multiTouchListener_touchMoved :: MultiTouchListener -> MultiTouchEvent -> IO Bool
multiTouchListener_touchMoved p1 p2 = liftM toBool $ c_multiTouchListener_touchMoved p1 p2
foreign import ccall "OISMultiTouch.h OIS_MultiTouchListener_touchPressed" c_multiTouchListener_touchPressed :: MultiTouchListener -> MultiTouchEvent -> IO CBool
multiTouchListener_touchPressed :: MultiTouchListener -> MultiTouchEvent -> IO Bool
multiTouchListener_touchPressed p1 p2 = liftM toBool $ c_multiTouchListener_touchPressed p1 p2
foreign import ccall "OISMultiTouch.h OIS_MultiTouchListener_touchReleased" c_multiTouchListener_touchReleased :: MultiTouchListener -> MultiTouchEvent -> IO CBool
multiTouchListener_touchReleased :: MultiTouchListener -> MultiTouchEvent -> IO Bool
multiTouchListener_touchReleased p1 p2 = liftM toBool $ c_multiTouchListener_touchReleased p1 p2
foreign import ccall "OISMultiTouch.h OIS_MultiTouchListener_touchCancelled" c_multiTouchListener_touchCancelled :: MultiTouchListener -> MultiTouchEvent -> IO CBool
multiTouchListener_touchCancelled :: MultiTouchListener -> MultiTouchEvent -> IO Bool
multiTouchListener_touchCancelled p1 p2 = liftM toBool $ c_multiTouchListener_touchCancelled p1 p2
foreign import ccall "OISMultiTouch.h OIS_MultiTouch_delete" c_multiTouch_delete :: MultiTouch -> IO ()
multiTouch_delete :: MultiTouch -> IO ()
multiTouch_delete p1 = c_multiTouch_delete p1
foreign import ccall "OISMultiTouch.h OIS_MultiTouch_setEventCallback" c_multiTouch_setEventCallback :: MultiTouch -> MultiTouchListener -> IO ()
multiTouch_setEventCallback :: MultiTouch -> MultiTouchListener -> IO ()
multiTouch_setEventCallback p1 p2 = c_multiTouch_setEventCallback p1 p2
foreign import ccall "OISMultiTouch.h OIS_MultiTouch_getEventCallback" c_multiTouch_getEventCallback :: MultiTouch -> IO MultiTouchListener
multiTouch_getEventCallback :: MultiTouch -> IO MultiTouchListener
multiTouch_getEventCallback p1 = c_multiTouch_getEventCallback p1
foreign import ccall "OISMultiTouch.h OIS_MultiTouch_clearStates" c_multiTouch_clearStates :: MultiTouch -> IO ()
multiTouch_clearStates :: MultiTouch -> IO ()
multiTouch_clearStates p1 = c_multiTouch_clearStates p1