|
|
1.1 root 1: #include <X/mit-copyright.h>
2:
3: /* $Header: XAppendVertex.c,v 10.5 86/02/01 15:29:28 tony Rel $ */
4: /* Copyright Massachusetts Institute of Technology 1985 */
5:
6: #include "XlibInternal.h"
7: XAppendVertex (vertices, nvert)
8: Vertex vertices[];
9: int nvert;
10: {
11: register Display *dpy = _XlibCurrentDisplay;
12: register XReq *lastdraw;
13: register char *old_bufptr, *new_bufptr;
14: int nbytes;
15:
16: if ((lastdraw = (XReq*)(dpy->lastdraw)) == NULL)
17: return (0); /* no draw command in output buffer */
18:
19: old_bufptr = dpy->bufptr;
20: /* subtract off any padding */
21: if (lastdraw->param.s[0] & 1)
22: old_bufptr -= 2;
23: new_bufptr = old_bufptr + (nbytes = nvert*sizeof(Vertex));
24: if (new_bufptr >= dpy->bufmax)
25: return (-1); /* vertices don't fit */
26:
27: /* increment number of vertices in XDraw packet */
28: lastdraw->param.s[0] += nvert;
29: bcopy (vertices, old_bufptr, nbytes);
30: /* add in padding if needed */
31: if (lastdraw->param.s[0] & 1)
32: new_bufptr += 2;
33: dpy->bufptr = new_bufptr;
34: return (nvert);
35: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.