diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2016-07-01 00:05:30 +0200 |
---|---|---|
committer | Ulrich Sibiller <uli42@gmx.de> | 2016-07-01 15:56:28 +0200 |
commit | e77e37ff0f97a5845fa0c634e978361541d7991f (patch) | |
tree | b97772d2c478eec4cba86c12241c59dd185fa3e1 /nx-X11 | |
parent | 2f19f2f66d7cc3d844e8f1eb58d65c4fa6b867d1 (diff) | |
download | nx-libs-e77e37ff0f97a5845fa0c634e978361541d7991f.tar.gz nx-libs-e77e37ff0f97a5845fa0c634e978361541d7991f.tar.bz2 nx-libs-e77e37ff0f97a5845fa0c634e978361541d7991f.zip |
remove XShape code from libNX_Xext
use system libXext instead
Diffstat (limited to 'nx-X11')
-rw-r--r-- | nx-X11/include/extensions/Imakefile | 1 | ||||
-rw-r--r-- | nx-X11/include/extensions/shape.h | 180 | ||||
-rw-r--r-- | nx-X11/include/extensions/shapestr.h | 234 | ||||
-rw-r--r-- | nx-X11/include/extensions/xfixesproto.h | 2 | ||||
-rw-r--r-- | nx-X11/lib/Xext/Imakefile | 2 | ||||
-rw-r--r-- | nx-X11/lib/Xext/XShape.c | 490 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/Imakefile | 8 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/Xext/extmod/modinit.h | 3 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/Xext/shape.c | 3 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Agent.h | 2 |
10 files changed, 8 insertions, 917 deletions
diff --git a/nx-X11/include/extensions/Imakefile b/nx-X11/include/extensions/Imakefile index 9f03df68c..3a26bed58 100644 --- a/nx-X11/include/extensions/Imakefile +++ b/nx-X11/include/extensions/Imakefile @@ -67,7 +67,6 @@ HEADERS = Xext.h \ $(EXTRAHEADERS) \ record.h recordstr.h \ security.h securstr.h \ - shape.h shapestr.h \ sync.h syncstr.h \ dpms.h dpmsstr.h \ $(NULL) diff --git a/nx-X11/include/extensions/shape.h b/nx-X11/include/extensions/shape.h deleted file mode 100644 index 5e85ffc04..000000000 --- a/nx-X11/include/extensions/shape.h +++ /dev/null @@ -1,180 +0,0 @@ -/* $XFree86: xc/include/extensions/shape.h,v 1.3 2001/12/14 19:53:29 dawes Exp $ */ -/************************************************************ - -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. - -********************************************************/ - -/* $Xorg: shape.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */ - -#ifndef _SHAPE_H_ -#define _SHAPE_H_ - -#include <nx-X11/Xfuncproto.h> - -#define X_ShapeQueryVersion 0 -#define X_ShapeRectangles 1 -#define X_ShapeMask 2 -#define X_ShapeCombine 3 -#define X_ShapeOffset 4 -#define X_ShapeQueryExtents 5 -#define X_ShapeSelectInput 6 -#define X_ShapeInputSelected 7 -#define X_ShapeGetRectangles 8 - -#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) - -#ifndef _SHAPE_SERVER_ - -#include <nx-X11/Xutil.h> - -typedef struct { - int type; /* of event */ - unsigned long serial; /* # of last request processed by server */ - Bool send_event; /* true if this came frome a SendEvent request */ - Display *display; /* Display the event was read from */ - Window window; /* window of event */ - int kind; /* ShapeBounding or ShapeClip */ - int x, y; /* extents of new region */ - unsigned width, height; - Time time; /* server timestamp when region changed */ - Bool shaped; /* true if the region exists */ -} XShapeEvent; - -_XFUNCPROTOBEGIN - -extern Bool XShapeQueryExtension ( - Display* /* display */, - int* /* event_base */, - int* /* error_base */ -); - -extern Status XShapeQueryVersion ( - Display* /* display */, - int* /* major_version */, - int* /* minor_version */ -); - -extern void XShapeCombineRegion ( - Display* /* display */, - Window /* dest */, - int /* dest_kind */, - int /* x_off */, - int /* y_off */, - Region /* region */, - int /* op */ -); - -extern void XShapeCombineRectangles ( - Display* /* display */, - Window /* dest */, - int /* dest_kind */, - int /* x_off */, - int /* y_off */, - XRectangle* /* rectangles */, - int /* n_rects */, - int /* op */, - int /* ordering */ -); - -extern void XShapeCombineMask ( - Display* /* display */, - Window /* dest */, - int /* dest_kind */, - int /* x_off */, - int /* y_off */, - Pixmap /* src */, - int /* op */ -); - -extern void XShapeCombineShape ( - Display* /* display */, - Window /* dest */, - int /* dest_kind */, - int /* x_off */, - int /* y_off */, - Window /* src */, - int /* src_kind */, - int /* op */ -); - -extern void XShapeOffsetShape ( - Display* /* display */, - Window /* dest */, - int /* dest_kind */, - int /* x_off */, - int /* y_off */ -); - -extern Status XShapeQueryExtents ( - Display* /* display */, - Window /* window */, - Bool* /* bounding_shaped */, - int* /* x_bounding */, - int* /* y_bounding */, - unsigned int* /* w_bounding */, - unsigned int* /* h_bounding */, - Bool* /* clip_shaped */, - int* /* x_clip */, - int* /* y_clip */, - unsigned int* /* w_clip */, - unsigned int* /* h_clip */ -); - -extern void XShapeSelectInput ( - Display* /* display */, - Window /* window */, - unsigned long /* mask */ -); - -extern unsigned long XShapeInputSelected ( - Display* /* display */, - Window /* window */ -); - -extern XRectangle *XShapeGetRectangles ( - Display* /* display */, - Window /* window */, - int /* kind */, - int* /* count */, - int* /* ordering */ -); - -_XFUNCPROTOEND - -#endif /* _SHAPE_SERVER_ */ - -#endif /* _SHAPE_H_ */ diff --git a/nx-X11/include/extensions/shapestr.h b/nx-X11/include/extensions/shapestr.h deleted file mode 100644 index 4742ba8e9..000000000 --- a/nx-X11/include/extensions/shapestr.h +++ /dev/null @@ -1,234 +0,0 @@ -/************************************************************ - -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. - -********************************************************/ - -/* $Xorg: shapestr.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */ - -#ifndef _SHAPESTR_H_ -#define _SHAPESTR_H_ - -/* - * Protocol requests constants and alignment values - * These would really be in SHAPE's X.h and Xproto.h equivalents - */ - -#include "shape.h" - -#define Window CARD32 -#define Time CARD32 - -#define SHAPENAME "SHAPE" - -#define SHAPE_MAJOR_VERSION 1 /* current version numbers */ -#define SHAPE_MINOR_VERSION 1 - -typedef struct _ShapeQueryVersion { - CARD8 reqType; /* always ShapeReqCode */ - CARD8 shapeReqType; /* always X_ShapeQueryVersion */ - CARD16 length B16; -} xShapeQueryVersionReq; -#define sz_xShapeQueryVersionReq 4 - -typedef struct { - BYTE type; /* X_Reply */ - CARD8 unused; /* not used */ - CARD16 sequenceNumber B16; - CARD32 length B32; - CARD16 majorVersion B16; /* major version of SHAPE protocol */ - CARD16 minorVersion B16; /* minor version of SHAPE protocol */ - CARD32 pad0 B32; - CARD32 pad1 B32; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; -} xShapeQueryVersionReply; -#define sz_xShapeQueryVersionReply 32 - -typedef struct _ShapeRectangles { - CARD8 reqType; /* always ShapeReqCode */ - CARD8 shapeReqType; /* always X_ShapeRectangles */ - CARD16 length B16; - CARD8 op; /* Set, ... */ - CARD8 destKind; /* ShapeBounding or ShapeClip */ - CARD8 ordering; /* UnSorted, YSorted, YXSorted, YXBanded */ - CARD8 pad0; /* not used */ - Window dest B32; - INT16 xOff B16; - INT16 yOff B16; -} xShapeRectanglesReq; /* followed by xRects */ -#define sz_xShapeRectanglesReq 16 - -typedef struct _ShapeMask { - CARD8 reqType; /* always ShapeReqCode */ - CARD8 shapeReqType; /* always X_ShapeMask */ - CARD16 length B16; - - CARD8 op; /* Set, ... */ - CARD8 destKind; /* ShapeBounding or ShapeClip */ - CARD16 junk B16; /* not used */ - - Window dest B32; - INT16 xOff B16; - INT16 yOff B16; - CARD32 src B32; /* 1 bit pixmap */ -} xShapeMaskReq; -#define sz_xShapeMaskReq 20 - -typedef struct _ShapeCombine { - CARD8 reqType; /* always ShapeReqCode */ - CARD8 shapeReqType; /* always X_ShapeCombine */ - CARD16 length B16; - CARD8 op; /* Set, ... */ - CARD8 destKind; /* ShapeBounding or ShapeClip */ - CARD8 srcKind; /* ShapeBounding or ShapeClip */ - CARD8 junk; /* not used */ - Window dest B32; - INT16 xOff B16; - INT16 yOff B16; - Window src B32; -} xShapeCombineReq; -#define sz_xShapeCombineReq 20 - -typedef struct _ShapeOffset { - CARD8 reqType; /* always ShapeReqCode */ - CARD8 shapeReqType; /* always X_ShapeOffset */ - CARD16 length B16; - CARD8 destKind; /* ShapeBounding or ShapeClip */ - CARD8 junk1; /* not used */ - CARD16 junk2 B16; /* not used */ - Window dest B32; - INT16 xOff B16; - INT16 yOff B16; -} xShapeOffsetReq; -#define sz_xShapeOffsetReq 16 - -typedef struct _ShapeQueryExtents { - CARD8 reqType; /* always ShapeReqCode */ - CARD8 shapeReqType; /* always X_ShapeQueryExtents */ - CARD16 length B16; - Window window B32; -} xShapeQueryExtentsReq; -#define sz_xShapeQueryExtentsReq 8 - -typedef struct { - BYTE type; /* X_Reply */ - CARD8 unused; /* not used */ - CARD16 sequenceNumber B16; - CARD32 length B32; /* 0 */ - CARD8 boundingShaped; /* window has bounding shape */ - CARD8 clipShaped; /* window has clip shape */ - CARD16 unused1 B16; - INT16 xBoundingShape B16; /* extents of bounding shape */ - INT16 yBoundingShape B16; - CARD16 widthBoundingShape B16; - CARD16 heightBoundingShape B16; - INT16 xClipShape B16; /* extents of clip shape */ - INT16 yClipShape B16; - CARD16 widthClipShape B16; - CARD16 heightClipShape B16; - CARD32 pad1 B32; -} xShapeQueryExtentsReply; -#define sz_xShapeQueryExtentsReply 32 - -typedef struct _ShapeSelectInput { - CARD8 reqType; /* always ShapeReqCode */ - CARD8 shapeReqType; /* always X_ShapeSelectInput */ - CARD16 length B16; - Window window B32; - BYTE enable; /* xTrue -> send events */ - BYTE pad1; - CARD16 pad2 B16; -} xShapeSelectInputReq; -#define sz_xShapeSelectInputReq 12 - -typedef struct _ShapeNotify { - BYTE type; /* always eventBase + ShapeNotify */ - BYTE kind; /* either ShapeBounding or ShapeClip */ - CARD16 sequenceNumber B16; - Window window B32; - INT16 x B16; - INT16 y B16; /* extents of new shape */ - CARD16 width B16; - CARD16 height B16; - Time time B32; /* time of change */ - BYTE shaped; /* set when a shape actual exists */ - BYTE pad0; - CARD16 pad1 B16; - CARD32 pad2 B32; - CARD32 pad3 B32; -} xShapeNotifyEvent; -#define sz_xShapeNotifyEvent 32 - -typedef struct _ShapeInputSelected { - CARD8 reqType; /* always ShapeReqCode */ - CARD8 shapeReqType; /* always X_ShapeInputSelected */ - CARD16 length B16; - Window window B32; -} xShapeInputSelectedReq; -#define sz_xShapeInputSelectedReq 8 - -typedef struct { - BYTE type; /* X_Reply */ - CARD8 enabled; /* current status */ - CARD16 sequenceNumber B16; - CARD32 length B32; /* 0 */ - CARD32 pad1 B32; /* unused */ - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; - CARD32 pad5 B32; - CARD32 pad6 B32; -} xShapeInputSelectedReply; -#define sz_xShapeInputSelectedReply 32 - -typedef struct _ShapeGetRectangles { - CARD8 reqType; /* always ShapeReqCode */ - CARD8 shapeReqType; /* always X_ShapeGetRectangles */ - CARD16 length B16; - Window window B32; - CARD8 kind; /* ShapeBounding or ShapeClip */ - CARD8 junk1; - CARD16 junk2 B16; -} xShapeGetRectanglesReq; -#define sz_xShapeGetRectanglesReq 12 - -typedef struct { - BYTE type; /* X_Reply */ - CARD8 ordering; /* UnSorted, YSorted, YXSorted, YXBanded */ - CARD16 sequenceNumber B16; - CARD32 length B32; /* not zero */ - CARD32 nrects B32; /* number of rectangles */ - CARD32 pad1 B32; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; - CARD32 pad5 B32; -} xShapeGetRectanglesReply; /* followed by xRectangles */ -#define sz_xShapeGetRectanglesReply 32 - -#undef Window -#undef Time - -#endif /* _SHAPESTR_H_ */ diff --git a/nx-X11/include/extensions/xfixesproto.h b/nx-X11/include/extensions/xfixesproto.h index 0ef6a2fd6..b3f35e878 100644 --- a/nx-X11/include/extensions/xfixesproto.h +++ b/nx-X11/include/extensions/xfixesproto.h @@ -28,7 +28,7 @@ #include <nx-X11/Xmd.h> #include <nx-X11/extensions/xfixeswire.h> #define _SHAPE_SERVER_ -#include <nx-X11/extensions/shape.h> +#include <X11/extensions/shape.h> #undef _SHAPE_SERVER_ #define Window CARD32 diff --git a/nx-X11/lib/Xext/Imakefile b/nx-X11/lib/Xext/Imakefile index e96e23510..629a14bf1 100644 --- a/nx-X11/lib/Xext/Imakefile +++ b/nx-X11/lib/Xext/Imakefile @@ -31,13 +31,11 @@ ALLOC_DEFINES = Malloc0ReturnsNullDefines INCLUDES = -I$(XLIBSRC) SRCS = globals.c \ extutil.c \ - XShape.c \ $(SHMSRCS) \ $(NULL) OBJS = globals.o \ extutil.o \ - XShape.o \ $(SHMOBJS) \ $(NULL) diff --git a/nx-X11/lib/Xext/XShape.c b/nx-X11/lib/Xext/XShape.c deleted file mode 100644 index 79b4b78f6..000000000 --- a/nx-X11/lib/Xext/XShape.c +++ /dev/null @@ -1,490 +0,0 @@ -/* - * $Xorg: XShape.c,v 1.4 2001/02/09 02:03:49 xorgcvs Exp $ - * -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. - * - * Author: Keith Packard, MIT X Consortium - */ -/* $XFree86: xc/lib/Xext/XShape.c,v 1.3 2002/10/16 00:37:27 dawes Exp $ */ -#define NEED_EVENTS -#define NEED_REPLIES -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include <nx-X11/Xlibint.h> -#include <nx-X11/Xutil.h> -#include <nx-X11/Xregion.h> -#include <nx-X11/extensions/Xext.h> -#include <nx-X11/extensions/extutil.h> -#include <nx-X11/extensions/shapestr.h> - -static XExtensionInfo _shape_info_data; -static XExtensionInfo *shape_info = &_shape_info_data; -static /* const */ char *shape_extension_name = SHAPENAME; - -#define ShapeCheckExtension(dpy,i,val) \ - XextCheckExtension (dpy, i, shape_extension_name, val) -#define ShapeSimpleCheckExtension(dpy,i) \ - XextSimpleCheckExtension (dpy, i, shape_extension_name) - - -/***************************************************************************** - * * - * private utility routines * - * * - *****************************************************************************/ - -static int close_display(Display *dpy, XExtCodes *codes); -static Bool wire_to_event (Display *dpy, XEvent *re, xEvent *event); -static Status event_to_wire (Display *dpy, XEvent *re, xEvent *event); -static /* const */ XExtensionHooks shape_extension_hooks = { - NULL, /* create_gc */ - NULL, /* copy_gc */ - NULL, /* flush_gc */ - NULL, /* free_gc */ - NULL, /* create_font */ - NULL, /* free_font */ - close_display, /* close_display */ - wire_to_event, /* wire_to_event */ - event_to_wire, /* event_to_wire */ - NULL, /* error */ - NULL, /* error_string */ -}; - -static XEXT_GENERATE_FIND_DISPLAY (find_display, shape_info, - shape_extension_name, - &shape_extension_hooks, - ShapeNumberEvents, NULL) - -static XEXT_GENERATE_CLOSE_DISPLAY (close_display, shape_info) - - -static Bool -wire_to_event (Display *dpy, XEvent *re, xEvent *event) -{ - XExtDisplayInfo *info = find_display (dpy); - XShapeEvent *se; - xShapeNotifyEvent *sevent; - - ShapeCheckExtension (dpy, info, False); - - switch ((event->u.u.type & 0x7f) - info->codes->first_event) { - case ShapeNotify: - se = (XShapeEvent *) re; - sevent = (xShapeNotifyEvent *) event; - se->type = sevent->type & 0x7f; - se->serial = _XSetLastRequestRead(dpy,(xGenericReply *) event); - se->send_event = (sevent->type & 0x80) != 0; - se->display = dpy; - se->window = sevent->window; - se->kind = sevent->kind; - se->x = cvtINT16toInt (sevent->x); - se->y = cvtINT16toInt (sevent->y); - se->width = sevent->width; - se->height = sevent->height; - se->time = sevent->time; - se->shaped = True; - if (sevent->shaped == xFalse) - se->shaped = False; - return True; - } - return False; -} - -static Status -event_to_wire (Display *dpy, XEvent *re, xEvent *event) -{ - XExtDisplayInfo *info = find_display (dpy); - XShapeEvent *se; - xShapeNotifyEvent *sevent; - - ShapeCheckExtension (dpy, info, 0); - - switch ((re->type & 0x7f) - info->codes->first_event) { - case ShapeNotify: - se = (XShapeEvent *) re; - sevent = (xShapeNotifyEvent *) event; - sevent->type = se->type | (se->send_event ? 0x80 : 0); - sevent->sequenceNumber = se->serial & 0xffff; - sevent->window = se->window; - sevent->kind = se->kind; - sevent->x = se->x; - sevent->y = se->y; - sevent->width = se->width; - sevent->height = se->height; - sevent->time = se->time; - return 1; - } - return 0; -} - - -/**************************************************************************** - * * - * Shape public interfaces * - * * - ****************************************************************************/ - -Bool XShapeQueryExtension (Display *dpy, int *event_basep, int *error_basep) -{ - XExtDisplayInfo *info = find_display (dpy); - - if (XextHasExtension(info)) { - *event_basep = info->codes->first_event; - *error_basep = info->codes->first_error; - return True; - } else { - return False; - } -} - - -Status XShapeQueryVersion( - Display *dpy, - int *major_versionp, - int *minor_versionp) -{ - XExtDisplayInfo *info = find_display (dpy); - xShapeQueryVersionReply rep; - register xShapeQueryVersionReq *req; - - ShapeCheckExtension (dpy, info, 0); - - LockDisplay (dpy); - GetReq (ShapeQueryVersion, req); - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeQueryVersion; - if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) { - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - *major_versionp = rep.majorVersion; - *minor_versionp = rep.minorVersion; - UnlockDisplay (dpy); - SyncHandle (); - return 1; -} - -void XShapeCombineRegion( - register Display *dpy, - Window dest, - int destKind, int xOff, int yOff, - register REGION *r, - int op) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShapeRectanglesReq *req; - register long nbytes; - register int i; - register XRectangle *xr, *pr; - register BOX *pb; - - ShapeSimpleCheckExtension (dpy, info); - - LockDisplay(dpy); - GetReq(ShapeRectangles, req); - xr = (XRectangle *) - _XAllocScratch(dpy, (unsigned long)(r->numRects * sizeof (XRectangle))); - for (pr = xr, pb = r->rects, i = r->numRects; --i >= 0; pr++, pb++) { - pr->x = pb->x1; - pr->y = pb->y1; - pr->width = pb->x2 - pb->x1; - pr->height = pb->y2 - pb->y1; - } - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeRectangles; - req->op = op; - req->ordering = YXBanded; - req->destKind = destKind; - req->dest = dest; - req->xOff = xOff; - req->yOff = yOff; - - /* SIZEOF(xRectangle) will be a multiple of 4 */ - req->length += r->numRects * (SIZEOF(xRectangle) / 4); - - nbytes = r->numRects * sizeof(xRectangle); - - Data16 (dpy, (short *) xr, nbytes); - UnlockDisplay(dpy); - SyncHandle(); -} - - -void XShapeCombineRectangles ( - register Display *dpy, - XID dest, - int destKind, int xOff, int yOff, - XRectangle *rects, - int n_rects, - int op, int ordering) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShapeRectanglesReq *req; - register long nbytes; - - ShapeSimpleCheckExtension (dpy, info); - - LockDisplay(dpy); - GetReq(ShapeRectangles, req); - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeRectangles; - req->op = op; - req->ordering = ordering; - req->destKind = destKind; - req->dest = dest; - req->xOff = xOff; - req->yOff = yOff; - - /* SIZEOF(xRectangle) will be a multiple of 4 */ - req->length += n_rects * (SIZEOF(xRectangle) / 4); - - nbytes = n_rects * sizeof(xRectangle); - - Data16 (dpy, (short *) rects, nbytes); - UnlockDisplay(dpy); - SyncHandle(); -} - - -void XShapeCombineMask ( - register Display *dpy, - XID dest, - int destKind, - int xOff, int yOff, - Pixmap src, - int op) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShapeMaskReq *req; - - ShapeSimpleCheckExtension (dpy, info); - - LockDisplay(dpy); - GetReq(ShapeMask, req); - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeMask; - req->op = op; - req->destKind = destKind; - req->dest = dest; - req->xOff = xOff; - req->yOff = yOff; - req->src = src; - UnlockDisplay(dpy); - SyncHandle(); -} - -void XShapeCombineShape ( - register Display *dpy, - XID dest, - int destKind, - int xOff, int yOff, - XID src, - int srcKind, - int op) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShapeCombineReq *req; - - ShapeSimpleCheckExtension (dpy, info); - - LockDisplay(dpy); - GetReq(ShapeCombine, req); - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeCombine; - req->op = op; - req->destKind = destKind; - req->srcKind = srcKind; - req->dest = dest; - req->xOff = xOff; - req->yOff = yOff; - req->src = src; - UnlockDisplay(dpy); - SyncHandle(); -} - -void XShapeOffsetShape ( - register Display *dpy, - XID dest, - int destKind, - int xOff, int yOff) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShapeOffsetReq *req; - - ShapeSimpleCheckExtension (dpy, info); - - LockDisplay(dpy); - GetReq(ShapeOffset, req); - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeOffset; - req->destKind = destKind; - req->dest = dest; - req->xOff = xOff; - req->yOff = yOff; - UnlockDisplay(dpy); - SyncHandle(); -} - -Status XShapeQueryExtents ( - register Display *dpy, - Window window, - int *bShaped, int *xbs, int *ybs, unsigned int *wbs, unsigned int *hbs, /* RETURN */ - int *cShaped, int *xcs, int *ycs, unsigned int *wcs, unsigned int *hcs /* RETURN */) -{ - XExtDisplayInfo *info = find_display (dpy); - xShapeQueryExtentsReply rep; - register xShapeQueryExtentsReq *req; - - ShapeCheckExtension (dpy, info, 0); - - LockDisplay (dpy); - GetReq (ShapeQueryExtents, req); - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeQueryExtents; - req->window = window; - if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) { - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - *bShaped = rep.boundingShaped; - *cShaped = rep.clipShaped; - *xbs = cvtINT16toInt (rep.xBoundingShape); - *ybs = cvtINT16toInt (rep.yBoundingShape); - *wbs = rep.widthBoundingShape; - *hbs = rep.heightBoundingShape; - *xcs = cvtINT16toInt (rep.xClipShape); - *ycs = cvtINT16toInt (rep.yClipShape); - *wcs = rep.widthClipShape; - *hcs = rep.heightClipShape; - UnlockDisplay (dpy); - SyncHandle (); - return 1; -} - - -void XShapeSelectInput ( - register Display *dpy, - Window window, - unsigned long mask) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShapeSelectInputReq *req; - - ShapeSimpleCheckExtension (dpy, info); - - LockDisplay (dpy); - GetReq (ShapeSelectInput, req); - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeSelectInput; - req->window = window; - if (mask & ShapeNotifyMask) - req->enable = xTrue; - else - req->enable = xFalse; - UnlockDisplay (dpy); - SyncHandle (); -} - -unsigned long XShapeInputSelected (register Display *dpy, Window window) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShapeInputSelectedReq *req; - xShapeInputSelectedReply rep; - - ShapeCheckExtension (dpy, info, False); - - LockDisplay (dpy); - GetReq (ShapeInputSelected, req); - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeInputSelected; - req->window = window; - if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) { - UnlockDisplay (dpy); - SyncHandle (); - return False; - } - UnlockDisplay (dpy); - SyncHandle (); - return rep.enabled ? ShapeNotifyMask : 0L; -} - - -XRectangle *XShapeGetRectangles ( - register Display *dpy, - Window window, - int kind, - int *count, /* RETURN */ - int *ordering /* RETURN */) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShapeGetRectanglesReq *req; - xShapeGetRectanglesReply rep; - XRectangle *rects; - xRectangle *xrects; - int i; - - ShapeCheckExtension (dpy, info, (XRectangle *)NULL); - - LockDisplay (dpy); - GetReq (ShapeGetRectangles, req); - req->reqType = info->codes->major_opcode; - req->shapeReqType = X_ShapeGetRectangles; - req->window = window; - req->kind = kind; - if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) { - UnlockDisplay (dpy); - SyncHandle (); - return (XRectangle *)NULL; - } - *count = rep.nrects; - *ordering = rep.ordering; - rects = 0; - if (*count) { - xrects = (xRectangle *) Xmalloc (*count * sizeof (xRectangle)); - rects = (XRectangle *) Xmalloc (*count * sizeof (XRectangle)); - if (!xrects || !rects) { - if (xrects) - Xfree (xrects); - if (rects) - Xfree (rects); - _XEatData (dpy, *count * sizeof (xRectangle)); - rects = 0; - *count = 0; - } else { - _XRead (dpy, (char *) xrects, *count * sizeof (xRectangle)); - for (i = 0; i < *count; i++) { - rects[i].x = (short) cvtINT16toInt (xrects[i].x); - rects[i].y = (short) cvtINT16toInt (xrects[i].y); - rects[i].width = xrects[i].width; - rects[i].height = xrects[i].height; - } - Xfree (xrects); - } - } - UnlockDisplay (dpy); - SyncHandle (); - return rects; -} diff --git a/nx-X11/programs/Xserver/Imakefile b/nx-X11/programs/Xserver/Imakefile index 93a3286b1..d0699d857 100644 --- a/nx-X11/programs/Xserver/Imakefile +++ b/nx-X11/programs/Xserver/Imakefile @@ -429,7 +429,7 @@ NXAGENTNXLIBS = -L/usr/sfw/lib \ -lXcomp \ -lXcompext -lXcompshad \ -lXrender -lXfixes -lXfont -lXcomposite -lXinerama -lXdmcp \ - -lNX_X11 -lNX_Xext + -lNX_X11 -lNX_Xext -Xext #elif defined(cygwinArchitecture) NXAGENTNXLIBS = -L ../../../nxcomp \ -L../../../nx-X11/exports/lib \ @@ -437,7 +437,7 @@ NXAGENTNXLIBS = -L ../../../nxcomp \ -lXcomp \ -lXcompext -lXcompshad \ -lXrender -lXfixes -lXfont -lXcomposite -lXdmcp \ - -lNX_X11 -lNX_Xext + -lNX_X11 -lNX_Xext -lXext #else NXAGENTNXLIBS = -L ../../../nxcomp \ -L../../../nx-X11/exports/lib \ @@ -445,7 +445,7 @@ NXAGENTNXLIBS = -L ../../../nxcomp \ -lXcomp \ -lXcompext -lXcompshad \ -lXrender -lXfixes -lXfont -lXcomposite -lXinerama -lXdmcp \ - -lNX_X11 -lNX_Xext + -lNX_X11 -lNX_Xext -lXext #endif #endif @@ -478,7 +478,7 @@ nxagent_static_nolibs: nxagent else exit 0; fi $(CCLINK) -o nxagent_static_nolibs -Wl,-Bstatic $(LDOPTIONS) $(NXAGENTOBJS) \ $(NXAGENTLIBS) $(LOADABLEEXTS) $(LIBCWRAPPER) $(LDLIBS) \ - $(LDPRELIBS) $(SYSLIBS) -Wl,-Bdynamic -lNX_Xext -lNX_X11 $(EXTRA_LOAD_FLAGS) + $(LDPRELIBS) $(SYSLIBS) -Wl,-Bdynamic -lNX_Xext -lNX_X11 -lXext $(EXTRA_LOAD_FLAGS) #endif /* NXAgentServer */ #if defined(NXWinServer) && NXWinServer diff --git a/nx-X11/programs/Xserver/Xext/extmod/modinit.h b/nx-X11/programs/Xserver/Xext/extmod/modinit.h index 96a349add..24cef286b 100644 --- a/nx-X11/programs/Xserver/Xext/extmod/modinit.h +++ b/nx-X11/programs/Xserver/Xext/extmod/modinit.h @@ -11,8 +11,7 @@ #ifdef SHAPE extern void ShapeExtensionInit(INITARGS); -#define _SHAPE_SERVER_ /* don't want Xlib structures */ -#include <nx-X11/extensions/shapestr.h> +#include <X11/extensions/shapeproto.h> #endif #ifdef XTEST diff --git a/nx-X11/programs/Xserver/Xext/shape.c b/nx-X11/programs/Xserver/Xext/shape.c index 8516192c0..51fcd7d9f 100644 --- a/nx-X11/programs/Xserver/Xext/shape.c +++ b/nx-X11/programs/Xserver/Xext/shape.c @@ -44,8 +44,7 @@ in this Software without prior written authorization from The Open Group. #include "dixstruct.h" #include "resource.h" #include "opaque.h" -#define _SHAPE_SERVER_ /* don't want Xlib structures */ -#include <nx-X11/extensions/shapestr.h> +#include <X11/extensions/shapeproto.h> #include "regionstr.h" #include "gcstruct.h" #ifdef EXTMODULE diff --git a/nx-X11/programs/Xserver/hw/nxagent/Agent.h b/nx-X11/programs/Xserver/hw/nxagent/Agent.h index ec312bad2..2fa2b6240 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Agent.h +++ b/nx-X11/programs/Xserver/hw/nxagent/Agent.h @@ -104,7 +104,7 @@ typedef XID KeySym64; #define NX_TRANS_SOCKET #define GC XlibGC #include <nx-X11/Xlib.h> -#include <nx-X11/extensions/shape.h> +#include <X11/extensions/shape.h> #undef GC #ifdef _XSERVER64_tmp |