Event

Description This section describes functions dealing with events from the window system. In GTK+ applications the events are handled automatically in gtk_main_do_event() and passed on to the appropriate widgets, so these functions are rarely needed. Though some of the fields in the Event Structures are useful.

Constructors

this
this(GdkEvent* gdkEvent)

Sets our main struct and passes it to the parent class

this
this(GdkEventType type)

Creates a new event of the given type. All fields are set to 0. Since 2.2

Members

Functions

copy
Event copy()

Copies a GdkEvent, copying or incrementing the reference count of the resources associated with it (e.g. GdkWindow's and strings).

free
void free()

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_get_graphics_expose() and gdk_event_copy() and gdk_event_new().

getAxis
int getAxis(GdkAxisUse axisUse, double value)

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

getCoords
int getCoords(double xWin, double yWin)

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

getEventStruct
GdkEvent* getEventStruct()
Undocumented in source. Be warned that the author may not have intended to support it.
getRootCoords
int getRootCoords(double xRoot, double yRoot)

Extract the root window relative x/y coordinates from an event.

getScreen
Screen getScreen()

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. Since 2.2

getState
int getState(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.

getStruct
void* getStruct()

the main Gtk struct as a void*

getTime
uint getTime()

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

put
void put()

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

sendClientMessage
int sendClientMessage(GdkNativeWindow winid)

Sends an X ClientMessage event to a given window (which must be on the default GdkDisplay.) This could be used for communicating between different applications, though the amount of data is limited to 20 bytes.

sendClientmessageToall
void sendClientmessageToall()

Sends an X ClientMessage event to all toplevel windows on the default GdkScreen. Toplevel windows are determined by checking for the WM_STATE property, as described in the Inter-Client Communication Conventions Manual (ICCCM). If no windows are found with the WM_STATE property set, the message is sent to all children of the root window.

setScreen
void setScreen(Screen 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

Static functions

gdkAddClientMessageFilter
void gdkAddClientMessageFilter(GdkAtom messageType, GdkFilterFunc func, void* data)

Adds a filter to the default display to be called when X ClientMessage events are received. See gdk_display_add_client_message_filter().

gdkEventsPending
int gdkEventsPending()

Checks if any events are ready to be processed for any display.

gdkGetShowEvents
int gdkGetShowEvents()

Gets whether event debugging output is enabled.

gdkSetShowEvents
void gdkSetShowEvents(int showEvents)

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.

gdkSettingGet
int gdkSettingGet(string name, Value value)

Obtains a desktop-wide setting, such as the double-click time, for the default screen. See gdk_screen_get_setting().

get
Event get()

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

getGraphicsExpose
Event getGraphicsExpose(Window window)

Warning gdk_event_get_graphics_expose has been deprecated since version 2.18 and should not be used in newly-written code. Waits for a GraphicsExpose or NoExpose event from the X server. This is used in the GtkText and GtkCList widgets in GTK+ to make sure any GraphicsExpose events are handled before the widget is scrolled.

handlerSet
void handlerSet(GdkEventFunc func, void* 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+.)

isDoubleClick
bool isDoubleClick(GdkEventButton* eventButton, int buttonNumber)
isTripleClick
bool isTripleClick(GdkEventButton* eventButton, int buttonNumber)
peek
Event peek()

If there is an event waiting in the event queue of some open display, returns a copy of it. See gdk_display_peek_event().

requestMotions
void requestMotions(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 Since 2.12

sendClientMessageForDisplay
int sendClientMessageForDisplay(Display display, Event event, GdkNativeWindow winid)

On X11, sends an X ClientMessage event to a given window. On Windows, sends a message registered with the name GDK_WIN32_CLIENT_MESSAGE. This could be used for communicating between different applications, though the amount of data is limited to 20 bytes on X11, and to just four bytes on Windows. Since 2.2

Variables

gdkEvent
GdkEvent* gdkEvent;

the main Gtk struct

Meta