From 94e890a2cdf4592ee6301797e6e64f9cf4e84609 Mon Sep 17 00:00:00 2001 From: nickysn Date: Tue, 3 May 2016 22:29:57 +0000 Subject: [PATCH] + added data structures and functions for the X11 generic events extension git-svn-id: trunk@33645 - --- packages/x11/src/xlib.pp | 41 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/packages/x11/src/xlib.pp b/packages/x11/src/xlib.pp index e393e7a87a..d125b6f7cd 100644 --- a/packages/x11/src/xlib.pp +++ b/packages/x11/src/xlib.pp @@ -802,6 +802,33 @@ type window : TWindow; end; + (*************************************************************** + * + * GenericEvent. This event is the standard event for all newer extensions. + *) + + PXGenericEvent = ^TXGenericEvent; + TXGenericEvent = record + _type: cint; { of event. Always GenericEvent } + serial: culong; { # of last request processed } + send_event: TBool; { true if from SendEvent request } + display: PDisplay; { Display the event was read from } + extension: cint; { major opcode of extension that caused the event } + evtype: cint; { actual event type. } + end; + + PXGenericEventCookie = ^TXGenericEventCookie; + TXGenericEventCookie = record + _type: cint; { of event. Always GenericEvent } + serial: culong; { # of last request processed } + send_event: TBool; { true if from SendEvent request } + display: PDisplay; { Display the event was read from } + extension: cint; { major opcode of extension that caused the event } + evtype: cint; { actual event type. } + cookie: cuint; + data: pointer; + end; + PXEvent = ^TXEvent; TXEvent = record case longint of @@ -837,7 +864,9 @@ type 29 : ( xmapping : TXMappingEvent ); 30 : ( xerror : TXErrorEvent ); 31 : ( xkeymap : TXKeymapEvent ); - 32 : ( pad : array[0..23] of clong ); + 32 : ( xgeneric : TXGenericEvent ); + 33 : ( xcookie : TXGenericEventCookie ); + 34 : ( pad : array[0..23] of clong ); end; type @@ -1767,6 +1796,16 @@ procedure XSetAuthorization(para1:Pchar; para2:cint; para3:Pchar; para4:cint);cd _Xwctomb? } +function XGetEventData( + dpy: PDisplay; + cookie: PXGenericEventCookie +): TBoolResult;cdecl;external libX11; + +procedure XFreeEventData( + dpy: PDisplay; + cookie: PXGenericEventCookie +);cdecl;external libX11; + {$ifdef MACROS} function ConnectionNumber(dpy : PDisplay) : cint; function RootWindow(dpy : PDisplay; scr : cint) : TWindow;