packages feed

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