module Graphics.UI.SDL.Haptic ( -- * Force Feedback Support hapticClose, hapticDestroyEffect, hapticEffectSupported, hapticGetEffectStatus, hapticIndex, hapticName, hapticNewEffect, hapticNumAxes, hapticNumEffects, hapticNumEffectsPlaying, hapticOpen, hapticOpenFromJoystick, hapticOpenFromMouse, hapticOpened, hapticPause, hapticQuery, hapticRumbleInit, hapticRumblePlay, hapticRumbleStop, hapticRumbleSupported, hapticRunEffect, hapticSetAutocenter, hapticSetGain, hapticStopAll, hapticStopEffect, hapticUnpause, hapticUpdateEffect, joystickIsHaptic, mouseIsHaptic, numHaptics ) where import Data.Word import Foreign.C.String import Foreign.C.Types import Foreign.Ptr import Graphics.UI.SDL.Types foreign import ccall "SDL.h SDL_HapticClose" hapticClose :: Haptic -> IO () foreign import ccall "SDL.h SDL_HapticDestroyEffect" hapticDestroyEffect :: Haptic -> CInt -> IO () foreign import ccall "SDL.h SDL_HapticEffectSupported" hapticEffectSupported :: Haptic -> Ptr HapticEffect -> IO CInt foreign import ccall "SDL.h SDL_HapticGetEffectStatus" hapticGetEffectStatus :: Haptic -> CInt -> IO CInt foreign import ccall "SDL.h SDL_HapticIndex" hapticIndex :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticName" hapticName :: CInt -> IO CString foreign import ccall "SDL.h SDL_HapticNewEffect" hapticNewEffect :: Haptic -> Ptr HapticEffect -> IO CInt foreign import ccall "SDL.h SDL_HapticNumAxes" hapticNumAxes :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticNumEffects" hapticNumEffects :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticNumEffectsPlaying" hapticNumEffectsPlaying :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticOpen" hapticOpen :: CInt -> IO Haptic foreign import ccall "SDL.h SDL_HapticOpenFromJoystick" hapticOpenFromJoystick :: Joystick -> IO Haptic foreign import ccall "SDL.h SDL_HapticOpenFromMouse" hapticOpenFromMouse :: IO Haptic foreign import ccall "SDL.h SDL_HapticOpened" hapticOpened :: CInt -> IO CInt foreign import ccall "SDL.h SDL_HapticPause" hapticPause :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticQuery" hapticQuery :: Haptic -> IO CUInt foreign import ccall "SDL.h SDL_HapticRumbleInit" hapticRumbleInit :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticRumblePlay" hapticRumblePlay :: Haptic -> CFloat -> Word32 -> IO CInt foreign import ccall "SDL.h SDL_HapticRumbleStop" hapticRumbleStop :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticRumbleSupported" hapticRumbleSupported :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticRunEffect" hapticRunEffect :: Haptic -> CInt -> Word32 -> IO CInt foreign import ccall "SDL.h SDL_HapticSetAutocenter" hapticSetAutocenter :: Haptic -> CInt -> IO CInt foreign import ccall "SDL.h SDL_HapticSetGain" hapticSetGain :: Haptic -> CInt -> IO CInt foreign import ccall "SDL.h SDL_HapticStopAll" hapticStopAll :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticStopEffect" hapticStopEffect :: Haptic -> CInt -> IO CInt foreign import ccall "SDL.h SDL_HapticUnpause" hapticUnpause :: Haptic -> IO CInt foreign import ccall "SDL.h SDL_HapticUpdateEffect" hapticUpdateEffect :: Haptic -> CInt -> Ptr HapticEffect -> IO CInt foreign import ccall "SDL.h SDL_JoystickIsHaptic" joystickIsHaptic :: Joystick -> IO CInt foreign import ccall "SDL.h SDL_MouseIsHaptic" mouseIsHaptic :: IO CInt foreign import ccall "SDL.h SDL_NumHaptics" numHaptics :: IO CInt