Annotation of researchv9/X11/src/X.V11R1/lib/X/XFillRect.c, revision 1.1

1.1     ! root        1: #include "copyright.h"
        !             2: 
        !             3: /* $Header: XFillRect.c,v 11.9 87/09/11 08:03:09 toddb Exp $ */
        !             4: /* Copyright    Massachusetts Institute of Technology    1986  */
        !             5: 
        !             6: #include "Xlibint.h"
        !             7: 
        !             8: /* precompute the maximum size of batching request allowed */
        !             9: 
        !            10: static int size = sizeof(xPolyFillRectangleReq) + EPERBATCH * sizeof(xRectangle);
        !            11: 
        !            12: XFillRectangle(dpy, d, gc, x, y, width, height)
        !            13:     register Display *dpy;
        !            14:     Drawable d;
        !            15:     GC gc;
        !            16:     int x, y; /* INT16 */
        !            17:     unsigned int width, height; /* CARD16 */
        !            18: {
        !            19:     xRectangle *rect;
        !            20: 
        !            21:     LockDisplay(dpy);
        !            22:     FlushGC(dpy, gc);
        !            23:     {
        !            24:     register xPolyFillRectangleReq *req 
        !            25:                = (xPolyFillRectangleReq *) dpy->last_req;
        !            26:     /* if same as previous request, with same drawable, batch requests */
        !            27:     if (
        !            28:           (req->reqType == X_PolyFillRectangle)
        !            29:        && (req->drawable == d)
        !            30:        && (req->gc == gc->gid)
        !            31:        && ((dpy->bufptr + sizeof (xRectangle)) <= dpy->bufmax)
        !            32:        && (((char *)dpy->bufptr - (char *)req) < size) ) {
        !            33:          rect = (xRectangle *) dpy->bufptr;
        !            34:         req->length += sizeof (xRectangle) >> 2;
        !            35:         dpy->bufptr += sizeof (xRectangle);
        !            36:         }
        !            37: 
        !            38:     else {
        !            39:        GetReqExtra(PolyFillRectangle, sizeof(xRectangle), req);
        !            40:        req->drawable = d;
        !            41:        req->gc = gc->gid;
        !            42:        rect = (xRectangle *) (req + 1);
        !            43:        }
        !            44:     rect->x = x;
        !            45:     rect->y = y;
        !            46:     rect->width = width;
        !            47:     rect->height = height;
        !            48:     }
        !            49:     UnlockDisplay(dpy);
        !            50:     SyncHandle();
        !            51: }

unix.superglobalmegacorp.com

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