From 9de3e829c9fa8413e21a50b208abff454302e4aa Mon Sep 17 00:00:00 2001 From: Joel Bosveld Date: Fri, 7 Aug 2009 11:25:36 +0800 Subject: Add CompositeGetInputRedirectionInfo request --- composite.h | 3 ++- compositeproto.h | 24 ++++++++++++++++++++++++ compositeproto.txt | 14 ++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/composite.h b/composite.h index 40d5625..b26c81d 100644 --- a/composite.h +++ b/composite.h @@ -68,8 +68,9 @@ #define X_CompositeReleaseOverlayWindow 8 #define X_CompositeSetTriangularCoordinateMesh 9 #define X_CompositeRedirectWindowInput 10 +#define X_CompositeGetInputRedirectionInfo 11 -#define CompositeNumberRequests (X_CompositeRedirectWindowInput + 1) +#define CompositeNumberRequests (X_CompositeGetInputRedirectionInfo + 1) #define CompositeNumberEvents 0 diff --git a/compositeproto.h b/compositeproto.h index 8acc868..6f5b152 100644 --- a/compositeproto.h +++ b/compositeproto.h @@ -210,6 +210,30 @@ typedef struct { #define sz_xCompositeRedirectWindowInputReq sizeof(xCompositeRedirectWindowInputReq) +typedef struct { + CARD8 reqType; + CARD8 compositeReqType; + CARD16 length B16; + Window window B32; +} xCompositeGetInputRedirectionInfoReq; + +#define sz_xCompositeGetInputRedirectionInfoReq sizeof(xCompositeGetInputRedirectionInfoReq) + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + Window destination B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xCompositeGetInputRedirectionInfoReply; + +#define sz_xCompositeGetInputRedirectionInfoReply sizeof(xCompositeGetInputRedirectionInfoReply) + #undef Window #undef Region #undef Pixmap diff --git a/compositeproto.txt b/compositeproto.txt index ce99740..7a8d262 100644 --- a/compositeproto.txt +++ b/compositeproto.txt @@ -349,3 +349,17 @@ operations other than QueryVersion. Generates a 'Window' error if 'destination' is an ancestor of 'window' Generates a 'Access' error if another client has set an input mesh or redirection on this window. + + GetInputRedirectionInfo + + window: Window + + -> + + destination: Window + + errors: Window + + This request is used to determine where a window is redirecting input. + Clients need this information in order to correctly handle xdnd with + redirected windows. -- cgit v1.2.3