! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.c-types alien.destructors alien.libraries
alien.syntax cairo.ffi classes.struct combinators
-gobject-introspection kernel system vocabs.loader ;
+gobject-introspection gobject-introspection.standard-types
+kernel system vocabs.loader ;
IN: gdk.ffi
<<
} cond
>>
-IMPLEMENT-STRUCTS: GdkEventAny GdkEventKey GdkEventButton
-GdkEventScroll GdkEventMotion GdkEventExpose GdkEventVisibility
-GdkEventCrossing GdkEventFocus GdkEventConfigure GdkEventProperty
-GdkEventSelection GdkEventDND GdkEventProximity GdkEventClient
-GdkEventNoExpose GdkEventWindowState GdkEventSetting
-GdkEventOwnerChange GdkEventGrabBroken GdkRectangle ;
-
! <workaround these types are from cairo 1.10
STRUCT: cairo_rectangle_int_t
{ x int } { y int } { width int } { height int } ;
GIR: vocab:gdk/Gdk-3.0.gir
DESTRUCTOR: gdk_cursor_unref
+
+STRUCT: GdkEventButton
+ { type GdkEventType }
+ { window GdkWindow* }
+ { send_event gint8 }
+ { time guint32 }
+ { x gdouble }
+ { y gdouble }
+ { axes* gdouble }
+ { state guint }
+ { button guint }
+ { device GdkDevice* }
+ { x_root gdouble }
+ { y_root gdouble } ;
+
+STRUCT: GdkEventConfigure
+ { type GdkEventType }
+ { window GdkWindow* }
+ { send_event gint8 }
+ { x gint }
+ { y gint }
+ { width gint }
+ { height gint } ;
+
+STRUCT: GdkEventKey
+ { type GdkEventType }
+ { window GdkWindow* }
+ { send_event gint8 }
+ { time guint32 }
+ { state guint }
+ { keyval guint }
+ { length gint }
+ { string gchar* }
+ { hardware_keycode guint16 }
+ { group guint8 }
+ { is_modifier uint bits: 1 } ;
+
+STRUCT: GdkEventMotion
+ { type GdkEventType }
+ { window GdkWindow* }
+ { send_event gint8 }
+ { time guint32 }
+ { x gdouble }
+ { y gdouble }
+ { axes gdouble* }
+ { state guint }
+ { is_hint gint16 }
+ { device GdkDevice* }
+ { x_root gdouble }
+ { y_root gdouble } ;
+
+STRUCT: GdkEventScroll
+ { type GdkEventType }
+ { window GdkWindow* }
+ { send_event gint8 }
+ { time guint32 }
+ { x gdouble }
+ { y gdouble }
+ { state guint }
+ { direction GdkScrollDirection }
+ { device GdkDevice* }
+ { x_root gdouble }
+ { y_root gdouble } ;