From a667131e2846355b7b2099635761a79e22bcbe68 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Tue, 31 Oct 2017 01:54:47 +0100 Subject: Lift XFIXES to xorg-xserver-7.1/1.1.0 state (XFIXES 4.0) --- nx-X11/include/extensions/Imakefile | 1 + nx-X11/include/extensions/shapeconst.h | 55 ++++++++++++++++++++++++++++++++ nx-X11/include/extensions/xfixesproto.h | 56 +++++++++++++++++++++++++++++++-- nx-X11/include/extensions/xfixeswire.h | 20 ++++++++++-- 4 files changed, 126 insertions(+), 6 deletions(-) create mode 100644 nx-X11/include/extensions/shapeconst.h (limited to 'nx-X11/include') diff --git a/nx-X11/include/extensions/Imakefile b/nx-X11/include/extensions/Imakefile index f1760d274..cdd2446fb 100644 --- a/nx-X11/include/extensions/Imakefile +++ b/nx-X11/include/extensions/Imakefile @@ -62,6 +62,7 @@ HEADERS = \ security.h securstr.h \ sync.h syncstr.h \ dpms.h dpmsstr.h \ + shapeconst.h \ $(NULL) all:: diff --git a/nx-X11/include/extensions/shapeconst.h b/nx-X11/include/extensions/shapeconst.h new file mode 100644 index 000000000..9088956f1 --- /dev/null +++ b/nx-X11/include/extensions/shapeconst.h @@ -0,0 +1,55 @@ +/************************************************************ + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +********************************************************/ + +#ifndef _SHAPECONST_H_ +#define _SHAPECONST_H_ + +/* + * Protocol requests constants and alignment values + * These would really be in SHAPE's X.h and Xproto.h equivalents + */ + +#define SHAPENAME "SHAPE" + +#define SHAPE_MAJOR_VERSION 1 /* current version numbers */ +#define SHAPE_MINOR_VERSION 1 + +#define ShapeSet 0 +#define ShapeUnion 1 +#define ShapeIntersect 2 +#define ShapeSubtract 3 +#define ShapeInvert 4 + +#define ShapeBounding 0 +#define ShapeClip 1 +#define ShapeInput 2 + +#define ShapeNotifyMask (1L << 0) +#define ShapeNotify 0 + +#define ShapeNumberEvents (ShapeNotify + 1) + +#endif /* _SHAPECONST_H_ */ diff --git a/nx-X11/include/extensions/xfixesproto.h b/nx-X11/include/extensions/xfixesproto.h index b3f35e878..2cde20498 100644 --- a/nx-X11/include/extensions/xfixesproto.h +++ b/nx-X11/include/extensions/xfixesproto.h @@ -27,9 +27,7 @@ #include #include -#define _SHAPE_SERVER_ -#include -#undef _SHAPE_SERVER_ +#include #define Window CARD32 #define Drawable CARD32 @@ -462,6 +460,58 @@ typedef struct { #define sz_xXFixesExpandRegionReq 20 +/*************** Version 4.0 ******************/ + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; +} xXFixesHideCursorReq; + +#define sz_xXFixesHideCursorReq sizeof(xXFixesHideCursorReq) + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; +} xXFixesShowCursorReq; + +#define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq) + +/*************** Version 5.0 ******************/ + +#define Barrier CARD32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Barrier barrier B32; + Window window B32; + INT16 x1 B16; + INT16 y1 B16; + INT16 x2 B16; + INT16 y2 B16; + CARD32 directions; + CARD16 pad B16; + CARD16 num_devices B16; + /* array of CARD16 devices */ +} xXFixesCreatePointerBarrierReq; + +#define sz_xXFixesCreatePointerBarrierReq 28 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Barrier barrier B32; +} xXFixesDestroyPointerBarrierReq; + +#define sz_xXFixesDestroyPointerBarrierReq 8 + +#undef Barrier #undef Region #undef Picture #undef Window diff --git a/nx-X11/include/extensions/xfixeswire.h b/nx-X11/include/extensions/xfixeswire.h index 60851f2ae..4d86bdda1 100644 --- a/nx-X11/include/extensions/xfixeswire.h +++ b/nx-X11/include/extensions/xfixeswire.h @@ -27,7 +27,7 @@ #define _XFIXESWIRE_H_ #define XFIXES_NAME "XFIXES" -#define XFIXES_MAJOR 3 +#define XFIXES_MAJOR 4 #define XFIXES_MINOR 0 /*************** Version 1 ******************/ @@ -62,8 +62,14 @@ #define X_XFixesChangeCursorByName 27 /*************** Version 3 ******************/ #define X_XFixesExpandRegion 28 +/*************** Version 4 ******************/ +#define X_XFixesHideCursor 29 +#define X_XFixesShowCursor 30 +/*************** Version 5 ******************/ +#define X_XFixesCreatePointerBarrier 31 +#define X_XFixesDestroyPointerBarrier 32 -#define XFixesNumberRequests 29 +#define XFixesNumberRequests (X_XFixesDestroyPointerBarrier+1) /* Selection events share one event number */ #define XFixesSelectionNotify 0 @@ -88,7 +94,8 @@ /* errors */ #define BadRegion 0 -#define XFixesNumberErrors (BadRegion+1) +#define BadBarrier 1 +#define XFixesNumberErrors (BadBarrier+1) #define SaveSetNearest 0 #define SaveSetRoot 1 @@ -101,4 +108,11 @@ #define WindowRegionBounding 0 #define WindowRegionClip 1 +/*************** Version 5 ******************/ + +#define BarrierPositiveX (1L << 0) +#define BarrierPositiveY (1L << 1) +#define BarrierNegativeX (1L << 2) +#define BarrierNegativeY (1L << 3) + #endif /* _XFIXESWIRE_H_ */ -- cgit v1.2.3