aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/Xfixes/Region.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/Xfixes/Region.c')
-rw-r--r--nx-X11/lib/Xfixes/Region.c441
1 files changed, 0 insertions, 441 deletions
diff --git a/nx-X11/lib/Xfixes/Region.c b/nx-X11/lib/Xfixes/Region.c
deleted file mode 100644
index f4781fe9b..000000000
--- a/nx-X11/lib/Xfixes/Region.c
+++ /dev/null
@@ -1,441 +0,0 @@
-/*
- * $Id: Region.c,v 1.3 2005/07/03 07:00:56 daniels Exp $
- *
- * Copyright © 2003 Keith Packard
- *
- * 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, and that the name of Keith Packard not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. Keith Packard makes no
- * representations about the suitability of this software for any purpose. It
- * is provided "as is" without express or implied warranty.
- *
- * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include "Xfixesint.h"
-
-XserverRegion
-XFixesCreateRegion (Display *dpy, XRectangle *rectangles, int nrectangles)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesCreateRegionReq *req;
- long len;
- XserverRegion region;
-
- XFixesCheckExtension (dpy, info, 0);
- LockDisplay (dpy);
- GetReq (XFixesCreateRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesCreateRegion;
- region = req->region = XAllocID (dpy);
- len = ((long) nrectangles) << 1;
- SetReqLen (req, len, len);
- len <<= 2;
- Data16 (dpy, (short *) rectangles, len);
- UnlockDisplay (dpy);
- SyncHandle();
- return region;
-}
-
-XserverRegion
-XFixesCreateRegionFromBitmap (Display *dpy, Pixmap bitmap)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesCreateRegionFromBitmapReq *req;
- XserverRegion region;
-
- XFixesCheckExtension (dpy, info, 0);
- LockDisplay (dpy);
- GetReq (XFixesCreateRegionFromBitmap, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesCreateRegionFromBitmap;
- region = req->region = XAllocID (dpy);
- req->bitmap = bitmap;
- UnlockDisplay (dpy);
- SyncHandle();
- return region;
-}
-
-XserverRegion
-XFixesCreateRegionFromWindow (Display *dpy, Window window, int kind)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesCreateRegionFromWindowReq *req;
- XserverRegion region;
-
- XFixesCheckExtension (dpy, info, 0);
- LockDisplay (dpy);
- GetReq (XFixesCreateRegionFromWindow, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesCreateRegionFromWindow;
- region = req->region = XAllocID (dpy);
- req->window = window;
- req->kind = kind;
- UnlockDisplay (dpy);
- SyncHandle();
- return region;
-}
-
-XserverRegion
-XFixesCreateRegionFromGC (Display *dpy, GC gc)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesCreateRegionFromGCReq *req;
- XserverRegion region;
-
- XFixesCheckExtension (dpy, info, 0);
- LockDisplay (dpy);
- GetReq (XFixesCreateRegionFromGC, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesCreateRegionFromGC;
- region = req->region = XAllocID (dpy);
- req->gc = gc->gid;
- UnlockDisplay (dpy);
- SyncHandle();
- return region;
-}
-
-XserverRegion
-XFixesCreateRegionFromPicture (Display *dpy, XID picture)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesCreateRegionFromPictureReq *req;
- XserverRegion region;
-
- XFixesCheckExtension (dpy, info, 0);
- LockDisplay (dpy);
- GetReq (XFixesCreateRegionFromPicture, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesCreateRegionFromPicture;
- region = req->region = XAllocID (dpy);
- req->picture = picture;
- UnlockDisplay (dpy);
- SyncHandle();
- return region;
-}
-
-void
-XFixesDestroyRegion (Display *dpy, XserverRegion region)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesDestroyRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesDestroyRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesDestroyRegion;
- req->region = region;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesSetRegion (Display *dpy, XserverRegion region,
- XRectangle *rectangles, int nrectangles)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesSetRegionReq *req;
- long len;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesSetRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesSetRegion;
- req->region = region;
- len = ((long) nrectangles) << 1;
- SetReqLen (req, len, len);
- len <<= 2;
- Data16 (dpy, (short *) rectangles, len);
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesCopyRegion (Display *dpy, XserverRegion dst, XserverRegion src)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesCopyRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesCopyRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesCopyRegion;
- req->source = src;
- req->destination = dst;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesUnionRegion (Display *dpy, XserverRegion dst,
- XserverRegion src1, XserverRegion src2)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesUnionRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesUnionRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesUnionRegion;
- req->source1 = src1;
- req->source2 = src2;
- req->destination = dst;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesIntersectRegion (Display *dpy, XserverRegion dst,
- XserverRegion src1, XserverRegion src2)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesIntersectRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesIntersectRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesIntersectRegion;
- req->source1 = src1;
- req->source2 = src2;
- req->destination = dst;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesSubtractRegion (Display *dpy, XserverRegion dst,
- XserverRegion src1, XserverRegion src2)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesSubtractRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesSubtractRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesSubtractRegion;
- req->source1 = src1;
- req->source2 = src2;
- req->destination = dst;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesInvertRegion (Display *dpy, XserverRegion dst,
- XRectangle *rect, XserverRegion src)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesInvertRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesInvertRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesInvertRegion;
- req->source = src;
- req->destination = dst;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesTranslateRegion (Display *dpy, XserverRegion region, int dx, int dy)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesTranslateRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesTranslateRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesTranslateRegion;
- req->region = region;
- req->dx = dx;
- req->dy = dy;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesRegionExtents (Display *dpy, XserverRegion dst, XserverRegion src)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesRegionExtentsReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesRegionExtents, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesRegionExtents;
- req->source = src;
- req->destination = dst;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-XRectangle *
-XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet)
-{
- XRectangle bounds;
-
- return XFixesFetchRegionAndBounds (dpy, region, nrectanglesRet, &bounds);
-}
-
-XRectangle *
-XFixesFetchRegionAndBounds (Display *dpy,
- XserverRegion region,
- int *nrectanglesRet,
- XRectangle *bounds)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesFetchRegionReq *req;
- xXFixesFetchRegionReply rep;
- XRectangle *rects;
- int nrects;
- long nbytes;
- long nread;
-
- XFixesCheckExtension (dpy, info, 0);
- LockDisplay (dpy);
- GetReq (XFixesFetchRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesFetchRegion;
- req->region = region;
- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse))
- {
- UnlockDisplay (dpy);
- SyncHandle ();
- return 0;
- }
- bounds->x = rep.x;
- bounds->y = rep.y;
- bounds->width = rep.width;
- bounds->height = rep.height;
- nbytes = (long) rep.length << 2;
- nrects = rep.length >> 1;
- nread = nrects << 3;
- rects = Xmalloc (nrects * sizeof (XRectangle));
- if (!rects)
- {
- _XEatData (dpy, nbytes);
- UnlockDisplay (dpy);
- SyncHandle ();
- return 0;
- }
- _XRead16 (dpy, (short *) rects, nrects << 3);
- /* skip any padding */
- if(nbytes > nread)
- {
- _XEatData (dpy, (unsigned long) (nbytes - nread));
- }
- UnlockDisplay (dpy);
- SyncHandle();
- *nrectanglesRet = nrects;
- return rects;
-}
-
-void
-XFixesSetGCClipRegion (Display *dpy, GC gc,
- int clip_x_origin, int clip_y_origin,
- XserverRegion region)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesSetGCClipRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesSetGCClipRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesSetGCClipRegion;
- req->gc = gc->gid;
- req->region = region;
- req->xOrigin = clip_x_origin;
- req->yOrigin = clip_y_origin;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesSetWindowShapeRegion (Display *dpy, Window win, int shape_kind,
- int x_off, int y_off, XserverRegion region)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesSetWindowShapeRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesSetWindowShapeRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesSetWindowShapeRegion;
- req->dest = win;
- req->destKind = shape_kind;
- req->xOff = x_off;
- req->yOff = y_off;
- req->region = region;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesSetPictureClipRegion (Display *dpy, XID picture,
- int clip_x_origin, int clip_y_origin,
- XserverRegion region)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesSetPictureClipRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesSetPictureClipRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesSetPictureClipRegion;
- req->picture = picture;
- req->region = region;
- req->xOrigin = clip_x_origin;
- req->yOrigin = clip_y_origin;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-
-void
-XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src,
- unsigned left, unsigned right,
- unsigned top, unsigned bottom)
-{
- XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy);
- xXFixesExpandRegionReq *req;
-
- XFixesSimpleCheckExtension (dpy, info);
- LockDisplay (dpy);
- GetReq (XFixesExpandRegion, req);
- req->reqType = info->codes->major_opcode;
- req->xfixesReqType = X_XFixesExpandRegion;
- req->source = src;
- req->destination = dst;
- req->left = left;
- req->right = right;
- req->top = top;
- req->bottom = bottom;
- UnlockDisplay (dpy);
- SyncHandle();
-}
-