## Event Structures

Event Structures

## Types and Values

union | GdkEvent
struct | GdkEventAny
struct | GdkEventKey
struct | GdkEventButton
struct | GdkEventScroll
struct | GdkEventMotion
struct | GdkEventExpose
struct | GdkEventVisibility
struct | GdkEventCrossing
struct | GdkEventFocus
struct | GdkEventConfigure
struct | GdkEventProperty
struct | GdkEventSelection
typedef | GdkNativeWindow
struct | GdkEventDND
struct | GdkEventProximity
struct | GdkEventClient
struct | GdkEventNoExpose
struct | GdkEventWindowState
struct | GdkEventSetting
struct | GdkEventOwnerChange
struct | GdkEventGrabBroken
enum | GdkScrollDirection
enum | GdkVisibilityState
enum | GdkCrossingMode
enum | GdkNotifyType
enum | GdkPropertyState
enum | GdkWindowState
enum | GdkSettingAction
enum | GdkOwnerChange

## Includes

    #include <gdk/gdk.h>

## Description

## Functions

## Types and Values

### union GdkEvent

### struct GdkEventAny

    struct GdkEventAny {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
    };

### struct GdkEventKey

    struct GdkEventKey {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      guint32 time;
      guint state;
      guint keyval;
      gint length;
      gchar *string;
      guint16 hardware_keycode;
      guint8 group;
      guint is_modifier : 1;
    };

### struct GdkEventButton

    struct GdkEventButton {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      guint32 time;
      gdouble x;
      gdouble y;
      gdouble *axes;
      guint state;
      guint button;
      GdkDevice *device;
      gdouble x_root, y_root;
    };

### struct GdkEventScroll

    struct GdkEventScroll {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      guint32 time;
      gdouble x;
      gdouble y;
      guint state;
      GdkScrollDirection direction;
      GdkDevice *device;
      gdouble x_root, y_root;
    };

### struct GdkEventMotion

    struct GdkEventMotion {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      guint32 time;
      gdouble x;
      gdouble y;
      gdouble *axes;
      guint state;
      gint16 is_hint;
      GdkDevice *device;
      gdouble x_root, y_root;
    };

### struct GdkEventExpose

    struct GdkEventExpose {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkRectangle area;
      GdkRegion *region;
      gint count; /* If non-zero, how many more events follow. */
    };

### struct GdkEventVisibility

    struct GdkEventVisibility {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkVisibilityState state;
    };

### struct GdkEventCrossing

    struct GdkEventCrossing {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkWindow *subwindow;
      guint32 time;
      gdouble x;
      gdouble y;
      gdouble x_root;
      gdouble y_root;
      GdkCrossingMode mode;
      GdkNotifyType detail;
      gboolean focus;
      guint state;
    };

### struct GdkEventFocus

    struct GdkEventFocus {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      gint16 in;
    };

### struct GdkEventConfigure

    struct GdkEventConfigure {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      gint x, y;
      gint width;
      gint height;
    };

### struct GdkEventProperty

    struct GdkEventProperty {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkAtom atom;
      guint32 time;
      guint state;
    };

### struct GdkEventSelection

    struct GdkEventSelection {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkAtom selection;
      GdkAtom target;
      GdkAtom property;
      guint32 time;
      GdkNativeWindow requestor;
    };

### GdkNativeWindow

    typedef gpointer GdkNativeWindow;

### struct GdkEventDND

    struct GdkEventDND {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkDragContext *context;

      guint32 time;
      gshort x_root, y_root;
    };

### struct GdkEventProximity

    struct GdkEventProximity {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      guint32 time;
      GdkDevice *device;
    };

### struct GdkEventClient

    struct GdkEventClient {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkAtom message_type;
      gushort data_format;
      union {
        char b[20];
        short s[10];
        long l[5];
      } data;
    };

### struct GdkEventNoExpose

    struct GdkEventNoExpose {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
    };

### struct GdkEventWindowState

    struct GdkEventWindowState {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkWindowState changed_mask;
      GdkWindowState new_window_state;
    };

### struct GdkEventSetting

    struct GdkEventSetting {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkSettingAction action;
      char *name;
    };

### struct GdkEventOwnerChange

    struct GdkEventOwnerChange {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      GdkNativeWindow owner;
      GdkOwnerChange reason;
      GdkAtom selection;
      guint32 time;
      guint32 selection_time;
    };

### struct GdkEventGrabBroken

    struct GdkEventGrabBroken {
      GdkEventType type;
      GdkWindow *window;
      gint8 send_event;
      gboolean keyboard;
      gboolean implicit;
      GdkWindow *grab_window;
    };

### enum GdkScrollDirection

#### Members

GDK_SCROLL_UP |  |
GDK_SCROLL_DOWN |  |
GDK_SCROLL_LEFT |  |
GDK_SCROLL_RIGHT |  |

### enum GdkVisibilityState

#### Members

GDK_VISIBILITY_UNOBSCURED |  |
GDK_VISIBILITY_PARTIAL |  |
GDK_VISIBILITY_FULLY_OBSCURED |  |

### enum GdkCrossingMode

#### Members

GDK_CROSSING_NORMAL |  |
GDK_CROSSING_GRAB |  |
GDK_CROSSING_UNGRAB |  |
GDK_CROSSING_GTK_GRAB |  |
GDK_CROSSING_GTK_UNGRAB |  |
GDK_CROSSING_STATE_CHANGED |  |

### enum GdkNotifyType

#### Members

GDK_NOTIFY_ANCESTOR |  |
GDK_NOTIFY_VIRTUAL |  |
GDK_NOTIFY_INFERIOR |  |
GDK_NOTIFY_NONLINEAR |  |
GDK_NOTIFY_NONLINEAR_VIRTUAL |  |
GDK_NOTIFY_UNKNOWN |  |

### enum GdkPropertyState

#### Members

GDK_PROPERTY_NEW_VALUE |  |
GDK_PROPERTY_DELETE |  |

### enum GdkWindowState

#### Members

GDK_WINDOW_STATE_WITHDRAWN |  |
GDK_WINDOW_STATE_ICONIFIED |  |
GDK_WINDOW_STATE_MAXIMIZED |  |
GDK_WINDOW_STATE_STICKY |  |
GDK_WINDOW_STATE_FULLSCREEN |  |
GDK_WINDOW_STATE_ABOVE |  |
GDK_WINDOW_STATE_BELOW |  |

### enum GdkSettingAction

#### Members

GDK_SETTING_ACTION_NEW |  |
GDK_SETTING_ACTION_CHANGED |  |
GDK_SETTING_ACTION_DELETED |  |

### enum GdkOwnerChange

#### Members

GDK_OWNER_CHANGE_NEW_OWNER |  |
GDK_OWNER_CHANGE_DESTROY |  |
GDK_OWNER_CHANGE_CLOSE |  |