Sets our main struct and passes it to the parent class.
Creates a new event of the given type. All fields are set to 0.
Get a specific event.
Copies a #GdkEvent, copying or incrementing the reference count of the resources associated with it (e.g. #GdkWindow’s and strings).
Get a specific event.
Frees a #GdkEvent, freeing or decrementing any resources associated with it. Note that this function should only be called with events returned from functions such as gdk_event_peek(), gdk_event_get(), gdk_event_copy() and gdk_event_new().
Extract the axis value for a particular axis use from an event structure.
Extract the button number from an event.
Extracts the click count from an event.
Extract the event window relative x/y coordinates from an event.
If the event contains a “device” field, this function will return it, else it will return %NULL.
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.
If @event if of type %GDK_TOUCH_BEGIN, %GDK_TOUCH_UPDATE, %GDK_TOUCH_END or %GDK_TOUCH_CANCEL, returns the #GdkEventSequence to which the event belongs. Otherwise, return %NULL.
Get the main Gtk struct
Retrieves the type of the event.
Extracts the hardware keycode from an event.
Extracts the keyval from an event.
#event: a #GdkEvent Returns whether this event is an 'emulated' pointer event (typically from a touch event), as opposed to a real one.
Extract the root window relative x/y coordinates from an event.
Gets the keyboard low-level scancode of a key 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.
Retrieves the scroll deltas from a #GdkEvent
Extracts the scroll direction from an event.
Returns the #GdkSeat this event was generated for.
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 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.
the main Gtk struct as a void*
Returns the time stamp from @event, if there is one; otherwise returns #GDK_CURRENT_TIME. If @event is %NULL, returns #GDK_CURRENT_TIME.
Extracts the #GdkWindow associated with an event.
Get a specific 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.
Get a specific 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().
Get a specific event.
Sets the device for @event to @device. The event must have been allocated by GTK+, for instance, by gdk_event_copy().
Sets the device tool for this event, should be rarely used.
Sets the screen for @event to @screen. The event must have been allocated by GTK+, for instance, by gdk_event_copy().
Sets the slave device for @event to @device.
Get a specific 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.
Specifies the type of the event.
Get a specific event.
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().
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.
If both events contain X/Y information, the center of both coordinates will be returned in @x and @y.
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.
Gets whether event debugging output is enabled.
Sets the function to call to handle all events from GDK.
If there is an event waiting in the event queue of some open display, returns a copy of it. See gdk_display_peek_event().
Checks if any events are ready to be processed for any display.
Request more motion notifies if @event is a motion notify hint event.
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.
Obtains a desktop-wide setting, such as the double-click time, for the default screen. See gdk_screen_get_setting().
A #GdkEvent contains a union of all of the event types, and allows access to the data fields in a number of ways.
The event type is always the first field in all of the event types, and can always be accessed with the following code, no matter what type of event it is: |[<!-- language="C" --> GdkEvent *event; GdkEventType type;
type = event->type; ]|
To access other fields of the event, the pointer to the event can be cast to the appropriate event type, or the union member name can be used. For example if the event type is %GDK_BUTTON_PRESS then the x coordinate of the button press can be accessed with: |[<!-- language="C" --> GdkEvent *event; gdouble x;
x = ((GdkEventButton*)event)->x; ]| or: |[<!-- language="C" --> GdkEvent *event; gdouble x;
x = event->button.x; ]|