Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
GdkEvent
s are immutable data structures, created by GDK to
represent windowing system events.
In GTK applications the events are handled automatically by toplevel
widgets and passed on to the event controllers of appropriate widgets,
so using GdkEvent
and its related API is rarely needed.
Synopsis
- newtype Event = Event (ManagedPtr Event)
- class (BoxedPtr o, TypedObject o, IsDescendantOf Event o) => IsEvent o
- toEvent :: (MonadIO m, IsEvent o) => o -> m Event
- eventGetAxes :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Bool, [Double])
- eventGetAxis :: (HasCallStack, MonadIO m, IsEvent a) => a -> AxisUse -> m (Bool, Double)
- eventGetDevice :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe Device)
- eventGetDeviceTool :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe DeviceTool)
- eventGetDisplay :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe Display)
- eventGetEventSequence :: (HasCallStack, MonadIO m, IsEvent a) => a -> m EventSequence
- eventGetEventType :: (HasCallStack, MonadIO m, IsEvent a) => a -> m EventType
- eventGetHistory :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe [TimeCoord])
- eventGetModifierState :: (HasCallStack, MonadIO m, IsEvent a) => a -> m [ModifierType]
- eventGetPointerEmulated :: (HasCallStack, MonadIO m, IsEvent a) => a -> m Bool
- eventGetPosition :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Bool, Double, Double)
- eventGetSeat :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe Seat)
- eventGetSurface :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe Surface)
- eventGetTime :: (HasCallStack, MonadIO m, IsEvent a) => a -> m Word32
- eventRef :: (HasCallStack, MonadIO m, IsEvent a) => a -> m Event
- eventTriggersContextMenu :: (HasCallStack, MonadIO m, IsEvent a) => a -> m Bool
- eventUnref :: (HasCallStack, MonadIO m, IsEvent a) => a -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq Event Source # | |
BoxedPtr Event Source # | |
Defined in GI.Gdk.Objects.Event boxedPtrCopy :: Event -> IO Event # boxedPtrFree :: Event -> IO () # | |
ManagedPtrNewtype Event Source # | |
Defined in GI.Gdk.Objects.Event toManagedPtr :: Event -> ManagedPtr Event # | |
TypedObject Event Source # | |
Defined in GI.Gdk.Objects.Event | |
HasParentTypes Event Source # | |
Defined in GI.Gdk.Objects.Event | |
type ParentTypes Event Source # | |
Defined in GI.Gdk.Objects.Event |
class (BoxedPtr o, TypedObject o, IsDescendantOf Event o) => IsEvent o Source #
Instances
(BoxedPtr o, TypedObject o, IsDescendantOf Event o) => IsEvent o Source # | |
Defined in GI.Gdk.Objects.Event |
Methods
Click to display all available methods, including inherited ones
Methods
ref, triggersContextMenu, unref.
Getters
getAxes, getAxis, getDevice, getDeviceTool, getDisplay, getEventSequence, getEventType, getHistory, getModifierState, getPointerEmulated, getPosition, getSeat, getSurface, getTime.
Setters
None.
getAxes
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m (Bool, [Double]) |
Extracts all axis values from an event.
To find out which axes are used, use deviceToolGetAxes
on the device tool returned by eventGetDeviceTool
.
getAxis
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> AxisUse |
|
-> m (Bool, Double) | Returns: |
Extract the axis value for a particular axis use from an event structure.
To find out which axes are used, use deviceToolGetAxes
on the device tool returned by eventGetDeviceTool
.
getDevice
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m (Maybe Device) | Returns: a |
Returns the device of an event.
getDeviceTool
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m (Maybe DeviceTool) | Returns: The current device tool |
Returns a GdkDeviceTool
representing the tool that
caused the event.
If the was not generated by a device that supports
different tools (such as a tablet), this function will
return Nothing
.
Note: the GdkDeviceTool
will be constant during
the application lifetime, if settings must be stored
persistently across runs, see deviceToolGetSerial
.
getDisplay
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m (Maybe Display) | Returns: a |
Retrieves the display associated to the event
.
getEventSequence
eventGetEventSequence Source #
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m EventSequence | Returns: the event sequence that the event belongs to |
Returns the event sequence to which the event belongs.
Related touch events are connected in a sequence. Other events typically don't have event sequence information.
getEventType
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m EventType | Returns: a |
Retrieves the type of the event.
getHistory
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m (Maybe [TimeCoord]) | Returns: an array of time and coordinates |
Retrieves the history of the device that event
is for, as a list of
time and coordinates.
The history includes positions that are not delivered as separate events
to the application because they occurred in the same frame as event
.
Note that only motion and scroll events record history, and motion events do it only if one of the mouse buttons is down, or the device has a tool.
getModifierState
eventGetModifierState Source #
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m [ModifierType] | Returns: the modifier state of |
Returns the modifier state field of an event.
getPointerEmulated
eventGetPointerEmulated Source #
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether this event is an 'emulated' pointer event.
Emulated pointer events typically originate from a touch events.
getPosition
Extract the event surface relative x/y coordinates from an event.
This position is in surface coordinates.
getSeat
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m (Maybe Seat) | Returns: a |
Returns the seat that originated the event.
getSurface
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m (Maybe Surface) | Returns: The |
Extracts the surface associated with an event.
getTime
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m Word32 | Returns: timestamp field from |
Returns the timestamp of event
.
Not all events have timestamps. In that case, this function
returns CURRENT_TIME
.
ref
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m Event | Returns: |
Increase the ref count of event
.
triggersContextMenu
eventTriggersContextMenu Source #
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether a GdkEvent
should trigger a context menu,
according to platform conventions.
The right mouse button typically triggers context menus.
This function should always be used instead of simply checking for
event->button == BUTTON_SECONDARY
.
unref
:: (HasCallStack, MonadIO m, IsEvent a) | |
=> a |
|
-> m () |
Decrease the ref count of event
.
If the last reference is dropped, the structure is freed.