summaryrefslogtreecommitdiff
path: root/packages/gtk2/src/gtk+/gdk/gdkinput.inc
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gtk2/src/gtk+/gdk/gdkinput.inc')
-rw-r--r--packages/gtk2/src/gtk+/gdk/gdkinput.inc154
1 files changed, 154 insertions, 0 deletions
diff --git a/packages/gtk2/src/gtk+/gdk/gdkinput.inc b/packages/gtk2/src/gtk+/gdk/gdkinput.inc
new file mode 100644
index 0000000000..482462791d
--- /dev/null
+++ b/packages/gtk2/src/gtk+/gdk/gdkinput.inc
@@ -0,0 +1,154 @@
+// included by gdk2.pp
+
+{$IFDEF read_forward_definitions}
+ PGdkDevice = ^TGdkDevice;
+ PGdkTimeCoord = ^TGdkTimeCoord;
+ PPGdkTimeCoord = ^PGdkTimeCoord;
+{$ENDIF read_forward_definitions}
+
+//------------------------------------------------------------------------------
+
+{$IFDEF read_interface_types}
+ PGdkExtensionMode = ^TGdkExtensionMode;
+ TGdkExtensionMode = (
+ GDK_EXTENSION_EVENTS_NONE,
+ GDK_EXTENSION_EVENTS_ALL,
+ GDK_EXTENSION_EVENTS_CURSOR
+ );
+
+ PGdkInputSource = ^TGdkInputSource;
+ TGdkInputSource = (
+ GDK_SOURCE_MOUSE,
+ GDK_SOURCE_PEN,
+ GDK_SOURCE_ERASER,
+ GDK_SOURCE_CURSOR
+ );
+
+ PGdkInputMode = ^TGdkInputMode;
+ TGdkInputMode = (
+ GDK_MODE_DISABLED,
+ GDK_MODE_SCREEN,
+ GDK_MODE_WINDOW
+ );
+
+ PGdkAxisUse = ^TGdkAxisUse;
+ TGdkAxisUse = longint;
+
+ PGdkDeviceKey = ^TGdkDeviceKey;
+ TGdkDeviceKey = record
+ keyval : guint;
+ modifiers : TGdkModifierType;
+ end;
+
+ PGdkDeviceAxis = ^TGdkDeviceAxis;
+ TGdkDeviceAxis = record
+ use : TGdkAxisUse;
+ min : gdouble;
+ max : gdouble;
+ end;
+
+{ All fields are read-only }
+{ TRUE if the X pointer follows device motion }
+ TGdkDevice = record
+ parent_instance : TGObject;
+ name : Pgchar;
+ source : TGdkInputSource;
+ mode : TGdkInputMode;
+ has_cursor : gboolean;
+ num_axes : gint;
+ axes : PGdkDeviceAxis;
+ num_keys : gint;
+ keys : PGdkDeviceKey;
+ end;
+
+{ We don't allocate each coordinate this big, but we use it to
+ be ANSI compliant and avoid accessing past the defined limits.
+ }
+
+ TGdkTimeCoord = record
+ time : guint32;
+ axes : array[0..(GDK_MAX_TIMECOORD_AXES)-1] of gdouble;
+ end;
+
+{$ENDIF read_interface_types}
+
+//------------------------------------------------------------------------------
+
+{$IFDEF read_interface_rest}
+const
+ GDK_AXIS_IGNORE = 0;
+ GDK_AXIS_X = 1;
+ GDK_AXIS_Y = 2;
+ GDK_AXIS_PRESSURE = 3;
+ GDK_AXIS_XTILT = 4;
+ GDK_AXIS_YTILT = 5;
+ GDK_AXIS_WHEEL = 6;
+ GDK_AXIS_LAST = 7;
+
+
+function GDK_TYPE_DEVICE : GType;
+function GDK_DEVICE(anObject : Pointer) : PGdkDevice;
+function GDK_DEVICE_CLASS(klass : Pointer) : PGdkDeviceClass;
+function GDK_IS_DEVICE(anObject : Pointer) : boolean;
+function GDK_IS_DEVICE_CLASS(klass : Pointer) : boolean;
+function GDK_DEVICE_GET_CLASS(obj : Pointer) : PGdkDeviceClass;
+
+
+function gdk_device_get_type:GType; cdecl; external gdklib;
+
+{$ifndef GDK_MULTIHEAD_SAFE}
+{ Returns a list of GdkDevice }
+function gdk_devices_list:PGList; cdecl; external gdklib;
+{$endif}
+{ GDK_MULTIHEAD_SAFE }
+
+
+{ Functions to configure a device }
+
+procedure gdk_device_set_source(device:PGdkDevice; source:TGdkInputSource); cdecl; external gdklib;
+function gdk_device_set_mode(device:PGdkDevice; mode:TGdkInputMode):gboolean; cdecl; external gdklib;
+procedure gdk_device_set_key(device:PGdkDevice; index:guint; keyval:guint; modifiers:TGdkModifierType); cdecl; external gdklib;
+procedure gdk_device_set_axis_use(device:PGdkDevice; index:guint; use:TGdkAxisUse); cdecl; external gdklib;
+procedure gdk_device_get_state(device:PGdkDevice; window:PGdkWindow; axes:Pgdouble; mask:PGdkModifierType); cdecl; external gdklib;
+function gdk_device_get_history(device:PGdkDevice; window:PGdkWindow; start:guint32; stop:guint32; var events:PPGdkTimeCoord;
+ n_events:Pgint):gboolean; cdecl; external gdklib;
+procedure gdk_device_free_history(events:PPGdkTimeCoord; n_events:gint); cdecl; external gdklib;
+function gdk_device_get_axis(device:PGdkDevice; axes:Pgdouble; use:TGdkAxisUse; value:Pgdouble):gboolean; cdecl; external gdklib;
+procedure gdk_input_set_extension_events(window:PGdkWindow; mask:gint; mode:TGdkExtensionMode); cdecl; external gdklib;
+function gdk_device_get_core_pointer:PGdkDevice; cdecl; external gdklib;
+{$endif read_interface_rest}
+
+//------------------------------------------------------------------------------
+
+{$IFDEF read_implementation}
+function GDK_TYPE_DEVICE : GType;
+begin
+ GDK_TYPE_DEVICE:=gdk_device_get_type;
+end;
+
+function GDK_DEVICE(anObject : Pointer) : PGdkDevice;
+begin
+ GDK_DEVICE:=PGdkDevice(G_TYPE_CHECK_INSTANCE_CAST(anObject,GDK_TYPE_DEVICE));
+end;
+
+function GDK_DEVICE_CLASS(klass : Pointer) : PGdkDeviceClass;
+begin
+ GDK_DEVICE_CLASS:=PGdkDeviceClass(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_DEVICE));
+end;
+
+function GDK_IS_DEVICE(anObject : Pointer) : boolean;
+begin
+ GDK_IS_DEVICE:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,GDK_TYPE_DEVICE);
+end;
+
+function GDK_IS_DEVICE_CLASS(klass : Pointer) : boolean;
+begin
+ GDK_IS_DEVICE_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_DEVICE);
+end;
+
+function GDK_DEVICE_GET_CLASS(obj : Pointer) : PGdkDeviceClass;
+begin
+ GDK_DEVICE_GET_CLASS:=PGdkDeviceClass(G_TYPE_INSTANCE_GET_CLASS(obj,GDK_TYPE_DEVICE));
+end;
+{$ENDIF}
+