Events

Events — Functions for handling events from the window system

Functions

GdkEvent * gdk_event_ref ()
void gdk_event_unref ()
GdkEventType gdk_event_get_event_type ()
GdkSurface * gdk_event_get_surface ()
GdkDevice * gdk_event_get_device ()
GdkDeviceTool * gdk_event_get_device_tool ()
guint32 gdk_event_get_time ()
GdkDisplay * gdk_event_get_display ()
GdkSeat * gdk_event_get_seat ()
GdkEventSequence * gdk_event_get_event_sequence ()
GdkModifierType gdk_event_get_modifier_state ()
gboolean gdk_event_get_position ()
gboolean gdk_event_get_axes ()
gboolean gdk_event_get_axis ()
GdkTimeCoord * gdk_event_get_history ()
gboolean gdk_event_get_pointer_emulated ()
gboolean gdk_event_triggers_context_menu ()
guint gdk_button_event_get_button ()
GdkScrollDirection gdk_scroll_event_get_direction ()
void gdk_scroll_event_get_deltas ()
gboolean gdk_scroll_event_is_stop ()
guint gdk_key_event_get_keyval ()
guint gdk_key_event_get_keycode ()
GdkModifierType gdk_key_event_get_consumed_modifiers ()
guint gdk_key_event_get_layout ()
guint gdk_key_event_get_level ()
gboolean gdk_key_event_is_modifier ()
GdkKeyMatch gdk_key_event_matches ()
gboolean gdk_key_event_get_match ()
gboolean gdk_focus_event_get_in ()
gboolean gdk_touch_event_get_emulating_pointer ()
GdkCrossingMode gdk_crossing_event_get_mode ()
GdkNotifyType gdk_crossing_event_get_detail ()
gboolean gdk_crossing_event_get_focus ()
GdkSurface * gdk_grab_broken_event_get_grab_surface ()
gboolean gdk_grab_broken_event_get_implicit ()
GdkDrop * gdk_dnd_event_get_drop ()
GdkTouchpadGesturePhase gdk_touchpad_event_get_gesture_phase ()
guint gdk_touchpad_event_get_n_fingers ()
void gdk_touchpad_event_get_deltas ()
double gdk_touchpad_event_get_pinch_angle_delta ()
double gdk_touchpad_event_get_pinch_scale ()
void gdk_pad_event_get_axis_value ()
guint gdk_pad_event_get_button ()
void gdk_pad_event_get_group_mode ()
gboolean gdk_events_get_angle ()
gboolean gdk_events_get_center ()
gboolean gdk_events_get_distance ()

Object Hierarchy

    GdkEvent

Includes

#include <gdk/gdk.h>

Description

This section describes functions dealing with events from the window system.

In GTK applications the events are handled automatically by toplevel widgets and passed on to the event controllers of appropriate widgets, so these functions are rarely needed.

Functions

gdk_event_ref ()

GdkEvent *
gdk_event_ref (GdkEvent *event);

Increase the ref count of event .

Parameters

event

a GdkEvent

 

Returns

event .

[transfer full]


gdk_event_unref ()

void
gdk_event_unref (GdkEvent *event);

Decrease the ref count of event , and free it if the last reference is dropped.

Parameters

event

a GdkEvent.

[transfer full]

gdk_event_get_event_type ()

GdkEventType
gdk_event_get_event_type (GdkEvent *event);

Retrieves the type of the event.

Parameters

event

a GdkEvent

 

Returns

a GdkEventType


gdk_event_get_surface ()

GdkSurface *
gdk_event_get_surface (GdkEvent *event);

Extracts the GdkSurface associated with an event.

Parameters

event

a GdkEvent

 

Returns

The GdkSurface associated with the event.

[transfer none]


gdk_event_get_device ()

GdkDevice *
gdk_event_get_device (GdkEvent *event);

Returns the device of an event.

Parameters

event

a GdkEvent.

 

Returns

a GdkDevice.

