Gdk::Event Class Reference

## Public Member Functions

| Event ()
| Event (GdkEvent* gobject, bool make_a_copy=true)
| Event (const Event& other)
Event& | operator= (const Event& other)
| Event (Event&& other) noexcept
Event& | operator= (Event&& other) noexcept
| ~Event () noexcept
void | swap (Event& other) noexcept
GdkEvent* | gobj ()
| Provides access to the underlying C instance. More...
const GdkEvent* | gobj () const
| Provides access to the underlying C instance. More...
GdkEvent* | gobj_copy () const
| Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. More...
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 `nullptr`. More...
guint32 | get_time () const
| Returns the time stamp from event, if there is one; otherwise returns Gdk::CURRENT_TIME. More...
bool | get_state (ModifierType& state) const
| If the event contains a "state" field, puts that field in state. More...
bool | get_coords (double& x_win, double& y_win) const
| Extract the event window relative x/y coordinates from an event. More...
bool | get_root_coords (double& x_root, double& y_root) const
| Extract the root window relative x/y coordinates from an event. More...
bool | get_axis (AxisUse axis_use, double& value) const
| Extract the axis value for a particular axis use from an event structure. More...
void | set_screen (const Glib::RefPtr< Screen >& screen)
| Sets the screen for event to screen. More...
Glib::RefPtr< Screen > | get_screen ()
| Returns the screen for the event. More...
Glib::RefPtr< const Screen > | get_screen () const
| Returns the screen for the event. More...
bool | send_client_message (NativeWindow winid)
| Sends an X ClientMessage event to a given window (which must be on the default Gdk::Display.) This could be used for communicating between different applications, though the amount of data is limited to 20 bytes. More...
bool | send_client_message (const Glib::RefPtr< Display >& display, NativeWindow winid)

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static Event | get ()
| Checks all open displays for a Gdk::Event to process,to be processed on, fetching events from the windowing system if necessary. More...
static Event | peek ()
| If there is an event waiting in the event queue of some open display, returns a copy of it. More...
static Event | get_graphics_expose (const Glib::RefPtr< Window >& window)
| Waits for a GraphicsExpose or NoExpose event from the X server. More...
static bool | events_pending ()
| Checks if any events are ready to be processed for any display. More...
static void | set_show_events (bool show_events)
| Sets whether a trace of received events is output. More...
static bool | get_show_events ()
| Gets whether event debugging output is enabled. More...

## Protected Attributes

GdkEvent* | gobject_

## Related Functions

