Functions
gdk_events_pending ()
gboolean
gdk_events_pending (void);
Checks if any events are ready to be processed for any display.
Returns
TRUE if any events are pending.
gdk_event_peek ()
GdkEvent *
gdk_event_peek (void);
If there is an event waiting in the event queue of some open
display, returns a copy of it. See gdk_display_peek_event().
gdk_event_get ()
GdkEvent *
gdk_event_get (void);
Checks all open displays for a GdkEvent to process,to be processed
on, fetching events from the windowing system if necessary.
See gdk_display_get_event().
gdk_event_put ()
void
gdk_event_put (const GdkEvent *event);
Appends a copy of the given event onto the front of the event
queue for event->any.window’s display, or the default event
queue if event->any.window is NULL. See gdk_display_put_event().
gdk_event_new ()
GdkEvent *
gdk_event_new (GdkEventType type);
Creates a new event of the given type. All fields are set to 0.
Since: 2.2
gdk_event_copy ()
GdkEvent *
gdk_event_copy (const GdkEvent *event);
Copies a GdkEvent, copying or incrementing the reference count of the
resources associated with it (e.g. GdkWindow’s and strings).
gdk_event_get_axis ()
gboolean
gdk_event_get_axis (const GdkEvent *event,
GdkAxisUse axis_use,
gdouble *value);
Extract the axis value for a particular axis use from
an event structure.
Returns
TRUE if the specified axis was found, otherwise FALSE
gdk_event_get_button ()
gboolean
gdk_event_get_button (const GdkEvent *event,
guint *button);
Extract the button number from an event.
Returns
TRUE if the event delivered a button number
Since: 3.2
gdk_event_get_click_count ()
gboolean
gdk_event_get_click_count (const GdkEvent *event,
guint *click_count);
Extracts the click count from an event.
Returns
TRUE if the event delivered a click count
Since: 3.2
gdk_event_get_coords ()
gboolean
gdk_event_get_coords (const GdkEvent *event,
gdouble *x_win,
gdouble *y_win);
Extract the event window relative x/y coordinates from an event.
Returns
TRUE if the event delivered event window coordinates
gdk_event_get_keyval ()
gboolean
gdk_event_get_keyval (const GdkEvent *event,
guint *keyval);
Extracts the keyval from an event.
Returns
TRUE if the event delivered a key symbol
Since: 3.2
gdk_event_get_root_coords ()
gboolean
gdk_event_get_root_coords (const GdkEvent *event,
gdouble *x_root,
gdouble *y_root);
Extract the root window relative x/y coordinates from an event.
Returns
TRUE if the event delivered root window coordinates
gdk_event_get_scroll_direction ()
gboolean
gdk_event_get_scroll_direction (const GdkEvent *event,
GdkScrollDirection *direction);
Extracts the scroll direction from an event.
If event
is not of type GDK_SCROLL, the contents of direction
are undefined.
If you wish to handle both discrete and smooth scrolling, you
should check the return value of this function, or of
gdk_event_get_scroll_deltas(); for instance:
Returns
TRUE if the event delivered a scroll direction
and FALSE otherwise
Since: 3.2
gdk_event_is_scroll_stop_event ()
gboolean
gdk_event_is_scroll_stop_event (const GdkEvent *event);
Check whether a scroll event is a stop scroll event. Scroll sequences
with smooth scroll information may provide a stop scroll event once the
interaction with the device finishes, e.g. by lifting a finger. This
stop scroll event is the signal that a widget may trigger kinetic
scrolling based on the current velocity.
Stop scroll events always have a a delta of 0/0.
Returns
TRUE if the event is a scroll stop event
Since: 3.20
gdk_event_get_state ()
gboolean
gdk_event_get_state (const GdkEvent *event,
GdkModifierType *state);
If the event contains a “state” field, puts that field in state
. Otherwise
stores an empty state (0). Returns TRUE if there was a state field
in the event. event
may be NULL, in which case it’s treated
as if the event had no state field.
Returns
TRUE if there was a state field in the event
gdk_event_get_window ()
GdkWindow *
gdk_event_get_window (const GdkEvent *event);
Extracts the GdkWindow associated with an event.
Returns
The GdkWindow associated with the event.
[transfer none]
Since: 3.10
gdk_event_get_event_type ()
GdkEventType
gdk_event_get_event_type (const GdkEvent *event);
Retrieves the type of the event.
Since: 3.10
gdk_event_request_motions ()
void
gdk_event_request_motions (const GdkEventMotion *event);
Request more motion notifies if event
is a motion notify hint event.
This function should be used instead of gdk_window_get_pointer() to
request further motion notifies, because it also works for extension
events where motion notifies are provided for devices other than the
core pointer. Coordinate extraction, processing and requesting more
motion events from a GDK_MOTION_NOTIFY event usually works like this:
Since: 2.12
gdk_events_get_angle ()
gboolean
gdk_events_get_angle (GdkEvent *event1,
GdkEvent *event2,
gdouble *angle);
If both events contain X/Y information, this function will return TRUE
and return in angle
the relative angle from event1
to event2
. The rotation
direction for positive angles is from the positive X axis towards the positive
Y axis.
Returns
TRUE if the angle could be calculated.
Since: 3.0
gdk_events_get_center ()
gboolean
gdk_events_get_center (GdkEvent *event1,
GdkEvent *event2,
gdouble *x,
gdouble *y);
If both events contain X/Y information, the center of both coordinates
will be returned in x
and y
.
Returns
TRUE if the center could be calculated.
Since: 3.0
gdk_events_get_distance ()
gboolean
gdk_events_get_distance (GdkEvent *event1,
GdkEvent *event2,
gdouble *distance);
If both events have X/Y information, the distance between both coordinates
(as in a straight line going from event1
to event2
) will be returned.
Returns
TRUE if the distance could be calculated.
Since: 3.0
gdk_event_triggers_context_menu ()
gboolean
gdk_event_triggers_context_menu (const GdkEvent *event);
This function returns whether a GdkEventButton should trigger a
context menu, according to platform conventions. The right mouse
button always triggers context menus. Additionally, if
gdk_keymap_get_modifier_mask() returns a non-0 mask for
GDK_MODIFIER_INTENT_CONTEXT_MENU, then the left mouse button will
also trigger a context menu if this modifier is pressed.
This function should always be used instead of simply checking for
event->button == GDK_BUTTON_SECONDARY.
Returns
TRUE if the event should trigger a context menu.
Since: 3.4
gdk_event_get_seat ()
GdkSeat *
gdk_event_get_seat (const GdkEvent *event);
Returns the GdkSeat this event was generated for.
Returns
The GdkSeat of this event.
[transfer none]
Since: 3.20
gdk_event_get_scancode ()
int
gdk_event_get_scancode (GdkEvent *event);
Gets the keyboard low-level scancode of a key event.
This is usually hardware_keycode. On Windows this is the high
word of WM_KEY{DOWN,UP} lParam which contains the scancode and
some extended flags.
Returns
The associated keyboard scancode or 0
Since: 3.22
gdk_event_get_pointer_emulated ()
gboolean
gdk_event_get_pointer_emulated (GdkEvent *event);
Returns whether this event is an 'emulated' pointer event (typically
from a touch event), as opposed to a real one.
Returns
TRUE if this event is emulated
Since: 3.22
gdk_event_handler_set ()
void
gdk_event_handler_set (GdkEventFunc func,
gpointer data,
GDestroyNotify notify);
Sets the function to call to handle all events from GDK.
Note that GTK+ uses this to install its own event handler, so it is
usually not useful for GTK+ applications. (Although an application
can call this function then call gtk_main_do_event() to pass
events to GTK+.)
gdk_get_show_events ()
gboolean
gdk_get_show_events (void);
Gets whether event debugging output is enabled.
Returns
TRUE if event debugging output is enabled.
gdk_set_show_events ()
void
gdk_set_show_events (gboolean show_events);
Sets whether a trace of received events is output.
Note that GTK+ must be compiled with debugging (that is,
configured using the --enable-debug option)
to use this option.
gdk_event_set_screen ()
void
gdk_event_set_screen (GdkEvent *event,
GdkScreen *screen);
Sets the screen for event
to screen
. The event must
have been allocated by GTK+, for instance, by
gdk_event_copy().
Since: 2.2
gdk_event_get_screen ()
GdkScreen *
gdk_event_get_screen (const GdkEvent *event);
Returns the screen for the event. The screen is
typically the screen for event->any.window, but
for events such as mouse events, it is the screen
where the pointer was when the event occurs -
that is, the screen which has the root window
to which event->motion.x_root and
event->motion.y_root are relative.
Returns
the screen for the event.
[transfer none]
Since: 2.2
gdk_event_get_device ()
GdkDevice *
gdk_event_get_device (const GdkEvent *event);
If the event contains a “device” field, this function will return
it, else it will return NULL.
Since: 3.0
gdk_event_set_device ()
void
gdk_event_set_device (GdkEvent *event,
GdkDevice *device);
Sets the device for event
to device
. The event must
have been allocated by GTK+, for instance, by
gdk_event_copy().
Since: 3.0
gdk_event_get_source_device ()
GdkDevice *
gdk_event_get_source_device (const GdkEvent *event);
This function returns the hardware (slave) GdkDevice that has
triggered the event, falling back to the virtual (master) device
(as in gdk_event_get_device()) if the event wasn’t caused by
interaction with a hardware device. This may happen for example
in synthesized crossing events after a GdkWindow updates its
geometry or a grab is acquired/released.
If the event does not contain a device field, this function will
return NULL.
Since: 3.0
gdk_event_set_source_device ()
void
gdk_event_set_source_device (GdkEvent *event,
GdkDevice *device);
Sets the slave device for event
to device
.
The event must have been allocated by GTK+,
for instance by gdk_event_copy().
Since: 3.0
gdk_event_get_device_tool ()
GdkDeviceTool *
gdk_event_get_device_tool (const GdkEvent *event);
If the event was generated by a device that supports
different tools (eg. a tablet), this function will
return a GdkDeviceTool representing the tool that
caused the event. Otherwise, NULL will be returned.
Note: the GdkDeviceTool<!-- -->s will be constant during
the application lifetime, if settings must be stored
persistently across runs, see gdk_device_tool_get_serial()
Returns
The current device tool, or NULL.
[transfer none]
Since: 3.22
gdk_event_set_device_tool ()
void
gdk_event_set_device_tool (GdkEvent *event,
GdkDeviceTool *tool);
Sets the device tool for this event, should be rarely used.
Since: 3.22
gdk_setting_get ()
gboolean
gdk_setting_get (const gchar *name,
GValue *value);
Obtains a desktop-wide setting, such as the double-click time,
for the default screen. See gdk_screen_get_setting().
Returns
TRUE if the setting existed and a value was stored
in value
, FALSE otherwise.
Types and Values
enum GdkEventType
Specifies the type of the event.
Do not confuse these events with the signals that GTK+ widgets emit.
Although many of these events result in corresponding signals being emitted,
the events are often transformed or filtered along the way.
In some language bindings, the values GDK_2BUTTON_PRESS and
GDK_3BUTTON_PRESS would translate into something syntactically
invalid (eg Gdk.EventType.2ButtonPress, where a
symbol is not allowed to start with a number). In that case, the
aliases GDK_DOUBLE_BUTTON_PRESS and GDK_TRIPLE_BUTTON_PRESS can
be used instead.
GDK_CURRENT_TIME
#define GDK_CURRENT_TIME 0L
Represents the current time, and can be used anywhere a time is expected.
GDK_PRIORITY_EVENTS
#define GDK_PRIORITY_EVENTS
This is the priority that events from the X server are given in the
GLib Main Loop.
GDK_PRIORITY_REDRAW
#define GDK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20)
This is the priority that the idle handler processing window updates
is given in the
GLib Main Loop.
GDK_EVENT_PROPAGATE
#define GDK_EVENT_PROPAGATE (FALSE)
Use this macro as the return value for continuing the propagation of
an event handler.
Since: 3.4
GDK_EVENT_STOP
#define GDK_EVENT_STOP (TRUE)
Use this macro as the return value for stopping the propagation of
an event handler.
Since: 3.4
GDK_BUTTON_PRIMARY
#define GDK_BUTTON_PRIMARY (1)
The primary button. This is typically the left mouse button, or the
right button in a left-handed setup.
Since: 3.4
GDK_BUTTON_MIDDLE
#define GDK_BUTTON_MIDDLE (2)
The middle button.
Since: 3.4
GDK_BUTTON_SECONDARY
#define GDK_BUTTON_SECONDARY (3)
The secondary button. This is typically the right mouse button, or the
left button in a left-handed setup.
Since: 3.4
GdkEventSequence
typedef struct _GdkEventSequence GdkEventSequence;