aboutsummaryrefslogtreecommitdiff
path: root/nx-X11
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2016-07-01 00:05:30 +0200
committerUlrich Sibiller <uli42@gmx.de>2016-07-01 15:56:28 +0200
commite77e37ff0f97a5845fa0c634e978361541d7991f (patch)
treeb97772d2c478eec4cba86c12241c59dd185fa3e1 /nx-X11
parent2f19f2f66d7cc3d844e8f1eb58d65c4fa6b867d1 (diff)
downloadnx-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/Imakefile1
-rw-r--r--nx-X11/include/extensions/shape.h180
-rw-r--r--nx-X11/include/extensions/shapestr.h234
-rw-r--r--nx-X11/include/extensions/xfixesproto.h2
-rw-r--r--nx-X11/lib/Xext/Imakefile2
-rw-r--r--nx-X11/lib/Xext/XShape.c490
-rw-r--r--nx-X11/programs/Xserver/Imakefile8
-rw-r--r--nx-X11/programs/Xserver/Xext/extmod/modinit.h3
-rw-r--r--nx-X11/programs/Xserver/Xext/shape.c3
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Agent.h2
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