summaryrefslogtreecommitdiff
path: root/print_render.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2001-06-08 00:32:52 +0000
committerAlan Coopersmith <alan.coopersmith@sun.com>2009-05-04 18:13:07 -0700
commit062412a066cc62635c1d1eb99999ee774775ca6f (patch)
tree3a72f748e101900c292cf242055862ecce4bccb7 /print_render.c
parent306057f2475b216fb73686bcb0003355cf88944a (diff)
downloadxscope-062412a066cc62635c1d1eb99999ee774775ca6f.tar.gz
Import xscope bits into keithp.com CVS
Diffstat (limited to 'print_render.c')
-rw-r--r--print_render.c480
1 files changed, 480 insertions, 0 deletions
diff --git a/print_render.c b/print_render.c
new file mode 100644
index 0000000..f7cdab4
--- /dev/null
+++ b/print_render.c
@@ -0,0 +1,480 @@
+/*
+ * $XFree86$
+ *
+ * Copyright © 2000 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.
+ */
+
+#include "scope.h"
+#include "x11.h"
+#include "renderscope.h"
+
+RenderQueryVersion (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderQueryVersionReply (FD fd, unsigned char *buf)
+{
+ short n;
+ long m;
+ long k;
+
+ PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* RenderRequest reply */ ;
+ PrintField(RBf, 1, 1, RENDERREPLY, RENDERREPLYHEADER) /* RenderQueryVersion reply */;
+ if (Verbose < 1)
+ return;
+ printfield(buf, 2, 2, CARD16, "sequence number");
+ printfield(buf, 4, 4, DVALUE4(0), "reply length");
+ PrintField(buf, 8, 2, CARD16, "major-version");
+ PrintField(buf, 10, 2, CARD16, "minor-version");
+}
+RenderQueryPictFormats (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderQueryPictFormatsReply (FD fd, unsigned char *buf)
+{
+ short n;
+ long m;
+ long k;
+
+ PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* RenderRequest reply */ ;
+ PrintField(RBf, 1, 1, RENDERREPLY, RENDERREPLYHEADER) /* RenderQueryVersion reply */;
+ if (Verbose < 1)
+ return;
+ printfield(buf, 2, 2, CARD16, "sequence number");
+ printfield(buf, 4, 4, DVALUE4(0), "reply length");
+}
+RenderQueryPictIndexValues (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderQueryPictIndexValuesReply (FD fd, unsigned char *buf)
+{
+ short n;
+ long m;
+ long k;
+
+ PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* RenderRequest reply */ ;
+ PrintField(RBf, 1, 1, RENDERREPLY, RENDERREPLYHEADER) /* RenderQueryVersion reply */;
+ if (Verbose < 1)
+ return;
+ printfield(buf, 2, 2, CARD16, "sequence number");
+ printfield(buf, 4, 4, DVALUE4(0), "reply length");
+}
+RenderQueryDithers (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderQueryDithersReply (FD fd, unsigned char *buf)
+{
+ short n;
+ long m;
+ long k;
+
+ PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* RenderRequest reply */ ;
+ PrintField(RBf, 1, 1, RENDERREPLY, RENDERREPLYHEADER) /* RenderQueryVersion reply */;
+ if (Verbose < 1)
+ return;
+ printfield(buf, 2, 2, CARD16, "sequence number");
+ printfield(buf, 4, 4, DVALUE4(0), "reply length");
+}
+RenderCreatePicture (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, DVALUE2(5+n), "request length");
+ PrintField(buf, 4, 4, PICTURE, "picture");
+ PrintField(buf, 8, 4, DRAWABLE, "drawable");
+ PrintField(buf, 12, 4, PICTFORMAT, "format");
+ PrintField(buf, 16, 4, PICTURE_BITMASK, "value-mask");
+ PrintValues(&buf[16], 4, PICTURE_BITMASK, &buf[20], "value-list");
+}
+RenderChangePicture (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, DVALUE2(3+n), "request length");
+ PrintField(buf, 4, 4, PICTURE, "picture");
+ PrintField(buf, 8, 4, PICTURE_BITMASK, "value-mask");
+ PrintValues(&buf[8], 4, PICTURE_BITMASK, &buf[12], "value-list");
+}
+RenderSetPictureClipRectangles (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderFreePicture (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderComposite (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderScale (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderTrapezoids (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderTriangles (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderTriStrip (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderTriFan (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderColorTrapezoids (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderColorTriangles (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderTransform (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderCreateGlyphSet (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderReferenceGlyphSet (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderFreeGlyphSet (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderAddGlyphs (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderAddGlyphsFromPicture (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+RenderFreeGlyphs (FD fd, unsigned char *buf)
+{
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+}
+
+extern char Leader[];
+
+void
+PrintGlyphList(unsigned char *buf, int length, char *name, int size)
+{
+ short n;
+
+ fprintf(stdout, "%s%20s:\n", Leader, name);
+ while (length >= 8)
+ {
+ n = IByte(&buf[0]);
+ if (n != 255)
+ {
+ printfield(buf, 0, 1, CARD8, "length");
+ PrintField(buf, 4, 2, INT16, "delta x");
+ PrintField(buf, 6, 2, INT16, "delta y");
+ switch (size) {
+ case 1:
+ PrintTString8(&buf[8], (long) n, "glyph item 8 string"); break;
+ case 2:
+ PrintTString16(&buf[8], (long) n, "glyph item 16 string"); break;
+ case 4:
+ break;
+ }
+ buf += n*size + 8;
+ length -= n*size+8;
+ }
+ else
+ {
+ PrintField(buf, 4, 4, GLYPHSET, "glyphset");
+ buf += 8;
+ length -= 8;
+ }
+ }
+}
+
+RenderCompositeGlyphs8 (FD fd, unsigned char *buf)
+{
+ int n;
+
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+ n = (IShort(&buf[2]) - 7) * 4;
+ PrintField(buf, 4, 1, PICTOP, "op");
+ PrintField(buf, 8, 4, PICTURE, "source");
+ PrintField(buf, 12, 4, PICTURE, "dest");
+ PrintField(buf, 16, 4, PICTFORMAT, "mask format");
+ PrintField(buf, 20, 4, GLYPHSET, "glyphset");
+ PrintField(buf, 24, 2, INT16, "x-src");
+ PrintField(buf, 26, 2, INT16, "y-src");
+ PrintGlyphList(&buf[28], n, "items", 1);
+}
+
+RenderCompositeGlyphs16 (FD fd, unsigned char *buf)
+{
+ int n;
+
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+ n = (IShort(&buf[2]) - 7) * 4;
+
+ PrintField(buf, 4, 1, PICTOP, "op");
+ PrintField(buf, 8, 4, PICTURE, "source");
+ PrintField(buf, 12, 4, PICTURE, "dest");
+ PrintField(buf, 16, 4, PICTFORMAT, "mask format");
+ PrintField(buf, 20, 4, GLYPHSET, "glyphset");
+ PrintField(buf, 24, 2, INT16, "x-src");
+ PrintField(buf, 26, 2, INT16, "y-src");
+ PrintGlyphList(&buf[28], n, "items", 2);
+}
+RenderCompositeGlyphs32 (FD fd, unsigned char *buf)
+{
+ int n;
+
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+ n = (IShort(&buf[2]) - 7) * 4;
+ PrintField(buf, 4, 1, PICTOP, "op");
+ PrintField(buf, 8, 4, PICTURE, "source");
+ PrintField(buf, 12, 4, PICTURE, "dest");
+ PrintField(buf, 16, 4, PICTFORMAT, "mask format");
+ PrintField(buf, 20, 4, GLYPHSET, "glyphset");
+ PrintField(buf, 24, 2, INT16, "x-src");
+ PrintField(buf, 26, 2, INT16, "y-src");
+ PrintGlyphList(&buf[28], n, "items", 4);
+}
+RenderFillRectangles (FD fd, unsigned char *buf)
+{
+ int n;
+ PrintField (buf, 0, 1, REQUEST, REQUESTHEADER) /* RenderRequest */ ;
+ PrintField (buf, 1, 1, RENDERREQUEST, RENDERREQUESTHEADER) /* RenderSwitch */ ;
+ if (Verbose < 1)
+ return;
+ if (Verbose > 1)
+ PrintField(SBf, 0, 4, CARD32, "sequence number");
+
+ printfield(buf, 2, 2, CONST2(2), "request length");
+ n = (IShort(&buf[2]) - 5) / 2;
+ PrintField(buf, 4, 1, PICTOP, "op");
+ PrintField(buf, 8, 4, PICTURE, "dest");
+ PrintField(buf, 12, 8, RENDERCOLOR, "color");
+ (void)PrintList(&buf[20], (long)n, RECTANGLE, "rectangles");
+}
+RenderPictFormatError (fd, buf)
+{
+}
+RenderPictureError (fd, buf)
+{
+}
+RenderPictOpError (fd, buf)
+{
+}
+RenderGlyphSetError (fd, buf)
+{
+}
+RenderGlyphError (fd, buf)
+{
+}