module SDL.Raw.Haptic (
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 Control.Monad.IO.Class
import Data.Word
import Foreign.C.String
import Foreign.C.Types
import Foreign.Ptr
import SDL.Raw.Types
foreign import ccall "SDL.h SDL_HapticClose" hapticCloseFFI :: Haptic -> IO ()
foreign import ccall "SDL.h SDL_HapticDestroyEffect" hapticDestroyEffectFFI :: Haptic -> CInt -> IO ()
foreign import ccall "SDL.h SDL_HapticEffectSupported" hapticEffectSupportedFFI :: Haptic -> Ptr HapticEffect -> IO CInt
foreign import ccall "SDL.h SDL_HapticGetEffectStatus" hapticGetEffectStatusFFI :: Haptic -> CInt -> IO CInt
foreign import ccall "SDL.h SDL_HapticIndex" hapticIndexFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticName" hapticNameFFI :: CInt -> IO CString
foreign import ccall "SDL.h SDL_HapticNewEffect" hapticNewEffectFFI :: Haptic -> Ptr HapticEffect -> IO CInt
foreign import ccall "SDL.h SDL_HapticNumAxes" hapticNumAxesFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticNumEffects" hapticNumEffectsFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticNumEffectsPlaying" hapticNumEffectsPlayingFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticOpen" hapticOpenFFI :: CInt -> IO Haptic
foreign import ccall "SDL.h SDL_HapticOpenFromJoystick" hapticOpenFromJoystickFFI :: Joystick -> IO Haptic
foreign import ccall "SDL.h SDL_HapticOpenFromMouse" hapticOpenFromMouseFFI :: IO Haptic
foreign import ccall "SDL.h SDL_HapticOpened" hapticOpenedFFI :: CInt -> IO CInt
foreign import ccall "SDL.h SDL_HapticPause" hapticPauseFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticQuery" hapticQueryFFI :: Haptic -> IO CUInt
foreign import ccall "SDL.h SDL_HapticRumbleInit" hapticRumbleInitFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticRumblePlay" hapticRumblePlayFFI :: Haptic -> CFloat -> Word32 -> IO CInt
foreign import ccall "SDL.h SDL_HapticRumbleStop" hapticRumbleStopFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticRumbleSupported" hapticRumbleSupportedFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticRunEffect" hapticRunEffectFFI :: Haptic -> CInt -> Word32 -> IO CInt
foreign import ccall "SDL.h SDL_HapticSetAutocenter" hapticSetAutocenterFFI :: Haptic -> CInt -> IO CInt
foreign import ccall "SDL.h SDL_HapticSetGain" hapticSetGainFFI :: Haptic -> CInt -> IO CInt
foreign import ccall "SDL.h SDL_HapticStopAll" hapticStopAllFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticStopEffect" hapticStopEffectFFI :: Haptic -> CInt -> IO CInt
foreign import ccall "SDL.h SDL_HapticUnpause" hapticUnpauseFFI :: Haptic -> IO CInt
foreign import ccall "SDL.h SDL_HapticUpdateEffect" hapticUpdateEffectFFI :: Haptic -> CInt -> Ptr HapticEffect -> IO CInt
foreign import ccall "SDL.h SDL_JoystickIsHaptic" joystickIsHapticFFI :: Joystick -> IO CInt
foreign import ccall "SDL.h SDL_MouseIsHaptic" mouseIsHapticFFI :: IO CInt
foreign import ccall "SDL.h SDL_NumHaptics" numHapticsFFI :: IO CInt
hapticClose :: MonadIO m => Haptic -> m ()
hapticClose v1 = liftIO $ hapticCloseFFI v1
{-# INLINE hapticClose #-}
hapticDestroyEffect :: MonadIO m => Haptic -> CInt -> m ()
hapticDestroyEffect v1 v2 = liftIO $ hapticDestroyEffectFFI v1 v2
{-# INLINE hapticDestroyEffect #-}
hapticEffectSupported :: MonadIO m => Haptic -> Ptr HapticEffect -> m CInt
hapticEffectSupported v1 v2 = liftIO $ hapticEffectSupportedFFI v1 v2
{-# INLINE hapticEffectSupported #-}
hapticGetEffectStatus :: MonadIO m => Haptic -> CInt -> m CInt
hapticGetEffectStatus v1 v2 = liftIO $ hapticGetEffectStatusFFI v1 v2
{-# INLINE hapticGetEffectStatus #-}
hapticIndex :: MonadIO m => Haptic -> m CInt
hapticIndex v1 = liftIO $ hapticIndexFFI v1
{-# INLINE hapticIndex #-}
hapticName :: MonadIO m => CInt -> m CString
hapticName v1 = liftIO $ hapticNameFFI v1
{-# INLINE hapticName #-}
hapticNewEffect :: MonadIO m => Haptic -> Ptr HapticEffect -> m CInt
hapticNewEffect v1 v2 = liftIO $ hapticNewEffectFFI v1 v2
{-# INLINE hapticNewEffect #-}
hapticNumAxes :: MonadIO m => Haptic -> m CInt
hapticNumAxes v1 = liftIO $ hapticNumAxesFFI v1
{-# INLINE hapticNumAxes #-}
hapticNumEffects :: MonadIO m => Haptic -> m CInt
hapticNumEffects v1 = liftIO $ hapticNumEffectsFFI v1
{-# INLINE hapticNumEffects #-}
hapticNumEffectsPlaying :: MonadIO m => Haptic -> m CInt
hapticNumEffectsPlaying v1 = liftIO $ hapticNumEffectsPlayingFFI v1
{-# INLINE hapticNumEffectsPlaying #-}
hapticOpen :: MonadIO m => CInt -> m Haptic
hapticOpen v1 = liftIO $ hapticOpenFFI v1
{-# INLINE hapticOpen #-}
hapticOpenFromJoystick :: MonadIO m => Joystick -> m Haptic
hapticOpenFromJoystick v1 = liftIO $ hapticOpenFromJoystickFFI v1
{-# INLINE hapticOpenFromJoystick #-}
hapticOpenFromMouse :: MonadIO m => m Haptic
hapticOpenFromMouse = liftIO hapticOpenFromMouseFFI
{-# INLINE hapticOpenFromMouse #-}
hapticOpened :: MonadIO m => CInt -> m CInt
hapticOpened v1 = liftIO $ hapticOpenedFFI v1
{-# INLINE hapticOpened #-}
hapticPause :: MonadIO m => Haptic -> m CInt
hapticPause v1 = liftIO $ hapticPauseFFI v1
{-# INLINE hapticPause #-}
hapticQuery :: MonadIO m => Haptic -> m CUInt
hapticQuery v1 = liftIO $ hapticQueryFFI v1
{-# INLINE hapticQuery #-}
hapticRumbleInit :: MonadIO m => Haptic -> m CInt
hapticRumbleInit v1 = liftIO $ hapticRumbleInitFFI v1
{-# INLINE hapticRumbleInit #-}
hapticRumblePlay :: MonadIO m => Haptic -> CFloat -> Word32 -> m CInt
hapticRumblePlay v1 v2 v3 = liftIO $ hapticRumblePlayFFI v1 v2 v3
{-# INLINE hapticRumblePlay #-}
hapticRumbleStop :: MonadIO m => Haptic -> m CInt
hapticRumbleStop v1 = liftIO $ hapticRumbleStopFFI v1
{-# INLINE hapticRumbleStop #-}
hapticRumbleSupported :: MonadIO m => Haptic -> m CInt
hapticRumbleSupported v1 = liftIO $ hapticRumbleSupportedFFI v1
{-# INLINE hapticRumbleSupported #-}
hapticRunEffect :: MonadIO m => Haptic -> CInt -> Word32 -> m CInt
hapticRunEffect v1 v2 v3 = liftIO $ hapticRunEffectFFI v1 v2 v3
{-# INLINE hapticRunEffect #-}
hapticSetAutocenter :: MonadIO m => Haptic -> CInt -> m CInt
hapticSetAutocenter v1 v2 = liftIO $ hapticSetAutocenterFFI v1 v2
{-# INLINE hapticSetAutocenter #-}
hapticSetGain :: MonadIO m => Haptic -> CInt -> m CInt
hapticSetGain v1 v2 = liftIO $ hapticSetGainFFI v1 v2
{-# INLINE hapticSetGain #-}
hapticStopAll :: MonadIO m => Haptic -> m CInt
hapticStopAll v1 = liftIO $ hapticStopAllFFI v1
{-# INLINE hapticStopAll #-}
hapticStopEffect :: MonadIO m => Haptic -> CInt -> m CInt
hapticStopEffect v1 v2 = liftIO $ hapticStopEffectFFI v1 v2
{-# INLINE hapticStopEffect #-}
hapticUnpause :: MonadIO m => Haptic -> m CInt
hapticUnpause v1 = liftIO $ hapticUnpauseFFI v1
{-# INLINE hapticUnpause #-}
hapticUpdateEffect :: MonadIO m => Haptic -> CInt -> Ptr HapticEffect -> m CInt
hapticUpdateEffect v1 v2 v3 = liftIO $ hapticUpdateEffectFFI v1 v2 v3
{-# INLINE hapticUpdateEffect #-}
joystickIsHaptic :: MonadIO m => Joystick -> m CInt
joystickIsHaptic v1 = liftIO $ joystickIsHapticFFI v1
{-# INLINE joystickIsHaptic #-}
mouseIsHaptic :: MonadIO m => m CInt
mouseIsHaptic = liftIO mouseIsHapticFFI
{-# INLINE mouseIsHaptic #-}
numHaptics :: MonadIO m => m CInt
numHaptics = liftIO numHapticsFFI
{-# INLINE numHaptics #-}