Safe Haskell | None |
---|---|
Language | Haskell2010 |
SDL.Input.Mouse
Synopsis
- data LocationMode
- setMouseLocationMode :: (Functor m, MonadIO m) => LocationMode -> m LocationMode
- getMouseLocationMode :: MonadIO m => m LocationMode
- data MouseButton
- = ButtonLeft
- | ButtonMiddle
- | ButtonRight
- | ButtonX1
- | ButtonX2
- | ButtonExtra !Int
- data MouseDevice
- data MouseScrollDirection
- getModalMouseLocation :: MonadIO m => m ModalLocation
- getAbsoluteMouseLocation :: MonadIO m => m (Point V2 CInt)
- getRelativeMouseLocation :: MonadIO m => m (V2 CInt)
- getMouseButtons :: MonadIO m => m (MouseButton -> Bool)
- data WarpMouseOrigin
- warpMouse :: MonadIO m => WarpMouseOrigin -> Point V2 CInt -> m ()
- cursorVisible :: StateVar Bool
- data Cursor
- activeCursor :: StateVar Cursor
- createCursor :: MonadIO m => Vector Bool -> Vector Bool -> V2 CInt -> Point V2 CInt -> m Cursor
- freeCursor :: MonadIO m => Cursor -> m ()
- createColorCursor :: MonadIO m => Surface -> Point V2 CInt -> m Cursor
Relative Mouse Mode
data LocationMode Source #
Constructors
AbsoluteLocation | |
RelativeLocation |
Instances
Bounded LocationMode Source # | |
Defined in SDL.Input.Mouse | |
Enum LocationMode Source # | |
Defined in SDL.Input.Mouse Methods succ :: LocationMode -> LocationMode pred :: LocationMode -> LocationMode toEnum :: Int -> LocationMode fromEnum :: LocationMode -> Int enumFrom :: LocationMode -> [LocationMode] enumFromThen :: LocationMode -> LocationMode -> [LocationMode] enumFromTo :: LocationMode -> LocationMode -> [LocationMode] enumFromThenTo :: LocationMode -> LocationMode -> LocationMode -> [LocationMode] | |
Eq LocationMode Source # | |
Defined in SDL.Input.Mouse | |
Data LocationMode Source # | |
Defined in SDL.Input.Mouse Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LocationMode -> c LocationMode gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LocationMode toConstr :: LocationMode -> Constr dataTypeOf :: LocationMode -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LocationMode) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LocationMode) gmapT :: (forall b. Data b => b -> b) -> LocationMode -> LocationMode gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LocationMode -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LocationMode -> r gmapQ :: (forall d. Data d => d -> u) -> LocationMode -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> LocationMode -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> LocationMode -> m LocationMode gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LocationMode -> m LocationMode gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LocationMode -> m LocationMode | |
Ord LocationMode Source # | |
Defined in SDL.Input.Mouse Methods compare :: LocationMode -> LocationMode -> Ordering (<) :: LocationMode -> LocationMode -> Bool (<=) :: LocationMode -> LocationMode -> Bool (>) :: LocationMode -> LocationMode -> Bool (>=) :: LocationMode -> LocationMode -> Bool max :: LocationMode -> LocationMode -> LocationMode min :: LocationMode -> LocationMode -> LocationMode | |
Read LocationMode Source # | |
Defined in SDL.Input.Mouse Methods readsPrec :: Int -> ReadS LocationMode readList :: ReadS [LocationMode] readPrec :: ReadPrec LocationMode readListPrec :: ReadPrec [LocationMode] | |
Show LocationMode Source # | |
Defined in SDL.Input.Mouse Methods showsPrec :: Int -> LocationMode -> ShowS show :: LocationMode -> String showList :: [LocationMode] -> ShowS | |
Generic LocationMode Source # | |
Defined in SDL.Input.Mouse Associated Types type Rep LocationMode :: Type -> Type | |
type Rep LocationMode Source # | |
Defined in SDL.Input.Mouse type Rep LocationMode = D1 ('MetaData "LocationMode" "SDL.Input.Mouse" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "AbsoluteLocation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RelativeLocation" 'PrefixI 'False) (U1 :: Type -> Type)) |
setMouseLocationMode :: (Functor m, MonadIO m) => LocationMode -> m LocationMode Source #
Sets the current relative mouse mode.
When relative mouse mode is enabled, cursor is hidden and mouse position will not change. However, you will be delivered relative mouse position change events.
getMouseLocationMode :: MonadIO m => m LocationMode Source #
Check which mouse location mode is currently active.
Mouse and Touch Input
data MouseButton Source #
Constructors
ButtonLeft | |
ButtonMiddle | |
ButtonRight | |
ButtonX1 | |
ButtonX2 | |
ButtonExtra !Int | An unknown mouse button. |
Instances
Eq MouseButton Source # | |
Defined in SDL.Input.Mouse | |
Data MouseButton Source # | |
Defined in SDL.Input.Mouse Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MouseButton -> c MouseButton gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MouseButton toConstr :: MouseButton -> Constr dataTypeOf :: MouseButton -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MouseButton) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MouseButton) gmapT :: (forall b. Data b => b -> b) -> MouseButton -> MouseButton gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MouseButton -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MouseButton -> r gmapQ :: (forall d. Data d => d -> u) -> MouseButton -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> MouseButton -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> MouseButton -> m MouseButton gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MouseButton -> m MouseButton gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MouseButton -> m MouseButton | |
Ord MouseButton Source # | |
Defined in SDL.Input.Mouse Methods compare :: MouseButton -> MouseButton -> Ordering (<) :: MouseButton -> MouseButton -> Bool (<=) :: MouseButton -> MouseButton -> Bool (>) :: MouseButton -> MouseButton -> Bool (>=) :: MouseButton -> MouseButton -> Bool max :: MouseButton -> MouseButton -> MouseButton min :: MouseButton -> MouseButton -> MouseButton | |
Read MouseButton Source # | |
Defined in SDL.Input.Mouse Methods readsPrec :: Int -> ReadS MouseButton readList :: ReadS [MouseButton] readPrec :: ReadPrec MouseButton readListPrec :: ReadPrec [MouseButton] | |
Show MouseButton Source # | |
Defined in SDL.Input.Mouse Methods showsPrec :: Int -> MouseButton -> ShowS show :: MouseButton -> String showList :: [MouseButton] -> ShowS | |
Generic MouseButton Source # | |
Defined in SDL.Input.Mouse Associated Types type Rep MouseButton :: Type -> Type | |
ToNumber MouseButton Word8 Source # | |
Defined in SDL.Input.Mouse Methods toNumber :: MouseButton -> Word8 Source # | |
FromNumber MouseButton Word8 Source # | |
Defined in SDL.Input.Mouse Methods fromNumber :: Word8 -> MouseButton Source # | |
type Rep MouseButton Source # | |
Defined in SDL.Input.Mouse type Rep MouseButton = D1 ('MetaData "MouseButton" "SDL.Input.Mouse" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) ((C1 ('MetaCons "ButtonLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ButtonMiddle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ButtonRight" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ButtonX1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ButtonX2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ButtonExtra" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int))))) |
data MouseDevice Source #
Identifies what kind of mouse-like device this is.
Constructors
Mouse !Int | An actual mouse. The number identifies which mouse. |
Touch | Some sort of touch device. |
Instances
Eq MouseDevice Source # | |
Defined in SDL.Input.Mouse | |
Data MouseDevice Source # | |
Defined in SDL.Input.Mouse Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MouseDevice -> c MouseDevice gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MouseDevice toConstr :: MouseDevice -> Constr dataTypeOf :: MouseDevice -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MouseDevice) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MouseDevice) gmapT :: (forall b. Data b => b -> b) -> MouseDevice -> MouseDevice gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MouseDevice -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MouseDevice -> r gmapQ :: (forall d. Data d => d -> u) -> MouseDevice -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> MouseDevice -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> MouseDevice -> m MouseDevice gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MouseDevice -> m MouseDevice gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MouseDevice -> m MouseDevice | |
Ord MouseDevice Source # | |
Defined in SDL.Input.Mouse Methods compare :: MouseDevice -> MouseDevice -> Ordering (<) :: MouseDevice -> MouseDevice -> Bool (<=) :: MouseDevice -> MouseDevice -> Bool (>) :: MouseDevice -> MouseDevice -> Bool (>=) :: MouseDevice -> MouseDevice -> Bool max :: MouseDevice -> MouseDevice -> MouseDevice min :: MouseDevice -> MouseDevice -> MouseDevice | |
Read MouseDevice Source # | |
Defined in SDL.Input.Mouse Methods readsPrec :: Int -> ReadS MouseDevice readList :: ReadS [MouseDevice] readPrec :: ReadPrec MouseDevice readListPrec :: ReadPrec [MouseDevice] | |
Show MouseDevice Source # | |
Defined in SDL.Input.Mouse Methods showsPrec :: Int -> MouseDevice -> ShowS show :: MouseDevice -> String showList :: [MouseDevice] -> ShowS | |
Generic MouseDevice Source # | |
Defined in SDL.Input.Mouse Associated Types type Rep MouseDevice :: Type -> Type | |
FromNumber MouseDevice Word32 Source # | |
Defined in SDL.Input.Mouse Methods fromNumber :: Word32 -> MouseDevice Source # | |
type Rep MouseDevice Source # | |
Defined in SDL.Input.Mouse type Rep MouseDevice = D1 ('MetaData "MouseDevice" "SDL.Input.Mouse" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "Mouse" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "Touch" 'PrefixI 'False) (U1 :: Type -> Type)) |
data MouseScrollDirection Source #
Identifies mouse scroll direction.
Constructors
ScrollNormal | |
ScrollFlipped |
Instances
Mouse State
getModalMouseLocation :: MonadIO m => m ModalLocation Source #
Return proper mouse location depending on mouse mode
getAbsoluteMouseLocation :: MonadIO m => m (Point V2 CInt) Source #
Retrieve the current location of the mouse, relative to the currently focused window.
getRelativeMouseLocation :: MonadIO m => m (V2 CInt) Source #
Retrieve mouse motion
getMouseButtons :: MonadIO m => m (MouseButton -> Bool) Source #
Retrieve a mapping of which buttons are currently held down.
Warping the Mouse
data WarpMouseOrigin Source #
Constructors
WarpInWindow Window | Move the mouse pointer within a given |
WarpCurrentFocus | Move the mouse pointer within whichever |
WarpGlobal | Move the mouse pointer in global screen space. |
Instances
Eq WarpMouseOrigin Source # | |
Defined in SDL.Input.Mouse Methods (==) :: WarpMouseOrigin -> WarpMouseOrigin -> Bool (/=) :: WarpMouseOrigin -> WarpMouseOrigin -> Bool | |
Data WarpMouseOrigin Source # | |
Defined in SDL.Input.Mouse Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WarpMouseOrigin -> c WarpMouseOrigin gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WarpMouseOrigin toConstr :: WarpMouseOrigin -> Constr dataTypeOf :: WarpMouseOrigin -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c WarpMouseOrigin) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WarpMouseOrigin) gmapT :: (forall b. Data b => b -> b) -> WarpMouseOrigin -> WarpMouseOrigin gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WarpMouseOrigin -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WarpMouseOrigin -> r gmapQ :: (forall d. Data d => d -> u) -> WarpMouseOrigin -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> WarpMouseOrigin -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> WarpMouseOrigin -> m WarpMouseOrigin gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WarpMouseOrigin -> m WarpMouseOrigin gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WarpMouseOrigin -> m WarpMouseOrigin | |
Ord WarpMouseOrigin Source # | |
Defined in SDL.Input.Mouse Methods compare :: WarpMouseOrigin -> WarpMouseOrigin -> Ordering (<) :: WarpMouseOrigin -> WarpMouseOrigin -> Bool (<=) :: WarpMouseOrigin -> WarpMouseOrigin -> Bool (>) :: WarpMouseOrigin -> WarpMouseOrigin -> Bool (>=) :: WarpMouseOrigin -> WarpMouseOrigin -> Bool max :: WarpMouseOrigin -> WarpMouseOrigin -> WarpMouseOrigin min :: WarpMouseOrigin -> WarpMouseOrigin -> WarpMouseOrigin | |
Show WarpMouseOrigin Source # | |
Defined in SDL.Input.Mouse Methods showsPrec :: Int -> WarpMouseOrigin -> ShowS show :: WarpMouseOrigin -> String showList :: [WarpMouseOrigin] -> ShowS | |
Generic WarpMouseOrigin Source # | |
Defined in SDL.Input.Mouse Associated Types type Rep WarpMouseOrigin :: Type -> Type Methods from :: WarpMouseOrigin -> Rep WarpMouseOrigin x to :: Rep WarpMouseOrigin x -> WarpMouseOrigin | |
type Rep WarpMouseOrigin Source # | |
Defined in SDL.Input.Mouse type Rep WarpMouseOrigin = D1 ('MetaData "WarpMouseOrigin" "SDL.Input.Mouse" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "WarpInWindow" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Window)) :+: (C1 ('MetaCons "WarpCurrentFocus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WarpGlobal" 'PrefixI 'False) (U1 :: Type -> Type))) |
warpMouse :: MonadIO m => WarpMouseOrigin -> Point V2 CInt -> m () Source #
Move the current location of a mouse pointer. The WarpMouseOrigin
specifies the origin for the given warp coordinates.
Cursor Visibility
cursorVisible :: StateVar Bool Source #
Get or set whether the cursor is currently visible.
This StateVar
can be modified using $=
and the current value retrieved with get
.
See SDL_ShowCursor
and SDL_HideCursor
for C documentation.
Cursor Shape
activeCursor :: StateVar Cursor Source #
Get or set the currently active cursor. You can create new Cursor
s with createCursor
.
This StateVar
can be modified using $=
and the current value retrieved with get
.
See SDL_SetCursor
and SDL_GetCursor
for C documentation.
Arguments
:: MonadIO m | |
=> Vector Bool | Whether this part of the cursor is black. Use |
-> Vector Bool | Whether or not pixels are visible. Use |
-> V2 CInt | The width and height of the cursor. |
-> Point V2 CInt | The X- and Y-axis location of the upper left corner of the cursor relative to the actual mouse position |
-> m Cursor |
Create a cursor using the specified bitmap data and mask (in MSB format).
freeCursor :: MonadIO m => Cursor -> m () Source #
Free a cursor created with createCursor
and createColorCusor
.
See SDL_FreeCursor
for C documentation.
Create a color cursor.
See SDL_CreateColorCursor
for C documentation.