yampa-sdl2-0.1.0.0: src/YampaSDL2/Internal/AppInput.hs
module YampaSDL2.Internal.AppInput
( initAppInput
, AppInput(..)
) where
import Linear.V2
import SDL.Input.Keyboard.Codes
-- | Data type which stores all user inputs at the current time. You should not interact with this type directly, but use signal functions like 'anyKeyActive' to get events.
data AppInput = AppInput
{ inpQuit :: Bool -- ^ If the app receives a quit event
, inpKey :: [Scancode] -- ^ All pressed keys
, inpMousePos :: V2 Double -- ^ The current mouse position
, inpMouseLeft :: Maybe (V2 Double) -- ^ User presses the left mouse button
, inpMouseRight :: Maybe (V2 Double) -- ^ User presses the right mouse button
}
initAppInput :: AppInput
initAppInput =
AppInput
{ inpQuit = False
, inpKey = []
, inpMousePos = V2 0 0
, inpMouseLeft = Nothing
, inpMouseRight = Nothing
}