Annotation of 43BSDTahoe/new/X/Xlib/XUpdateMouse.c, revision 1.1.1.1

1.1       root        1: #include <X/mit-copyright.h>
                      2: 
                      3: /* $Header: XUpdateMouse.c,v 10.4 86/02/01 15:41:37 tony Rel $ */
                      4: /* Copyright    Massachusetts Institute of Technology    1985  */
                      5: 
                      6: #include "XlibInternal.h"
                      7: 
                      8: extern _QEvent *_qfree;
                      9: 
                     10: /* Like XQueryMouse, but also reads pending events and flushes any MouseMoved
                     11:  * events at the head of the queue.  A good way to track the mouse is to use
                     12:  * a MouseMoved event as a "hint", by calling this routine to get up to date
                     13:  * coordinates.
                     14:  */
                     15: 
                     16: Status XUpdateMouse (w, x, y, subw)
                     17:        Window w;
                     18:        Window *subw;
                     19:        int *x, *y;
                     20: {
                     21:        register Display *dpy;
                     22:        register XReq *req;
                     23:        register _QEvent *qelt;
                     24:        XRep rep;
                     25: 
                     26:        XPending(dpy = _XlibCurrentDisplay);
                     27:            /* read all events in socket's kernel buffer */
                     28:        GetReq(X_QueryMouse, w);
                     29:        if (!_XReply(dpy, &rep))
                     30:            return(0);
                     31:        while ((qelt = dpy->head) && qelt->event.type == MouseMoved) {
                     32:            if ((dpy->head = qelt->next) == NULL)
                     33:                dpy->tail = NULL;
                     34:            qelt->next = _qfree;
                     35:            _qfree = qelt;
                     36:            dpy->qlen--;
                     37:        }
                     38:        *x = rep.param.s[2];
                     39:        *y = rep.param.s[3];
                     40:        *subw = rep.param.l[0];
                     41:        return (1);
                     42: }
                     43: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.