(Note that these are not member functions.)
void | swap (Event& lhs, Event& rhs) noexcept
Gdk::Event | wrap (GdkEvent* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Constructor & Destructor Documentation

Gdk::Event::Event | ( |  | ) |

Gdk::Event::Event | ( | GdkEvent * | gobject,
|  | bool | make_a_copy = `true`
| ) |  |

explicit

Gdk::Event::Event | ( | const Event& | other | ) |

Gdk::Event::Event | ( | Event&& | other | ) |

noexcept

Gdk::Event::~Event | ( |  | ) |

noexcept

## Member Function Documentation

static bool Gdk::Event::events_pending | ( |  | ) |

static

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

Returns
  `true` if any events are pending.

static Event Gdk::Event::get | ( |  | ) |

static

Checks all open displays for a Gdk::Event to process,to be processed on, fetching events from the windowing system if necessary.

See Gdk::Display::get_event().

Returns
  The next Gdk::Event to be processed, or `nullptr` if no events are pending. The returned Gdk::Event should be freed with free().

bool Gdk::Event::get_axis | ( | AxisUse | axis_use,
|  | double & | value
| ) |  | const

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

Parameters

  axis_use | The axis use to look for.
  value | Location to store the value found.

Returns
  `true` if the specified axis was found, otherwise `false`.

bool Gdk::Event::get_coords | ( | double & | x_win,
|  | double & | y_win
| ) |  | const

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

Parameters

  x_win | Location to put event window x coordinate.
  y_win | Location to put event window y coordinate.

Returns
  `true` if the event delivered event window coordinates.

static Event Gdk::Event::get_graphics_expose | ( | const Glib::RefPtr< Window >& | window | ) |

static

Waits for a GraphicsExpose or NoExpose event from the X server.

This is used in the Gtk::Text and Gtk::CList widgets in GTK+ to make sure any GraphicsExpose events are handled before the widget is scrolled.

Deprecated: 2.18:

Parameters

  window | The Gdk::Window to wait for the events for.

Returns
  A Gdk::EventExpose if a GraphicsExpose was received, or `nullptr` if a NoExpose event was received.

bool Gdk::Event::get_root_coords | ( | double & | x_root,
|  | double & | y_root
| ) |  | const

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

Parameters

  x_root | Location to put root window x coordinate.
  y_root | Location to put root window y coordinate.

Returns
  `true` if the event delivered root window coordinates.

Glib::RefPtr<Screen> Gdk::Event::get_screen | ( |  | ) |

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 gtkmm 2.2:

Returns
  The screen for the event.

Glib::RefPtr<const Screen> Gdk::Event::get_screen | ( |  | ) | const

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 gtkmm 2.2:

Returns
  The screen for the event.

static bool Gdk::Event::get_show_events | ( |  | ) |

static

Gets whether event debugging output is enabled.

Returns
  `true` if event debugging output is enabled.

bool Gdk::Event::get_state | ( | ModifierType& | state | ) | const

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 `nullptr`, in which case it's treated as if the event had no state field.

Parameters

  state | Return location for state.

Returns
  `true` if there was a state field in the event.

guint32 Gdk::Event::get_time | ( |  | ) | const

Returns the time stamp from event, if there is one; otherwise returns Gdk::CURRENT_TIME.

If event is `nullptr`, returns Gdk::CURRENT_TIME.

Returns
  Time stamp field from event.

static GType Gdk::Event::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

GdkEvent* Gdk::Event::gobj | ( |  | ) |

inline

Provides access to the underlying C instance.

const GdkEvent* Gdk::Event::gobj | ( |  | ) | const

inline

Provides access to the underlying C instance.

GdkEvent* Gdk::Event::gobj_copy | ( |  | ) | const

Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.

Event& Gdk::Event::operator= | ( | const Event& | other | ) |

Event& Gdk::Event::operator= | ( | Event&& | other | ) |

noexcept

static Event Gdk::Event::peek | ( |  | ) |

static

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

See Gdk::Display::peek_event().

Returns
  A copy of the first Gdk::Event on some event queue, or `nullptr` if no events are in any queues. The returned Gdk::Event should be freed with free().

void Gdk::Event::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 `nullptr`.

See Gdk::Display::put_event().

bool Gdk::Event::send_client_message | ( | NativeWindow | winid | ) |

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

Parameters

  winid | The window to send the X ClientMessage event to.

Returns
  Non-zero on success.

bool Gdk::Event::send_client_message | ( | const Glib::RefPtr< Display >& | display,
|  | NativeWindow | winid
| ) |  |

void Gdk::Event::set_screen | ( | const Glib::RefPtr< Screen >& | screen | ) |

Sets the screen for event to screen.

The event must have been allocated by GTK+, for instance, by copy().

Since gtkmm 2.2:

Parameters

  screen | A Gdk::Screen.

static void Gdk::Event::set_show_events | ( | bool | show_events | ) |

static

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.

Parameters

  show_events | `true` to output event debugging information.

void Gdk::Event::swap | ( | Event& | other | ) |

noexcept

## Friends And Related Function Documentation

void swap | ( | Event& | lhs,
|  | Event& | rhs
| ) |  |

related

Parameters

  lhs | The left-hand side
  rhs | The right-hand side

Gdk::Event wrap | ( | GdkEvent * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.

## Member Data Documentation

GdkEvent* Gdk::Event::gobject_

protected

The documentation for this class was generated from the following file:

- gdkmm/event.h