[nullable][transfer none]


gdk_event_get_device_tool ()

GdkDeviceTool *
gdk_event_get_device_tool (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 GdkDeviceTools will be constant during the application lifetime, if settings must be stored persistently across runs, see gdk_device_tool_get_serial()

Parameters

event

a GdkEvent

 

Returns

The current device tool, or NULL.

[transfer none][nullable]


gdk_event_get_time ()

guint32
gdk_event_get_time (GdkEvent *event);

Returns the time stamp from event , if there is one; otherwise returns GDK_CURRENT_TIME.

Parameters

event

a GdkEvent

 

Returns

time stamp field from event


gdk_event_get_display ()

GdkDisplay *
gdk_event_get_display (GdkEvent *event);

Retrieves the GdkDisplay associated to the event .

Parameters

event

a GdkEvent

 

Returns

a GdkDisplay.

[transfer none][nullable]


gdk_event_get_seat ()

GdkSeat *
gdk_event_get_seat (GdkEvent *event);

Returns the seat that originated the event.

Parameters

event

a GdkEvent

 

Returns

a GdkSeat.

[nullable][transfer none]


gdk_event_get_event_sequence ()

GdkEventSequence *
gdk_event_get_event_sequence (GdkEvent *event);

If event is a touch event, returns the GdkEventSequence to which the event belongs. Otherwise, return NULL.

Parameters

event

a GdkEvent

 

Returns

the event sequence that the event belongs to.

[transfer none]


gdk_event_get_modifier_state ()

GdkModifierType
gdk_event_get_modifier_state (GdkEvent *event);

Returns the modifier state field of an event.

Parameters

event

a GdkEvent

 

Returns

the modifier state of event


gdk_event_get_position ()

gboolean
gdk_event_get_position (GdkEvent *event,
                        double *x,
                        double *y);

Extract the event surface relative x/y coordinates from an event.

Parameters

event

a GdkEvent

 

x

location to put event surface x coordinate.

[out]

y

location to put event surface y coordinate.

[out]

gdk_event_get_axes ()

gboolean
gdk_event_get_axes (GdkEvent *event,
                    double **axes,
                    guint *n_axes);

Extracts all axis values from an event.

Parameters

event

a GdkEvent

 

axes

the array of values for all axes.

[transfer none][out][array length=n_axes]

n_axes

the length of array.

[out]

Returns

TRUE on success, otherwise FALSE


gdk_event_get_axis ()

gboolean
gdk_event_get_axis (GdkEvent *event,
                    GdkAxisUse axis_use,
                    double *value);

Extract the axis value for a particular axis use from an event structure.

Parameters

event

a GdkEvent

 

axis_use

the axis use to look for

 

value

location to store the value found.

[out]

Returns

TRUE if the specified axis was found, otherwise FALSE


gdk_event_get_history ()

GdkTimeCoord *
gdk_event_get_history (GdkEvent *event,
                       guint *out_n_coords);

Retrieves the history of the event , as a list of time and coordinates.

The history includes events that are not delivered to the application because they occurred in the same frame as event .

Note that only motion and scroll events record history, and motion events only if one of the mouse buttons is down.

Parameters

event

a motion or scroll GdkEvent

 

out_n_coords

Return location for the length of the returned array.

[out]

Returns

an array of time and coordinates.

[transfer container][array length=out_n_coords][nullable]


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.

Parameters

event

a GdkEvent

 

Returns

TRUE if this event is emulated


gdk_event_triggers_context_menu ()

gboolean
gdk_event_triggers_context_menu (GdkEvent *event);

This function returns whether a GdkEvent should trigger a context menu, according to platform conventions. The right mouse button always triggers context menus.

This function should always be used instead of simply checking for event->button == GDK_BUTTON_SECONDARY.

Parameters

event

a GdkEvent, currently only button events are meaningful values

 

Returns

TRUE if the event should trigger a context menu.


gdk_button_event_get_button ()

guint
gdk_button_event_get_button (GdkEvent *event);

Extract the button number from a button event.

Parameters

event

a button event.

[type GdkButtonEvent]

Returns

the button of event


gdk_scroll_event_get_direction ()

GdkScrollDirection
gdk_scroll_event_get_direction (GdkEvent *event);

Extracts the direction of a scroll event.

Parameters

event

a scroll event.

[type GdkScrollEvent]

Returns

the scroll direction of event


gdk_scroll_event_get_deltas ()

void
gdk_scroll_event_get_deltas (GdkEvent *event,
                             double *delta_x,
                             double *delta_y);

Extracts the scroll deltas of a scroll event.

The deltas will be zero unless the scroll direction is GDK_SCROLL_SMOOTH.

Parameters

event

a scroll event.

[type GdkScrollEvent]

delta_x

return location for x scroll delta.

[out]

delta_y

return location for y scroll delta.

[out]

gdk_scroll_event_is_stop ()

gboolean
gdk_scroll_event_is_stop (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 delta of 0/0.

Parameters

event

a scroll event.

[type GdkScrollEvent]

Returns

TRUE if the event is a scroll stop event


gdk_key_event_get_keyval ()

guint
gdk_key_event_get_keyval (GdkEvent *event);

Extracts the keyval from a key event.

Parameters

event

a key event.

[type GdkKeyEvent]

Returns

the keyval of event


gdk_key_event_get_keycode ()

guint
gdk_key_event_get_keycode (GdkEvent *event);

Extracts the keycode from a key event.

Parameters

event

a key event.

[type GdkKeyEvent]

Returns

the keycode of event


gdk_key_event_get_consumed_modifiers ()

GdkModifierType
gdk_key_event_get_consumed_modifiers (GdkEvent *event);

Extracts the consumed modifiers from a key event.

Parameters

event

a key event.

[type GdkKeyEvent]

Returns

the consumed modifiers or event


gdk_key_event_get_layout ()

guint
gdk_key_event_get_layout (GdkEvent *event);

Extracts the layout from a key event.

Parameters

event

a key event.

[type GdkKeyEvent]

Returns

the layout of event


gdk_key_event_get_level ()

guint
gdk_key_event_get_level (GdkEvent *event);

Extracts the shift level from a key event.

Parameters

event

a key event.

[type GdkKeyEvent]

Returns

the shift level of event


gdk_key_event_is_modifier ()

gboolean
gdk_key_event_is_modifier (GdkEvent *event);

Extracts whether the key event is for a modifier key.

Parameters

event

a key event.

[type GdkKeyEvent]

Returns

TRUE if the event is for a modifier key


gdk_key_event_matches ()

GdkKeyMatch
gdk_key_event_matches (GdkEvent *event,
                       guint keyval,
                       GdkModifierType modifiers);

Matches a key event against a keyboard shortcut that is specified as a keyval and modifiers. Partial matches are possible where the combination matches if the currently active group is ignored.

Note that we ignore Caps Lock for matching.

Parameters

event

a key GdkEvent.

[type GdkKeyEvent]

keyval

the keyval to match

 

modifiers

the modifiers to match

 

Returns

a GdkKeyMatch value describing whether event matches


gdk_key_event_get_match ()

gboolean
gdk_key_event_get_match (GdkEvent *event,
                         guint *keyval,
                         GdkModifierType *modifiers);

Gets a keyval and modifier combination that will cause gdk_key_event_matches() to successfully match the given event.

Parameters

event

a key GdkEvent.

[type GdkKeyEvent]

keyval

return location for a keyval.

[out]

modifiers

return location for modifiers.

[out]

Returns

TRUE on success


gdk_focus_event_get_in ()

gboolean
gdk_focus_event_get_in (GdkEvent *event);

Extracts whether this event is about focus entering or leaving the surface.

Parameters

event

a focus change event.

[type GdkFocusEvent]

Returns

TRUE of the focus is entering


gdk_touch_event_get_emulating_pointer ()

gboolean
gdk_touch_event_get_emulating_pointer (GdkEvent *event);

Extracts whether a touch event is emulating a pointer event.

Parameters

event

a touch event.

[type GdkTouchEvent]

Returns

TRUE if event is emulating


gdk_crossing_event_get_mode ()

GdkCrossingMode
gdk_crossing_event_get_mode (GdkEvent *event);

Extracts the crossing mode from a crossing event.

Parameters

event

a crossing event.

[type GdkCrossingEvent]

Returns

the mode of event


gdk_crossing_event_get_detail ()

GdkNotifyType
gdk_crossing_event_get_detail (GdkEvent *event);

Extracts the notify detail from a crossing event.

Parameters

event

a crossing event.

[type GdkCrossingEvent]

Returns

the notify detail of event


gdk_crossing_event_get_focus ()

gboolean
gdk_crossing_event_get_focus (GdkEvent *event);

Checks if the event surface is the focus surface.

Parameters

event

a crossing event.

[type GdkCrossingEvent]

Returns

TRUE if the surface is the focus surface


gdk_grab_broken_event_get_grab_surface ()

GdkSurface *
gdk_grab_broken_event_get_grab_surface
                               (GdkEvent *event);

Extracts the grab surface from a grab broken event.

Parameters

event

a grab broken event.

[type GdkGrabBrokenEvent]

Returns

the grab surface of event .

[transfer none]


gdk_grab_broken_event_get_implicit ()

gboolean
gdk_grab_broken_event_get_implicit (GdkEvent *event);

Checks whether the grab broken event is for an implicit grab.

Parameters

event

a grab broken event.

[type GdkGrabBrokenEvent]

Returns

TRUE if the an implicit grab was broken


gdk_dnd_event_get_drop ()

GdkDrop *
gdk_dnd_event_get_drop (GdkEvent *event);

Gets the GdkDrop from a DND event.

Parameters

event

a DND event.

[type GdkDNDEvent]

Returns

the drop.

[transfer none][nullable]


gdk_touchpad_event_get_gesture_phase ()

GdkTouchpadGesturePhase
gdk_touchpad_event_get_gesture_phase (GdkEvent *event);

Extracts the touchpad gesture phase from a touchpad event.

Parameters

event

a touchpad GdkEvent.

[type GdkTouchpadEvent]

Returns

the gesture phase of event


gdk_touchpad_event_get_n_fingers ()

guint
gdk_touchpad_event_get_n_fingers (GdkEvent *event);

Extracts the number of fingers from a touchpad event.

Parameters

event

a touchpad event.

[type GdkTouchpadEvent]

Returns

the number of fingers for event


gdk_touchpad_event_get_deltas ()

void
gdk_touchpad_event_get_deltas (GdkEvent *event,
                               double *dx,
                               double *dy);

Extracts delta information from a touchpad event.

Parameters

event

a touchpad event.

[type GdkTouchpadEvent]

dx

return location for x.

[out]

dy

return location for y.

[out]

gdk_touchpad_event_get_pinch_angle_delta ()

double
gdk_touchpad_event_get_pinch_angle_delta
                               (GdkEvent *event);

Extracts the angle delta from a touchpad pinch event.

Parameters

event

a touchpad pinch event.

[type GdkTouchpadEvent]

Returns

the angle delta of event


gdk_touchpad_event_get_pinch_scale ()

double
gdk_touchpad_event_get_pinch_scale (GdkEvent *event);

Extracts the scale from a touchpad pinch event.

Parameters

event

a touchpad pinch event.

[type GdkTouchpadEvent]

Returns

the scale of event


gdk_pad_event_get_axis_value ()

void
gdk_pad_event_get_axis_value (GdkEvent *event,
                              guint *index,
                              double *value);

Extracts the information from a pad strip or ring event.

Parameters

event

a pad strip or ring event.

[type GdkPadEvent]

index

Return location for the axis index.

[out]

value

Return location for the axis value.

[out]

gdk_pad_event_get_button ()

guint
gdk_pad_event_get_button (GdkEvent *event);

Extracts information about the pressed button from a pad event.

Parameters

event

a pad button event.

[type GdkPadEvent]

Returns

the button of event


gdk_pad_event_get_group_mode ()

void
gdk_pad_event_get_group_mode (GdkEvent *event,
                              guint *group,
                              guint *mode);

Extracts group and mode information from a pad event.

Parameters

event

a pad event.

[type GdkPadEvent]

group

return location for the group.

[out]

mode

return location for the mode.

[out]

gdk_events_get_angle ()

gboolean
gdk_events_get_angle (GdkEvent *event1,
                      GdkEvent *event2,
                      double *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.

Parameters

event1

first GdkEvent

 

event2

second GdkEvent

 

angle

return location for the relative angle between both events.

[out]

Returns

TRUE if the angle could be calculated.


gdk_events_get_center ()

gboolean
gdk_events_get_center (GdkEvent *event1,
                       GdkEvent *event2,
                       double *x,
                       double *y);

If both events contain X/Y information, the center of both coordinates will be returned in x and y .

Parameters

event1

first GdkEvent

 

event2

second GdkEvent

 

x

return location for the X coordinate of the center.

[out]

y

return location for the Y coordinate of the center.

[out]

Returns

TRUE if the center could be calculated.


gdk_events_get_distance ()

gboolean
gdk_events_get_distance (GdkEvent *event1,
                         GdkEvent *event2,
                         double *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.

Parameters

event1

first GdkEvent

 

event2

second GdkEvent

 

distance

return location for the distance.

[out]

Returns

TRUE if the distance could be calculated.

Types and Values

GdkEvent

typedef struct _GdkEvent GdkEvent;

The GdkEvent struct contains only private fields and should not be accessed directly.


enum GdkEventType

Specifies the type of the event.

Members

GDK_DELETE

the window manager has requested that the toplevel surface be hidden or destroyed, usually when the user clicks on a special icon in the title bar.

 

GDK_MOTION_NOTIFY

the pointer (usually a mouse) has moved.

 

GDK_BUTTON_PRESS

a mouse button has been pressed.

 

GDK_BUTTON_RELEASE

a mouse button has been released.

 

GDK_KEY_PRESS

a key has been pressed.

 

GDK_KEY_RELEASE

a key has been released.

 

GDK_ENTER_NOTIFY

the pointer has entered the surface.

 

GDK_LEAVE_NOTIFY

the pointer has left the surface.

 

GDK_FOCUS_CHANGE

the keyboard focus has entered or left the surface.

 

GDK_PROXIMITY_IN

an input device has moved into contact with a sensing surface (e.g. a touchscreen or graphics tablet).

 

GDK_PROXIMITY_OUT

an input device has moved out of contact with a sensing surface.

 

GDK_DRAG_ENTER

the mouse has entered the surface while a drag is in progress.

 

GDK_DRAG_LEAVE

the mouse has left the surface while a drag is in progress.

 

GDK_DRAG_MOTION

the mouse has moved in the surface while a drag is in progress.

 

GDK_DROP_START

a drop operation onto the surface has started.

 

GDK_SCROLL

the scroll wheel was turned

 

GDK_GRAB_BROKEN

a pointer or keyboard grab was broken.

 

GDK_TOUCH_BEGIN

A new touch event sequence has just started.

 

GDK_TOUCH_UPDATE

A touch event sequence has been updated.

 

GDK_TOUCH_END

A touch event sequence has finished.

 

GDK_TOUCH_CANCEL

A touch event sequence has been canceled.

 

GDK_TOUCHPAD_SWIPE

A touchpad swipe gesture event, the current state is determined by its phase field.

 

GDK_TOUCHPAD_PINCH

A touchpad pinch gesture event, the current state is determined by its phase field.

 

GDK_PAD_BUTTON_PRESS

A tablet pad button press event.

 

GDK_PAD_BUTTON_RELEASE

A tablet pad button release event.

 

GDK_PAD_RING

A tablet pad axis event from a "ring".

 

GDK_PAD_STRIP

A tablet pad axis event from a "strip".

 

GDK_PAD_GROUP_MODE

A tablet pad group mode change.

 

GDK_EVENT_LAST

marks the end of the GdkEventType enumeration.

 

struct GdkKeymapKey

struct GdkKeymapKey {
  guint keycode;
  int   group;
  int   level;
};

A GdkKeymapKey is a hardware key that can be mapped to a keyval.

Members

guint keycode;

the hardware keycode. This is an identifying number for a physical key.

 

int group;

indicates movement in a horizontal direction. Usually groups are used for two different languages. In group 0, a key might have two English characters, and in group 1 it might have two Hebrew characters. The Hebrew characters will be printed on the key next to the English characters.

 

int level;

indicates which symbol on the key will be used, in a vertical direction. So on a standard US keyboard, the key with the number “1” on it also has the exclamation point ("!") character on it. The level indicates whether to use the “1” or the “!” symbol. The letter keys are considered to have a lowercase letter at level 0, and an uppercase letter at level 1, though only the uppercase letter is printed.

 

enum GdkKeyMatch

The possible return values from gdk_key_event_matches() describe how well an event matches a given keyval and modifiers.

Members

GDK_KEY_MATCH_NONE

The key event does not match

 

GDK_KEY_MATCH_PARTIAL

The key event matches if keyboard state (specifically, the currently active group) is ignored

 

GDK_KEY_MATCH_EXACT

The key event matches

 

enum GdkTouchpadGesturePhase

Specifies the current state of a touchpad gesture. All gestures are guaranteed to begin with an event with phase GDK_TOUCHPAD_GESTURE_PHASE_BEGIN, followed by 0 or several events with phase GDK_TOUCHPAD_GESTURE_PHASE_UPDATE.

A finished gesture may have 2 possible outcomes, an event with phase GDK_TOUCHPAD_GESTURE_PHASE_END will be emitted when the gesture is considered successful, this should be used as the hint to perform any permanent changes.

Cancelled gestures may be so for a variety of reasons, due to hardware or the compositor, or due to the gesture recognition layers hinting the gesture did not finish resolutely (eg. a 3rd finger being added during a pinch gesture). In these cases, the last event will report the phase GDK_TOUCHPAD_GESTURE_PHASE_CANCEL, this should be used as a hint to undo any visible/permanent changes that were done throughout the progress of the gesture.

Members

GDK_TOUCHPAD_GESTURE_PHASE_BEGIN

The gesture has begun.

 

GDK_TOUCHPAD_GESTURE_PHASE_UPDATE

The gesture has been updated.

 

GDK_TOUCHPAD_GESTURE_PHASE_END

The gesture was finished, changes should be permanently applied.

 

GDK_TOUCHPAD_GESTURE_PHASE_CANCEL

The gesture was cancelled, all changes should be undone.

 

enum GdkScrollDirection

Specifies the direction for scroll events.

Members

GDK_SCROLL_UP

the surface is scrolled up.

 

GDK_SCROLL_DOWN

the surface is scrolled down.

 

GDK_SCROLL_LEFT

the surface is scrolled to the left.

 

GDK_SCROLL_RIGHT

the surface is scrolled to the right.

 

GDK_SCROLL_SMOOTH

the scrolling is determined by the delta values in scroll events. See gdk_scroll_event_get_deltas()

 

enum GdkCrossingMode

Specifies the crossing mode for enter and leave events.

Members

GDK_CROSSING_NORMAL

crossing because of pointer motion.

 

GDK_CROSSING_GRAB

crossing because a grab is activated.

 

GDK_CROSSING_UNGRAB

crossing because a grab is deactivated.

 

GDK_CROSSING_GTK_GRAB

crossing because a GTK grab is activated.

 

GDK_CROSSING_GTK_UNGRAB

crossing because a GTK grab is deactivated.

 

GDK_CROSSING_STATE_CHANGED

crossing because a GTK widget changed state (e.g. sensitivity).

 

GDK_CROSSING_TOUCH_BEGIN

crossing because a touch sequence has begun, this event is synthetic as the pointer might have not left the surface.

 

GDK_CROSSING_TOUCH_END

crossing because a touch sequence has ended, this event is synthetic as the pointer might have not left the surface.

 

GDK_CROSSING_DEVICE_SWITCH

crossing because of a device switch (i.e. a mouse taking control of the pointer after a touch device), this event is synthetic as the pointer didn’t leave the surface.

 

enum GdkNotifyType

Specifies the kind of crossing for enter and leave events.

See the X11 protocol specification of LeaveNotify for full details of crossing event generation.

Members

GDK_NOTIFY_ANCESTOR

the surface is entered from an ancestor or left towards an ancestor.

 

GDK_NOTIFY_VIRTUAL

the pointer moves between an ancestor and an inferior of the surface.

 

GDK_NOTIFY_INFERIOR

the surface is entered from an inferior or left towards an inferior.

 

GDK_NOTIFY_NONLINEAR

the surface is entered from or left towards a surface which is neither an ancestor nor an inferior.

 

GDK_NOTIFY_NONLINEAR_VIRTUAL

the pointer moves between two surfaces which are not ancestors of each other and the surface is part of the ancestor chain between one of these surfaces and their least common ancestor.

 

GDK_NOTIFY_UNKNOWN

an unknown type of enter/leave event occurred.

 

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 (G_PRIORITY_DEFAULT)

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 surface 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.


GDK_EVENT_STOP

#define GDK_EVENT_STOP          (TRUE)

Use this macro as the return value for stopping the propagation of an event handler.


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.


GDK_BUTTON_MIDDLE

#define GDK_BUTTON_MIDDLE       (2)

The middle button.


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.


GdkEventSequence

typedef struct _GdkEventSequence GdkEventSequence;

GdkEventSequence is an opaque type representing a sequence of related touch events.


GdkButtonEvent

typedef struct _GdkButtonEvent GdkButtonEvent;

An event related to a button on a pointer device/


GdkScrollEvent

typedef struct _GdkScrollEvent GdkScrollEvent;

An event related to a scrolling motion.


GdkMotionEvent

typedef struct _GdkMotionEvent GdkMotionEvent;

An event related to a pointer or touch device motion.


GdkKeyEvent

typedef struct _GdkKeyEvent GdkKeyEvent;

An event related to a key-based device.


GdkFocusEvent

typedef struct _GdkFocusEvent GdkFocusEvent;

An event related to a focus change.


GdkCrossingEvent

typedef struct _GdkCrossingEvent GdkCrossingEvent;

An event caused by a pointing device moving between surfaces.


GdkGrabBrokenEvent

typedef struct _GdkGrabBrokenEvent GdkGrabBrokenEvent;

An event related to a broken windowing system grab.


GdkDeleteEvent

typedef struct _GdkDeleteEvent GdkDeleteEvent;

An event related to closing a top-level surface.


GdkDNDEvent

typedef struct _GdkDNDEvent GdkDNDEvent;

An event related to drag and drop operations.


GdkTouchEvent

typedef struct _GdkTouchEvent GdkTouchEvent;

An event related to a touch-based device.


GdkTouchpadEvent

typedef struct _GdkTouchpadEvent GdkTouchpadEvent;

An event related to a touchpad device.


GdkPadEvent

typedef struct _GdkPadEvent GdkPadEvent;

An event related to a pad-based device.


GdkProximityEvent

typedef struct _GdkProximityEvent GdkProximityEvent;

An event related to the proximity of a tool to a device.