diff options
Diffstat (limited to 'nx-X11/lib/Xfixes/Cursor.c')
-rw-r--r-- | nx-X11/lib/Xfixes/Cursor.c | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/nx-X11/lib/Xfixes/Cursor.c b/nx-X11/lib/Xfixes/Cursor.c deleted file mode 100644 index ada8a681a..000000000 --- a/nx-X11/lib/Xfixes/Cursor.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - * $XFree86: xc/lib/Xfixes/Cursor.c,v 1.1 2002/11/30 06:21:44 keithp Exp $ - * - * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. - * - * 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" - -void -XFixesSelectCursorInput (Display *dpy, - Window win, - unsigned long eventMask) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSelectCursorInputReq *req; - - XFixesSimpleCheckExtension (dpy, info); - - LockDisplay (dpy); - GetReq (XFixesSelectCursorInput, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSelectCursorInput; - req->window = win; - req->eventMask = eventMask; - UnlockDisplay (dpy); - SyncHandle (); -} - -XFixesCursorImage * -XFixesGetCursorImage (Display *dpy) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesGetCursorImageAndNameReq *req; - xXFixesGetCursorImageAndNameReply rep; - int npixels; - int nbytes_name; - int nbytes, nread, rlength; - XFixesCursorImage *image; - char *name; - - XFixesCheckExtension (dpy, info, 0); - LockDisplay (dpy); - GetReq (XFixesGetCursorImageAndName, req); - req->reqType = info->codes->major_opcode; - if (info->major_version >= 2) - req->xfixesReqType = X_XFixesGetCursorImageAndName; - else - req->xfixesReqType = X_XFixesGetCursorImage; - if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) - { - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - if (info->major_version < 2) - { - rep.cursorName = None; - rep.nbytes = 0; - } - npixels = rep.width * rep.height; - nbytes_name = rep.nbytes; - /* reply data length */ - nbytes = (long) rep.length << 2; - /* bytes of actual data in the reply */ - nread = (npixels << 2) + nbytes_name; - /* size of data returned to application */ - rlength = (sizeof (XFixesCursorImage) + - npixels * sizeof (unsigned long) + - nbytes_name + 1); - - image = (XFixesCursorImage *) Xmalloc (rlength); - if (!image) - { - _XEatData (dpy, nbytes); - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - image->x = rep.x; - image->y = rep.y; - image->width = rep.width; - image->height = rep.height; - image->xhot = rep.xhot; - image->yhot = rep.yhot; - image->cursor_serial = rep.cursorSerial; - image->pixels = (unsigned long *) (image + 1); - image->atom = rep.cursorName; - name = (char *) (image->pixels + npixels); - image->name = name; - _XRead32 (dpy, image->pixels, npixels << 2); - _XRead (dpy, name, nbytes_name); - name[nbytes_name] = '\0'; /* null-terminate */ - /* skip any padding */ - if(nbytes > nread) - { - _XEatData (dpy, (unsigned long) (nbytes - nread)); - } - UnlockDisplay (dpy); - SyncHandle (); - return image; -} - -void -XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSetCursorNameReq *req; - int nbytes = strlen (name); - - XFixesSimpleCheckExtension (dpy, info); - if (info->major_version < 2) - return; - LockDisplay (dpy); - GetReq (XFixesSetCursorName, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSetCursorName; - req->cursor = cursor; - req->nbytes = nbytes; - req->length += (nbytes + 3) >> 2; - Data (dpy, name, nbytes); - UnlockDisplay (dpy); - SyncHandle (); -} - -const char * -XFixesGetCursorName (Display *dpy, Cursor cursor, Atom *atom) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesGetCursorNameReq *req; - xXFixesGetCursorNameReply rep; - char *name; - - XFixesCheckExtension (dpy, info, 0); - if (info->major_version < 2) - return 0; - LockDisplay (dpy); - GetReq (XFixesGetCursorName, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesGetCursorName; - req->cursor = cursor; - if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) - { - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - *atom = rep.atom; - if ((name = (char *) Xmalloc(rep.nbytes+1))) { - _XReadPad(dpy, name, (long)rep.nbytes); - name[rep.nbytes] = '\0'; - } else { - _XEatData(dpy, (unsigned long) (rep.nbytes + 3) & ~3); - name = (char *) NULL; - } - UnlockDisplay(dpy); - SyncHandle(); - return(name); -} - -void -XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesChangeCursorReq *req; - - XFixesSimpleCheckExtension (dpy, info); - if (info->major_version < 2) - return; - LockDisplay (dpy); - GetReq (XFixesChangeCursor, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesChangeCursor; - req->source = source; - req->destination = destination; - UnlockDisplay(dpy); - SyncHandle(); -} - -void -XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesChangeCursorByNameReq *req; - int nbytes = strlen (name); - - XFixesSimpleCheckExtension (dpy, info); - if (info->major_version < 2) - return; - LockDisplay (dpy); - GetReq (XFixesChangeCursorByName, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesChangeCursorByName; - req->source = source; - req->nbytes = nbytes; - req->length += (nbytes + 3) >> 2; - Data (dpy, name, nbytes); - UnlockDisplay(dpy); - SyncHandle(); -} |