123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- {%MainUnit ../gdk2x.pas}
- {$IFDEF read_forward_definitions}
- PPPGdkTimeCoord = ^PPGdkTimeCoord;
- {$ENDIF read_forward_definitions}
- {$IFDEF read_interface_rest}
- type
- { information about a device axis }
- { reported x resolution }
- { reported x minimum/maximum values }
- { calibrated resolution (for aspect ration) - only relative values
- between axes used }
- { calibrated minimum/maximum values }
- PGdkAxisInfo = ^TGdkAxisInfo;
- TGdkAxisInfo = record
- xresolution : gint;
- xmin_value : gint;
- xmax_value : gint;
- resolution : gint;
- min_value : gint;
- max_value : gint;
- end;
- const
- GDK_INPUT_NUM_EVENTC = 6;
- {$ifndef XINPUT_NONE}
- { information about the axes }
- { Information about XInput device }
- { minimum key code for device }
- { true if we need to select a different set of events, but
- can't because this is the core pointer }
- { Mask of buttons (used for button grabs) }
- { true if we've claimed the device as active. (used only for XINPUT_GXI) }
- {$endif}
- { !XINPUT_NONE }
- type
- PGdkDevicePrivate = ^TGdkDevicePrivate;
- TGdkDevicePrivate = record
- info : TGdkDevice;
- deviceid : guint32;
- display : PGdkDisplay;
- axes : PGdkAxisInfo;
- xdevice : Pointer; // PXDevice;
- min_keycode : gint;
- buttonpress_type : longint;
- buttonrelease_type : longint;
- keypress_type : longint;
- keyrelease_type : longint;
- motionnotify_type : longint;
- proximityin_type : longint;
- proximityout_type : longint;
- changenotify_type : longint;
- needs_update : gint;
- button_state : gint;
- claimed : gint;
- end;
- P_GdkDeviceClass = ^T_GdkDeviceClass;
- T_GdkDeviceClass = record
- parent_class : TGObjectClass;
- end;
- { gdk window }
- { Extension mode (GDK_EXTENSION_EVENTS_ALL/CURSOR) }
- { position relative to root window }
- { rectangles relative to window of windows obscuring this one }
- { Is there a pointer grab for this window ? }
- PGdkInputWindow = ^TGdkInputWindow;
- TGdkInputWindow = record
- window : PGdkWindow;
- mode : TGdkExtensionMode;
- root_x : gint;
- root_y : gint;
- obscuring : PGdkRectangle;
- num_obscuring : gint;
- grabbed : gint;
- end;
-
- { Global data }
- // Private function GDK_IS_CORE(d : pointer) : boolean;
- { Function declarations }
- function gdk_input_window_find(window:PGdkWindow):PGdkInputWindow;cdecl;external;
- procedure gdk_input_window_destroy(window:PGdkWindow);cdecl;external;
- function _gdk_device_allocate_history(device:PGdkDevice; n_events:gint):PPGdkTimeCoord;cdecl;external;
- procedure _gdk_init_input_core;cdecl;external;
- { The following functions are provided by each implementation
- (xfree, gxi, and none)
- }
- function _gdk_input_enable_window(window:PGdkWindow; gdkdev:PGdkDevicePrivate):gint;cdecl;external;
- function _gdk_input_disable_window(window:PGdkWindow; gdkdev:PGdkDevicePrivate):gint;cdecl;external;
- function _gdk_input_window_none_event(event:PGdkEvent; xevent:PXEvent):gint;cdecl;external;
- procedure _gdk_input_configure_event(xevent:PXConfigureEvent; window:PGdkWindow);cdecl;external;
- procedure _gdk_input_enter_event(xevent:PXCrossingEvent; window:PGdkWindow);cdecl;external;
- function _gdk_input_other_event(event:PGdkEvent; xevent:PXEvent; window:PGdkWindow):gint;cdecl;external;
- function _gdk_input_grab_pointer(window:PGdkWindow; owner_events:gint; event_mask:TGdkEventMask; confine_to:PGdkWindow; time:guint32):gint;cdecl;external;
- procedure _gdk_input_ungrab_pointer(display:PGdkDisplay; time:guint32);cdecl;external;
- function _gdk_device_get_history(device:PGdkDevice; window:PGdkWindow; start:guint32; stop:guint32; events:PPPGdkTimeCoord;
- n_events:Pgint):gboolean;cdecl;external;
- {$ifndef XINPUT_NONE}
- const
- GDK_MAX_DEVICE_CLASSES = 13;
- function gdk_input_common_init(display:PGdkDisplay; include_core:gint):gint;cdecl;external;
- function gdk_input_find_device(display:PGdkDisplay; id:guint32):PGdkDevicePrivate;cdecl;external;
- procedure gdk_input_get_root_relative_geometry(display:PDisplay; w:TWindow; x_ret:Plongint; y_ret:Plongint; width_ret:Plongint;
- height_ret:Plongint);cdecl;external;
- procedure gdk_input_common_find_events(window:PGdkWindow; gdkdev:PGdkDevicePrivate; mask:gint; classes:Pointer {PXEventClass}; num_classes:Plongint);cdecl;external;
- procedure gdk_input_common_select_events(window:PGdkWindow; gdkdev:PGdkDevicePrivate);cdecl;external;
- function gdk_input_common_other_event(event:PGdkEvent; xevent:PXEvent; input_window:PGdkInputWindow; gdkdev:PGdkDevicePrivate):gint;cdecl;external;
- {$endif}
- {$ENDIF read_interface_rest}
- //------------------------------------------------------------------------------
- {$IFDEF read_implementation}
- { Private
- function GDK_IS_CORE(d : pointer) : boolean;
- begin
- GDK_IS_CORE:= (PGdkDevice(d)) = _gdk_core_pointer;
- end;}
- {$ENDIF read_implementation}
|