summaryrefslogtreecommitdiff
path: root/do_tests.c
diff options
context:
space:
mode:
authorKaleb Keithley <kaleb@freedesktop.org>2003-11-14 15:54:53 +0000
committerKaleb Keithley <kaleb@freedesktop.org>2003-11-14 15:54:53 +0000
commitd7d99c8433b3bd35c8bad352ebd1fc49cff45264 (patch)
tree83c0e24403636a9a639ebf5c2fcd4e3b7efecef7 /do_tests.c
R6.6 is the Xorg base-lineXORG-MAIN
Diffstat (limited to 'do_tests.c')
-rw-r--r--do_tests.c1297
1 files changed, 1297 insertions, 0 deletions
diff --git a/do_tests.c b/do_tests.c
new file mode 100644
index 0000000..c938de9
--- /dev/null
+++ b/do_tests.c
@@ -0,0 +1,1297 @@
+/* $Xorg: do_tests.c,v 1.3 2000/08/17 19:54:10 cpqbld Exp $ */
+/*****************************************************************************
+Copyright 1988, 1989 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+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 Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL 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 "x11perf.h"
+
+extern void DoGetAtom();
+extern void DoQueryPointer();
+
+extern void DoNoOp();
+
+extern Bool InitGetProperty();
+extern void DoGetProperty();
+
+extern Bool InitRectangles();
+extern void DoRectangles();
+extern void DoOutlineRectangles();
+extern void EndRectangles();
+
+extern Bool InitGC();
+extern void DoChangeGC();
+extern void EndGC();
+
+extern Bool InitSegments();
+extern Bool InitHorizSegments();
+extern Bool InitVertSegments();
+extern Bool InitWideHorizSegments();
+extern Bool InitWideVertSegments();
+extern Bool InitDashedSegments();
+extern Bool InitDoubleDashedSegments();
+extern void DoSegments();
+extern void EndSegments();
+
+extern Bool InitLines();
+extern Bool InitWideLines();
+extern Bool InitDashedLines();
+extern Bool InitWideDashedLines();
+extern Bool InitDoubleDashedLines();
+extern Bool InitWideDoubleDashedLines();
+extern void DoLines();
+extern void EndLines();
+
+
+extern Bool InitCircles();
+extern Bool InitPartCircles();
+extern Bool InitWideCircles();
+extern Bool InitPartWideCircles();
+extern Bool InitDashedCircles();
+extern Bool InitWideDashedCircles();
+extern Bool InitDoubleDashedCircles();
+extern Bool InitWideDoubleDashedCircles();
+extern Bool InitChordPartCircles();
+extern Bool InitSlicePartCircles();
+
+extern Bool InitEllipses();
+extern Bool InitPartEllipses();
+extern Bool InitWideEllipses();
+extern Bool InitPartWideEllipses();
+extern Bool InitDashedEllipses();
+extern Bool InitWideDashedEllipses();
+extern Bool InitDoubleDashedEllipses();
+extern Bool InitWideDoubleDashedEllipses();
+extern Bool InitChordPartEllipses();
+extern Bool InitSlicePartEllipses();
+extern void DoArcs();
+extern void DoFilledArcs();
+extern void EndArcs();
+
+extern Bool InitDots();
+extern void DoDots();
+extern void EndDots();
+
+extern Bool InitCreate();
+extern void CreateChildren();
+extern void DestroyChildren();
+extern void EndCreate();
+
+extern Bool InitMap();
+extern void MapParents();
+extern void UnmapParents();
+
+extern Bool InitDestroy();
+extern void DestroyParents();
+extern void RenewParents();
+
+extern Bool InitMoveWindows();
+extern void DoMoveWindows();
+extern void EndMoveWindows();
+
+extern void DoResizeWindows();
+
+extern Bool InitCircWindows();
+extern void DoCircWindows();
+extern void EndCircWindows();
+
+extern Bool InitMoveTree();
+extern void DoMoveTree();
+extern void EndMoveTree();
+
+extern Bool InitText();
+extern Bool InitText16();
+extern void DoText();
+extern void DoText16();
+extern void DoImageText();
+extern void DoImageText16();
+extern void DoPolyText();
+extern void DoPolyText16();
+extern void ClearTextWin();
+extern void EndText();
+extern void EndText16();
+
+extern Bool InitCopyPlane();
+extern void DoCopyPlane();
+extern void EndCopyPlane();
+
+extern Bool InitPopups();
+extern void DoPopUps();
+extern void EndPopups();
+
+extern Bool InitScroll();
+extern void DoScroll();
+extern void MidScroll();
+extern void EndScroll();
+
+extern Bool InitCopyWin();
+extern Bool InitCopyPix();
+extern void DoCopyWinWin();
+extern void DoCopyPixWin();
+extern void DoCopyWinPix();
+extern void DoCopyPixPix();
+extern void MidCopyPix();
+extern void EndCopyWin();
+extern void EndCopyPix();
+
+extern Bool InitGetImage();
+extern void DoGetImage();
+extern void EndGetImage();
+
+extern Bool InitPutImage();
+extern void DoPutImage();
+
+#ifdef MITSHM
+extern Bool InitShmPutImage();
+extern void DoShmPutImage();
+extern void EndShmPutImage();
+#endif
+
+extern Bool InitTriangles();
+extern void DoTriangles();
+extern void EndTriangles();
+
+extern Bool InitTrapezoids();
+extern void DoTrapezoids();
+extern void EndTrapezoids();
+
+extern Bool InitComplexPoly();
+extern void DoComplexPoly();
+extern void EndComplexPoly();
+
+extern Bool InitGeneralPoly();
+extern void DoGeneralPoly();
+
+/*
+ * some test must be done a certain multiple of times. That multiple is
+ * in the second half of the products below. You can edit the multiplier,
+ * just not the multiplicand.
+ */
+
+Test test[] = {
+ {"-dot", "Dot", NULL,
+ InitDots, DoDots, NullProc, EndDots,
+ V1_2FEATURE, ROP, 0,
+ {POLY}},
+ {"-rect1", "1x1 rectangle", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 1, NULL, NULL, FillSolid}},
+ {"-rect10", "10x10 rectangle", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10, NULL, NULL, FillSolid}},
+ {"-rect100", "100x100 rectangle", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {36, 100, NULL, NULL, FillSolid}},
+ {"-rect500", "500x500 rectangle", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {1, 500, NULL, NULL, FillSolid}},
+ {"-srect1", "1x1 stippled rectangle",
+ "1x1 stippled rectangle (8x8 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 1, NULL, NULL, FillStippled}},
+ {"-srect10", "10x10 stippled rectangle",
+ "10x10 stippled rectangle (8x8 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10, NULL, NULL, FillStippled}},
+ {"-srect100", "100x100 stippled rectangle",
+ "100x100 stippled rectangle (8x8 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {36, 100, NULL, NULL, FillStippled}},
+ {"-srect500", "500x500 stippled rectangle",
+ "500x500 stippled rectangle (8x8 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {1, 500, NULL, NULL, FillStippled}},
+ {"-osrect1", "1x1 opaque stippled rectangle",
+ "1x1 opaque stippled rectangle (8x8 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 1, NULL, NULL, FillOpaqueStippled}},
+ {"-osrect10", "10x10 opaque stippled rectangle",
+ "10x10 opaque stippled rectangle (8x8 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10, NULL, NULL, FillOpaqueStippled}},
+ {"-osrect100", "100x100 opaque stippled rectangle",
+ "100x100 opaque stippled rectangle (8x8 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {36, 100, NULL, NULL, FillOpaqueStippled}},
+ {"-osrect500", "500x500 opaque stippled rectangle",
+ "500x500 opaque stippled rectangle (8x8 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {1, 500, NULL, NULL, FillOpaqueStippled}},
+ {"-tilerect1", "1x1 4x4 tiled rectangle",
+ "1x1 tiled rectangle (4x4 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 1, NULL, NULL, FillTiled}},
+ {"-tilerect10", "10x10 4x4 tiled rectangle",
+ "10x10 tiled rectangle (4x4 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10, NULL, NULL, FillTiled}},
+ {"-tilerect100", "100x100 4x4 tiled rectangle",
+ "100x100 tiled rectangle (4x4 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {36, 100, NULL, NULL, FillTiled}},
+ {"-tilerect500", "500x500 4x4 tiled rectangle",
+ "500x500 tiled rectangle (4x4 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {1, 500, NULL, NULL, FillTiled}},
+ {"-oddsrect1", "1x1 stippled rectangle (17x15 stipple)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "OddTile", NULL, FillStippled}},
+ {"-oddsrect10", "10x10 stippled rectangle (17x15 stipple)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 10, "OddTile", NULL, FillStippled}},
+ {"-oddsrect100", "100x100 stippled rectangle (17x15 stipple)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {36, 100, "OddTile", NULL, FillStippled}},
+ {"-oddsrect500", "500x500 stippled rectangle (17x15 stipple)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {1, 500, "OddTile", NULL, FillStippled}},
+ {"-oddosrect1", "1x1 opaque stippled rectangle (17x15 stipple)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "OddTile", NULL, FillOpaqueStippled}},
+ {"-oddosrect10", "10x10 opaque stippled rectangle (17x15 stipple)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 10, "OddTile", NULL, FillOpaqueStippled}},
+ {"-oddosrect100", "100x100 opaque stippled rectangle (17x15 stipple)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {36, 100, "OddTile", NULL, FillOpaqueStippled}},
+ {"-oddosrect500", "500x500 opaque stippled rectangle (17x15 stipple)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {1, 500, "OddTile", NULL, FillOpaqueStippled}},
+ {"-oddtilerect1", "1x1 tiled rectangle (17x15 tile)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "OddTile", NULL, FillTiled}},
+ {"-oddtilerect10", "10x10 tiled rectangle (17x15 tile)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 10, "OddTile", NULL, FillTiled}},
+ {"-oddtilerect100", "100x100 tiled rectangle (17x15 tile)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {36, 100, "OddTile", NULL, FillTiled}},
+ {"-oddtilerect500", "500x500 tiled rectangle (17x15 tile)", NULL,
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_4FEATURE, ROP, 0,
+ {1, 500, "OddTile", NULL, FillTiled}},
+ {"-bigsrect1", "1x1 161x145 stippled rectangle",
+ "1x1 stippled rectangle (161x145 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 1, "mensetmanus", NULL, FillStippled}},
+ {"-bigsrect10", "10x10 161x145 stippled rectangle",
+ "10x10 stippled rectangle (161x145 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10, "mensetmanus", NULL, FillStippled}},
+ {"-bigsrect100", "100x100 161x145 stippled rectangle",
+ "100x100 stippled rectangle (161x145 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {36, 100, "mensetmanus", NULL, FillStippled}},
+ {"-bigsrect500", "500x500 161x145 stippled rectangle",
+ "500x500 stippled rectangle (161x145 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {1, 500, "mensetmanus", NULL, FillStippled}},
+ {"-bigosrect1", "1x1 161x145 opaque stippled rectangle",
+ "1x1 opaque stippled rectangle (161x145 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 1, "mensetmanus", NULL, FillOpaqueStippled}},
+ {"-bigosrect10", "10x10 161x145 opaque stippled rectangle",
+ "10x10 opaque stippled rectangle (161x145 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10, "mensetmanus", NULL, FillOpaqueStippled}},
+ {"-bigosrect100", "100x100 161x145 opaque stippled rectangle",
+ "100x100 opaque stippled rectangle (161x145 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {36, 100, "mensetmanus", NULL, FillOpaqueStippled}},
+ {"-bigosrect500", "500x500 161x145 opaque stippled rectangle",
+ "500x500 opaque stippled rectangle (161x145 stipple)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {1, 500, "mensetmanus", NULL, FillOpaqueStippled}},
+ {"-bigtilerect1", "1x1 161x145 tiled rectangle",
+ "1x1 tiled rectangle (161x145 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 1, "mensetmanus", NULL, FillTiled}},
+ {"-bigtilerect10", "10x10 161x145 tiled rectangle",
+ "10x10 tiled rectangle (161x145 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10, "mensetmanus", NULL, FillTiled}},
+ {"-bigtilerect100", "100x100 161x145 tiled rectangle",
+ "100x100 tiled rectangle (161x145 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {36, 100, "mensetmanus", NULL, FillTiled}},
+ {"-bigtilerect500", "500x500 161x145 tiled rectangle",
+ "500x500 tiled rectangle (161x145 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_2FEATURE, ROP, 0,
+ {1, 500, "mensetmanus", NULL, FillTiled}},
+ {"-eschertilerect1", "1x1 216x208 tiled rectangle",
+ "1x1 tiled rectangle (216x208 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 1, "escherknot", NULL, FillTiled}},
+ {"-eschertilerect10", "10x10 216x208 tiled rectangle",
+ "10x10 tiled rectangle (216x208 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10, "escherknot", NULL, FillTiled}},
+ {"-eschertilerect100", "100x100 216x208 tiled rectangle",
+ "100x100 tiled rectangle (216x208 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {36, 100, "escherknot", NULL, FillTiled}},
+ {"-eschertilerect500", "500x500 216x208 tiled rectangle",
+ "500x500 tiled rectangle (216x208 tile)",
+ InitRectangles, DoRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {1, 500, "escherknot", NULL, FillTiled}},
+ {"-seg1", "1-pixel line segment", NULL,
+ InitSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 1}},
+ {"-seg10", "10-pixel line segment", NULL,
+ InitSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-seg100", "100-pixel line segment", NULL,
+ InitSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 100}},
+ {"-seg500", "500-pixel line segment", NULL,
+ InitSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 500}},
+ {"-seg100c1", "100-pixel line segment (1 kid)", NULL,
+ InitSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 1,
+ {POLY, 100}},
+ {"-seg100c2", "100-pixel line segment (2 kids)", NULL,
+ InitSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 2,
+ {POLY, 100}},
+ {"-seg100c3", "100-pixel line segment (3 kids)", NULL,
+ InitSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 3,
+ {POLY, 100}},
+ {"-dseg10", "10-pixel dashed segment", NULL,
+ InitDashedSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-dseg100", "100-pixel dashed segment", NULL,
+ InitDashedSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 100}},
+ {"-ddseg100", "100-pixel double-dashed segment", NULL,
+ InitDoubleDashedSegments, DoSegments, NullProc, EndSegments,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 100}},
+ {"-hseg10", "10-pixel horizontal line segment", NULL,
+ InitHorizSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-hseg100", "100-pixel horizontal line segment", NULL,
+ InitHorizSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 100}},
+ {"-hseg500", "500-pixel horizontal line segment", NULL,
+ InitHorizSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 500}},
+ {"-vseg10", "10-pixel vertical line segment", NULL,
+ InitVertSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-vseg100", "100-pixel vertical line segment", NULL,
+ InitVertSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 100}},
+ {"-vseg500", "500-pixel vertical line segment", NULL,
+ InitVertSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 500}},
+ {"-whseg10", "10x1 wide horizontal line segment", NULL,
+ InitWideHorizSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {200, 10}},
+ {"-whseg100", "100x10 wide horizontal line segment", NULL,
+ InitWideHorizSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {100, 100}},
+ {"-whseg500", "500x50 wide horizontal line segment", NULL,
+ InitWideHorizSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {50, 500}},
+ {"-wvseg10", "10x1 wide vertical line segment", NULL,
+ InitWideVertSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {200, 10}},
+ {"-wvseg100", "100x10 wide vertical line segment", NULL,
+ InitWideVertSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {100, 100}},
+ {"-wvseg500", "500x50 wide vertical line segment", NULL,
+ InitWideVertSegments, DoSegments, NullProc, EndSegments,
+ V1_3FEATURE, ROP, 0,
+ {50, 500}},
+ {"-line1", "1-pixel line", NULL,
+ InitLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 1}},
+ {"-line10", "10-pixel line", NULL,
+ InitLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-line100", "100-pixel line", NULL,
+ InitLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 100}},
+ {"-line500", "500-pixel line", NULL,
+ InitLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 500}},
+ {"-dline10", "10-pixel dashed line", NULL,
+ InitDashedLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-dline100", "100-pixel dashed line", NULL,
+ InitDashedLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 100}},
+ {"-ddline100", "100-pixel double-dashed line", NULL,
+ InitDoubleDashedLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 100}},
+ {"-wline10", "10x1 wide line", NULL,
+ InitWideLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {100, 10}},
+ {"-wline100", "100x10 wide line", NULL,
+ InitWideLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {100, 100}},
+ {"-wline500", "500x50 wide line", NULL,
+ InitWideLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {50, 500}},
+ {"-wdline100", "100x10 wide dashed line", NULL,
+ InitWideDashedLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {100, 100}},
+ {"-wddline100", "100x10 wide double-dashed line", NULL,
+ InitWideDoubleDashedLines, DoLines, NullProc, EndLines,
+ V1_2FEATURE, ROP, 0,
+ {100, 100}},
+ {"-orect10", "10x10 rectangle outline", NULL,
+ InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10, NULL, "0", FillSolid}},
+ {"-orect100", "100x100 rectangle outline", NULL,
+ InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {36, 100, NULL, "0", FillSolid}},
+ {"-orect500", "500x500 rectangle outline", NULL,
+ InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {1, 500, NULL, "0", FillSolid}},
+ {"-worect10", "10x10 wide rectangle outline", NULL,
+ InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10, NULL, "1", FillSolid}},
+ {"-worect100", "100x100 wide rectangle outline", NULL,
+ InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {36, 100, NULL, "10", FillSolid}},
+ {"-worect500", "500x500 wide rectangle outline", NULL,
+ InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
+ V1_3FEATURE, ROP, 0,
+ {1, 500, NULL, "50", FillSolid}},
+ {"-circle1", "1-pixel circle", NULL,
+ InitCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 1}},
+ {"-circle10", "10-pixel circle", NULL,
+ InitCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-circle100", "100-pixel circle", NULL,
+ InitCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {200, 100}},
+ {"-circle500", "500-pixel circle", NULL,
+ InitCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {50, 500}},
+ {"-dcircle100", "100-pixel dashed circle", NULL,
+ InitDashedCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {100, 100}},
+ {"-ddcircle100", "100-pixel double-dashed circle", NULL,
+ InitDoubleDashedCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {100, 100}},
+ {"-wcircle10", "10-pixel wide circle", NULL,
+ InitWideCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-wcircle100", "100-pixel wide circle", NULL,
+ InitWideCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {100, 100}},
+ {"-wcircle500", "500-pixel wide circle", NULL,
+ InitWideCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {25, 500}},
+ {"-wdcircle100", "100-pixel wide dashed circle", NULL,
+ InitWideDashedCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {100, 100}},
+ {"-wddcircle100", "100-pixel wide double-dashed circle", NULL,
+ InitWideDoubleDashedCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {100, 100}},
+ {"-pcircle10", "10-pixel partial circle", NULL,
+ InitPartCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-pcircle100", "100-pixel partial circle", NULL,
+ InitPartCircles, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {198, 100}},
+ {"-wpcircle10", "10-pixel wide partial circle", NULL,
+ InitPartWideCircles, DoArcs, NullProc, EndArcs,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-wpcircle100", "100-pixel wide partial circle", NULL,
+ InitPartWideCircles, DoArcs, NullProc, EndArcs,
+ V1_3FEATURE, ROP, 0,
+ {198, 100}},
+ {"-fcircle1", "1-pixel solid circle", NULL,
+ InitCircles, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 1}},
+ {"-fcircle10", "10-pixel solid circle", NULL,
+ InitCircles, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-fcircle100", "100-pixel solid circle", NULL,
+ InitCircles, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {100, 100}},
+ {"-fcircle500", "500-pixel solid circle", NULL,
+ InitCircles, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {20, 500}},
+ {"-fcpcircle10", "10-pixel fill chord partial circle", NULL,
+ InitChordPartCircles, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-fcpcircle100", "100-pixel fill chord partial circle", NULL,
+ InitChordPartCircles, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {108, 100}},
+ {"-fspcircle10", "10-pixel fill slice partial circle", NULL,
+ InitSlicePartCircles, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-fspcircle100", "100-pixel fill slice partial circle", NULL,
+ InitSlicePartCircles, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {108, 100}},
+ {"-ellipse10", "10-pixel ellipse", NULL,
+ InitEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {500, 10}},
+ {"-ellipse100", "100-pixel ellipse", NULL,
+ InitEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {300, 100}},
+ {"-ellipse500", "500-pixel ellipse", NULL,
+ InitEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {100, 500}},
+ {"-dellipse100", "100-pixel dashed ellipse", NULL,
+ InitDashedEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {25, 100}},
+ {"-ddellipse100", "100-pixel double-dashed ellipse", NULL,
+ InitDoubleDashedEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {25, 100}},
+ {"-wellipse10", "10-pixel wide ellipse", NULL,
+ InitWideEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {200, 10}},
+ {"-wellipse100", "100-pixel wide ellipse", NULL,
+ InitWideEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {25, 100}},
+ {"-wellipse500", "500-pixel wide ellipse", NULL,
+ InitWideEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {20, 500}},
+ {"-wdellipse100", "100-pixel wide dashed ellipse", NULL,
+ InitWideDashedEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {25, 100}},
+ {"-wddellipse100", "100-pixel wide double-dashed ellipse", NULL,
+ InitWideDoubleDashedEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {25, 100}},
+ {"-pellipse10", "10-pixel partial ellipse", NULL,
+ InitPartEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {540, 10}},
+ {"-pellipse100", "100-pixel partial ellipse", NULL,
+ InitPartEllipses, DoArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {360, 100}},
+ {"-wpellipse10", "10-pixel wide partial ellipse", NULL,
+ InitPartWideEllipses, DoArcs, NullProc, EndArcs,
+ V1_3FEATURE, ROP, 0,
+ {540, 10}},
+ {"-wpellipse100", "100-pixel wide partial ellipse", NULL,
+ InitPartWideEllipses, DoArcs, NullProc, EndArcs,
+ V1_3FEATURE, ROP, 0,
+ {360, 100}},
+ {"-fellipse10", "10-pixel filled ellipse", NULL,
+ InitEllipses, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {200, 10}},
+ {"-fellipse100", "100-pixel filled ellipse", NULL,
+ InitEllipses, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {25, 100}},
+ {"-fellipse500", "500-pixel filled ellipse", NULL,
+ InitEllipses, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {10, 500}},
+ {"-fcpellipse10", "10-pixel fill chord partial ellipse", NULL,
+ InitChordPartEllipses, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {270, 10}},
+ {"-fcpellipse100", "100-pixel fill chord partial ellipse", NULL,
+ InitChordPartEllipses, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {36, 100}},
+ {"-fspellipse10", "10-pixel fill slice partial ellipse", NULL,
+ InitSlicePartEllipses, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {270, 10}},
+ {"-fspellipse100", "100-pixel fill slice partial ellipse", NULL,
+ InitSlicePartEllipses, DoFilledArcs, NullProc, EndArcs,
+ V1_2FEATURE, ROP, 0,
+ {36, 100}},
+ {"-triangle1", "Fill 1-pixel/side triangle", NULL,
+ InitTriangles, DoTriangles, NullProc, EndTriangles,
+ V1_2ONLY, ROP, 0,
+ {POLY, 1}},
+ {"-triangle10", "Fill 10-pixel/side triangle", NULL,
+ InitTriangles, DoTriangles, NullProc, EndTriangles,
+ V1_2ONLY, ROP, 0,
+ {POLY, 10}},
+ {"-triangle100", "Fill 100-pixel/side triangle", NULL,
+ InitTriangles, DoTriangles, NullProc, EndTriangles,
+ V1_2ONLY, ROP, 0,
+ {100, 100}},
+ {"-triangle1", "Fill 1x1 equivalent triangle", NULL,
+ InitTriangles, DoTriangles, NullProc, EndTriangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 1}},
+ {"-triangle10", "Fill 10x10 equivalent triangle", NULL,
+ InitTriangles, DoTriangles, NullProc, EndTriangles,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-triangle100", "Fill 100x100 equivalent triangle", NULL,
+ InitTriangles, DoTriangles, NullProc, EndTriangles,
+ V1_3FEATURE, ROP, 0,
+ {100, 100}},
+ {"-trap1", "Fill 1x1 trapezoid", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1}},
+ {"-trap10", "Fill 10x10 trapezoid", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-trap100", "Fill 100x100 trapezoid", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_2FEATURE, ROP, 0,
+ {POLY/10, 100}},
+ {"-trap300", "Fill 300x300 trapezoid", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300}},
+ {"-strap1", "Fill 1x1 stippled trapezoid (8x8 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, NULL, NULL, FillStippled}},
+ {"-strap10", "Fill 10x10 stippled trapezoid",
+ "Fill 10x10 stippled trapezoid (8x8 stipple)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10, NULL, NULL, FillStippled}},
+ {"-strap100", "Fill 100x100 stippled trapezoid",
+ "Fill 100x100 stippled trapezoid (8x8 stipple)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_2FEATURE, ROP, 0,
+ {100, 100, NULL, NULL, FillStippled}},
+ {"-strap300", "Fill 300x300 stippled trapezoid (8x8 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, NULL, NULL, FillStippled}},
+ {"-ostrap1", "Fill 1x1 opaque stippled trapezoid (8x8 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, NULL, NULL, FillOpaqueStippled}},
+ {"-ostrap10", "Fill 10x10 opaque stippled trapezoid",
+ "Fill 10x10 opaque stippled trapezoid (8x8 stipple)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10, NULL, NULL, FillOpaqueStippled}},
+ {"-ostrap100", "Fill 100x100 opaque stippled trapezoid",
+ "Fill 100x100 opaque stippled trapezoid (8x8 stipple)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_2FEATURE, ROP, 0,
+ {100, 100, NULL, NULL, FillOpaqueStippled}},
+ {"-ostrap300", "Fill 300x300 opaque stippled trapezoid (8x8 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, NULL, NULL, FillOpaqueStippled}},
+ {"-tiletrap1", "Fill 1x1 tiled trapezoid (4x4 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, NULL, NULL, FillTiled}},
+ {"-tiletrap10", "Fill 10x10 tiled trapezoid",
+ "Fill 10x10 tiled trapezoid (4x4 tile)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_2FEATURE, ROP, 0,
+ {POLY, 10, NULL, NULL, FillTiled}},
+ {"-tiletrap100", "Fill 100x100 tiled trapezoid",
+ "Fill 100x100 tiled trapezoid (4x4 tile)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_2FEATURE, ROP, 0,
+ {100, 100, NULL, NULL, FillTiled}},
+ {"-tiletrap300", "Fill 300x300 tiled trapezoid (4x4 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, NULL, NULL, FillTiled}},
+ {"-oddstrap1", "Fill 1x1 stippled trapezoid (17x15 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "OddTile", NULL, FillStippled}},
+ {"-oddstrap10", "Fill 10x10 stippled trapezoid (17x15 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 10, "OddTile", NULL, FillStippled}},
+ {"-oddstrap100", "Fill 100x100 stippled trapezoid (17x15 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {100, 100, "OddTile", NULL, FillStippled}},
+ {"-oddstrap300", "Fill 300x300 stippled trapezoid (17x15 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, "OddTile", NULL, FillStippled}},
+ {"-oddostrap1", "Fill 1x1 opaque stippled trapezoid (17x15 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "OddTile", NULL, FillOpaqueStippled}},
+ {"-oddostrap10", "Fill 10x10 opaque stippled trapezoid (17x15 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 10, "OddTile", NULL, FillOpaqueStippled}},
+ {"-oddostrap100", "Fill 100x100 opaque stippled trapezoid (17x15 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {100, 100, "OddTile", NULL, FillOpaqueStippled}},
+ {"-oddostrap300", "Fill 300x300 opaque stippled trapezoid (17x15 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, "OddTile", NULL, FillOpaqueStippled}},
+ {"-oddtiletrap1", "Fill 1x1 tiled trapezoid (17x15 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "OddTile", NULL, FillTiled}},
+ {"-oddtiletrap10", "Fill 10x10 tiled trapezoid (17x15 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 10, "OddTile", NULL, FillTiled}},
+ {"-oddtiletrap100", "Fill 100x100 tiled trapezoid (17x15 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {100, 100, "OddTile", NULL, FillTiled}},
+ {"-oddtiletrap300", "Fill 300x300 tiled trapezoid (17x15 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, "OddTile", NULL, FillTiled}},
+ {"-bigstrap1", "Fill 1x1 stippled trapezoid (161x145 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "mensetmanus", NULL, FillStippled}},
+ {"-bigstrap10", "Fill 10x10 161x145 stippled trapezoid",
+ "Fill 10x10 stippled trapezoid (161x145 stipple)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10, "mensetmanus", NULL, FillStippled}},
+ {"-bigstrap100", "Fill 100x100 161x145 stippled trapezoid",
+ "Fill 100x100 stippled trapezoid (161x145 stipple)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_3FEATURE, ROP, 0,
+ {100, 100, "mensetmanus", NULL, FillStippled}},
+ {"-bigstrap300", "Fill 300x300 stippled trapezoid (161x145 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, "mensetmanus", NULL, FillStippled}},
+ {"-bigostrap1", "Fill 1x1 opaque stippled trapezoid (161x145 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "mensetmanus", NULL, FillOpaqueStippled}},
+ {"-bigostrap10", "Fill 10x10 161x145 opaque stippled trapezoid",
+ "Fill 10x10 opaque stippled trapezoid (161x145 stipple)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10, "mensetmanus", NULL, FillOpaqueStippled}},
+ {"-bigostrap100", "Fill 100x100 161x145 opaque stippled trapezoid",
+ "Fill 100x100 opaque stippled trapezoid (161x145 stipple)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_3FEATURE, ROP, 0,
+ {100, 100, "mensetmanus", NULL, FillOpaqueStippled}},
+ {"-bigostrap300", "Fill 300x300 opaque stippled trapezoid (161x145 stipple)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, "mensetmanus", NULL, FillOpaqueStippled}},
+ {"-bigtiletrap1", "Fill 1x1 tiled trapezoid (161x145 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "mensetmanus", NULL, FillTiled}},
+ {"-bigtiletrap10", "Fill 10x10 161x145 tiled trapezoid",
+ "Fill 10x10 tiled trapezoid (161x145 tile)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10, "mensetmanus", NULL, FillTiled}},
+ {"-bigtiletrap100", "Fill 100x100 161x145 tiled trapezoid",
+ "Fill 100x100 tiled trapezoid (161x145 tile)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_3FEATURE, ROP, 0,
+ {100, 100, "mensetmanus", NULL, FillTiled}},
+ {"-bigtiletrap300", "Fill 300x300 tiled trapezoid (161x145 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, "mensetmanus", NULL, FillTiled}},
+ {"-eschertiletrap1", "Fill 1x1 tiled trapezoid (216x208 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 1, "escherknot", NULL, FillTiled}},
+ {"-eschertiletrap10", "Fill 10x10 216x208 tiled trapezoid",
+ "Fill 10x10 tiled trapezoid (216x208 tile)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10, "escherknot", NULL, FillTiled}},
+ {"-eschertiletrap100", "Fill 100x100 216x208 tiled trapezoid",
+ "Fill 100x100 tiled trapezoid (216x208 tile)",
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_3FEATURE, ROP, 0,
+ {36, 100, "escherknot", NULL, FillTiled}},
+ {"-eschertiletrap300", "Fill 300x300 tiled trapezoid (216x208 tile)", NULL,
+ InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
+ V1_4FEATURE, ROP, 0,
+ {2, 300, "escherknot", NULL, FillTiled}},
+ {"-complex10", "Fill 10-pixel/side complex polygon", NULL,
+ InitComplexPoly, DoComplexPoly, NullProc, EndComplexPoly,
+ V1_2ONLY, ROP, 0,
+ {POLY, 10}},
+ {"-complex100", "Fill 100-pixel/side complex polygons", NULL,
+ InitComplexPoly, DoComplexPoly, NullProc, EndComplexPoly,
+ V1_2ONLY, ROP, 0,
+ {POLY/10, 100}},
+ {"-complex10", "Fill 10x10 equivalent complex polygon", NULL,
+ InitComplexPoly, DoComplexPoly, NullProc, EndComplexPoly,
+ V1_3FEATURE, ROP, 0,
+ {POLY, 10}},
+ {"-complex100", "Fill 100x100 equivalent complex polygons", NULL,
+ InitComplexPoly, DoComplexPoly, NullProc, EndComplexPoly,
+ V1_3FEATURE, ROP, 0,
+ {POLY/10, 100}},
+ {"-64poly10convex", "Fill 10x10 64-gon (Convex)", NULL,
+ InitGeneralPoly, DoGeneralPoly, NullProc, EndComplexPoly,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 10, (char *) 64, (char *) Convex}},
+ {"-64poly100convex", "Fill 100x100 64-gon (Convex)", NULL,
+ InitGeneralPoly, DoGeneralPoly, NullProc, EndComplexPoly,
+ V1_4FEATURE, ROP, 0,
+ {POLY/10, 100, (char *) 64, (char *) Convex}},
+ {"-64poly10complex", "Fill 10x10 64-gon (Complex)", NULL,
+ InitGeneralPoly, DoGeneralPoly, NullProc, EndComplexPoly,
+ V1_4FEATURE, ROP, 0,
+ {POLY, 10, (char *) 64, (char *) Complex}},
+ {"-64poly100complex", "Fill 100x100 64-gon (Complex)", NULL,
+ InitGeneralPoly, DoGeneralPoly, NullProc, EndComplexPoly,
+ V1_4FEATURE, ROP, 0,
+ {POLY/10, 100, (char *) 64, (char *) Complex}},
+ {"-ftext", "Char in 80-char line (6x13)", NULL,
+ InitText, DoText, ClearTextWin, EndText,
+ V1_2FEATURE, ROP, 0,
+ {80, False, "6x13", NULL}},
+ {"-f8text", "Char in 70-char line (8x13)", NULL,
+ InitText, DoText, ClearTextWin, EndText,
+ V1_3FEATURE, ROP, 0,
+ {70, False, "8x13", NULL}},
+ {"-f9text", "Char in 60-char line (9x15)", NULL,
+ InitText, DoText, ClearTextWin, EndText,
+ V1_3FEATURE, ROP, 0,
+ {60, False, "9x15", NULL}},
+ {"-f14text16", "Char16 in 40-char line (k14)", NULL,
+ InitText16, DoText16, ClearTextWin, EndText16,
+ V1_3FEATURE, ROP, 0,
+ {40, False,
+ "-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-*",
+ NULL}},
+ {"-f24text16", "Char16 in 23-char line (k24)", NULL,
+ InitText16, DoText16, ClearTextWin, EndText16,
+ V1_3FEATURE, ROP, 0,
+ {23, False,
+ "-jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-*",
+ NULL}},
+ {"-tr10text", "Char in 80-char line (TR 10)", NULL,
+ InitText, DoText, ClearTextWin, EndText,
+ V1_2FEATURE, ROP, 0,
+ {80, False,
+ "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1",
+ NULL}},
+ {"-tr24text", "Char in 30-char line (TR 24)", NULL,
+ InitText, DoText, ClearTextWin, EndText,
+ V1_2FEATURE, ROP, 0,
+ {30, False,
+ "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1",
+ NULL}},
+ {"-polytext", "Char in 20/40/20 line (6x13, TR 10)", NULL,
+ InitText, DoPolyText, ClearTextWin, EndText,
+ V1_2FEATURE, ROP, 0,
+ {80, True, "6x13",
+ "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1"}},
+ {"-polytext16", "Char16 in 7/14/7 line (k14, k24)", NULL,
+ InitText16, DoPolyText16, ClearTextWin, EndText16,
+ V1_3FEATURE, ROP, 0,
+ {28, True,
+ "-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-*",
+ "-jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-*"}},
+ {"-fitext", "Char in 80-char image line (6x13)", NULL,
+ InitText, DoImageText, ClearTextWin, EndText,
+ V1_2FEATURE, PLANEMASK, 0,
+ {80, False, "6x13", NULL}},
+ {"-f8itext", "Char in 70-char image line (8x13)", NULL,
+ InitText, DoImageText, ClearTextWin, EndText,
+ V1_3FEATURE, PLANEMASK, 0,
+ {70, False, "8x13", NULL}},
+ {"-f9itext", "Char in 60-char image line (9x15)", NULL,
+ InitText, DoImageText, ClearTextWin, EndText,
+ V1_3FEATURE, PLANEMASK, 0,
+ {60, False, "9x15", NULL}},
+ {"-f14itext16", "Char16 in 40-char image line (k14)", NULL,
+ InitText16, DoImageText16, ClearTextWin, EndText16,
+ V1_3FEATURE, PLANEMASK, 0,
+ {40, False,
+ "-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-*",
+ NULL}},
+ {"-f24itext16", "Char16 in 23-char image line (k24)", NULL,
+ InitText16, DoImageText16, ClearTextWin, EndText16,
+ V1_3FEATURE, PLANEMASK, 0,
+ {23, False,
+ "-jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-*",
+ NULL}},
+ {"-tr10itext", "Char in 80-char image line (TR 10)", NULL,
+ InitText, DoImageText, ClearTextWin, EndText,
+ V1_2FEATURE, PLANEMASK, 0,
+ {80, False,
+ "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1",
+ NULL}},
+ {"-tr24itext", "Char in 30-char image line (TR 24)", NULL,
+ InitText, DoImageText, ClearTextWin, EndText,
+ V1_2FEATURE, PLANEMASK, 0,
+ {30, False,
+ "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1",
+ NULL}},
+ {"-scroll10", "Scroll 10x10 pixels", NULL,
+ InitScroll, DoScroll, MidScroll, EndScroll,
+ V1_2FEATURE, ROP, 0,
+ {1, 10}},
+ {"-scroll100", "Scroll 100x100 pixels", NULL,
+ InitScroll, DoScroll, MidScroll, EndScroll,
+ V1_2FEATURE, ROP, 0,
+ {1, 100}},
+ {"-scroll500", "Scroll 500x500 pixels", NULL,
+ InitScroll, DoScroll, MidScroll, EndScroll,
+ V1_2FEATURE, ROP, 0,
+ {1, 500}},
+ {"-copywinwin10", "Copy 10x10 from window to window", NULL,
+ InitCopyWin, DoCopyWinWin, MidScroll, EndCopyWin,
+ V1_2FEATURE, ROP, 0,
+ {4, 10}},
+ {"-copywinwin100", "Copy 100x100 from window to window", NULL,
+ InitCopyWin, DoCopyWinWin, MidScroll, EndCopyWin,
+ V1_2FEATURE, ROP, 0,
+ {4, 100}},
+ {"-copywinwin500", "Copy 500x500 from window to window", NULL,
+ InitCopyWin, DoCopyWinWin, MidScroll, EndCopyWin,
+ V1_2FEATURE, ROP, 0,
+ {4, 500}},
+ {"-copypixwin10", "Copy 10x10 from pixmap to window", NULL,
+ InitCopyPix, DoCopyPixWin, MidCopyPix, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 10}},
+ {"-copypixwin100", "Copy 100x100 from pixmap to window", NULL,
+ InitCopyPix, DoCopyPixWin, MidCopyPix, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 100}},
+ {"-copypixwin500", "Copy 500x500 from pixmap to window", NULL,
+ InitCopyPix, DoCopyPixWin, MidCopyPix, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 500}},
+ {"-copywinpix10", "Copy 10x10 from window to pixmap", NULL,
+ InitCopyPix, DoCopyWinPix, MidScroll, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 10}},
+ {"-copywinpix100", "Copy 100x100 from window to pixmap", NULL,
+ InitCopyPix, DoCopyWinPix, MidScroll, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 100}},
+ {"-copywinpix500", "Copy 500x500 from window to pixmap", NULL,
+ InitCopyPix, DoCopyWinPix, MidScroll, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 500}},
+ {"-copypixpix10", "Copy 10x10 from pixmap to pixmap", NULL,
+ InitCopyPix, DoCopyPixPix, NullProc, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 10}},
+ {"-copypixpix100", "Copy 100x100 from pixmap to pixmap", NULL,
+ InitCopyPix, DoCopyPixPix, NullProc, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 100}},
+ {"-copypixpix500", "Copy 500x500 from pixmap to pixmap", NULL,
+ InitCopyPix, DoCopyPixPix, NullProc, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 500}},
+ {"-copyplane10", "Copy 10x10 1-bit deep plane", NULL,
+ InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 10}},
+ {"-copyplane100", "Copy 100x100 1-bit deep plane", NULL,
+ InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 100}},
+ {"-copyplane500", "Copy 500x500 1-bit deep plane", NULL,
+ InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
+ V1_2FEATURE, ROP, 0,
+ {4, 500}},
+ {"-deepcopyplane10", "Copy 10x10 n-bit deep plane", NULL,
+ InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
+ V1_5FEATURE, ROP, 0,
+ {4, 10, "Deep"}},
+ {"-deepcopyplane100", "Copy 100x100 n-bit deep plane", NULL,
+ InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
+ V1_5FEATURE, ROP, 0,
+ {4, 100, "Deep"}},
+ {"-deepcopyplane500", "Copy 500x500 n-bit deep plane", NULL,
+ InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
+ V1_5FEATURE, ROP, 0,
+ {4, 500, "Deep"}},
+ {"-putimage10", "PutImage 10x10 square", NULL,
+ InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
+ V1_2FEATURE, ROP, 0,
+ {4, 10}},
+ {"-putimage100", "PutImage 100x100 square", NULL,
+ InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
+ V1_2FEATURE, ROP, 0,
+ {4, 100}},
+ {"-putimage500", "PutImage 500x500 square", NULL,
+ InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
+ V1_2FEATURE, ROP, 0,
+ {4, 500}},
+ {"-putimagexy10", "PutImage XY 10x10 square", NULL,
+ InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
+ V1_4FEATURE, ROP, 0,
+ {4, 10, "XY"}},
+ {"-putimagexy100", "PutImage XY 100x100 square", NULL,
+ InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
+ V1_4FEATURE, ROP, 0,
+ {4, 100, "XY"}},
+ {"-putimagexy500", "PutImage XY 500x500 square", NULL,
+ InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
+ V1_4FEATURE, ROP, 0,
+ {4, 500, "XY"}},
+#ifdef MITSHM
+ {"-shmput10", "ShmPutImage 10x10 square", NULL,
+ InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
+ V1_2FEATURE, ROP, 0,
+ {4, 10}},
+ {"-shmput100", "ShmPutImage 100x100 square", NULL,
+ InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
+ V1_2FEATURE, ROP, 0,
+ {4, 100}},
+ {"-shmput500", "ShmPutImage 500x500 square", NULL,
+ InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
+ V1_2FEATURE, ROP, 0,
+ {4, 500}},
+ {"-shmputxy10", "ShmPutImage XY 10x10 square", NULL,
+ InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
+ V1_4FEATURE, ROP, 0,
+ {4, 10, "XY"}},
+ {"-shmputxy100", "ShmPutImage XY 100x100 square", NULL,
+ InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
+ V1_4FEATURE, ROP, 0,
+ {4, 100, "XY"}},
+ {"-shmputxy500", "ShmPutImage XY 500x500 square", NULL,
+ InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
+ V1_4FEATURE, ROP, 0,
+ {4, 500, "XY"}},
+#endif
+ {"-getimage10", "GetImage 10x10 square", NULL,
+ InitGetImage, DoGetImage, NullProc, EndGetImage,
+ V1_2FEATURE, PLANEMASK, 0,
+ {4, 10}},
+ {"-getimage100", "GetImage 100x100 square", NULL,
+ InitGetImage, DoGetImage, NullProc, EndGetImage,
+ V1_2FEATURE, PLANEMASK, 0,
+ {4, 100}},
+ {"-getimage500", "GetImage 500x500 square", NULL,
+ InitGetImage, DoGetImage, NullProc, EndGetImage,
+ V1_2FEATURE, PLANEMASK, 0,
+ {4, 500}},
+ {"-getimagexy10", "GetImage XY 10x10 square", NULL,
+ InitGetImage, DoGetImage, NullProc, EndGetImage,
+ V1_4FEATURE, PLANEMASK, 0,
+ {4, 10, "XY"}},
+ {"-getimagexy100", "GetImage XY 100x100 square", NULL,
+ InitGetImage, DoGetImage, NullProc, EndGetImage,
+ V1_4FEATURE, PLANEMASK, 0,
+ {4, 100, "XY"}},
+ {"-getimagexy500", "GetImage XY 500x500 square", NULL,
+ InitGetImage, DoGetImage, NullProc, EndGetImage,
+ V1_4FEATURE, PLANEMASK, 0,
+ {4, 500, "XY"}},
+ {"-noop", "X protocol NoOperation", NULL,
+ NullInitProc, DoNoOp, NullProc, NullProc,
+ V1_2FEATURE, PLANEMASK, 0,
+ {1}},
+ {"-atom", "GetAtomName", NULL,
+ NullInitProc, DoGetAtom, NullProc, NullProc,
+ VERSION1_2 | VERSION1_3, NONROP, 0,
+ {1}},
+ {"-pointer", "QueryPointer", NULL,
+ NullInitProc, DoQueryPointer, NullProc, NullProc,
+ V1_4FEATURE, NONROP, 0,
+ {1}},
+ {"-prop", "GetProperty", NULL,
+ InitGetProperty, DoGetProperty, NullProc, NullProc,
+ V1_2FEATURE, NONROP, 0,
+ {1}},
+ {"-gc", "Change graphics context", NULL,
+ InitGC, DoChangeGC, NullProc, EndGC,
+ V1_2FEATURE, NONROP, 0,
+ {4}},
+ {"-create", "Create and map subwindows", NULL,
+ InitCreate, CreateChildren, DestroyChildren, EndCreate,
+ V1_2FEATURE, WINDOW, 0,
+ {0, True}},
+ {"-ucreate", "Create unmapped window", NULL,
+ InitCreate, CreateChildren, DestroyChildren, EndCreate,
+ V1_2FEATURE, WINDOW, 0,
+ {0, False}},
+ {"-map", "Map window via parent", NULL,
+ InitMap, MapParents, UnmapParents, EndCreate,
+ V1_2FEATURE, WINDOW, 0,
+ {0, True}},
+ {"-unmap", "Unmap window via parent", NULL,
+ InitDestroy, UnmapParents, MapParents, EndCreate,
+ V1_2FEATURE, WINDOW, 0,
+ {0, True}},
+ {"-destroy", "Destroy window via parent", NULL,
+ InitDestroy, DestroyParents, RenewParents, EndCreate,
+ V1_2FEATURE, WINDOW, 0,
+ {0, True}},
+ {"-popup", "Hide/expose window via popup", NULL,
+ InitPopups, DoPopUps, NullProc, EndPopups,
+ V1_2FEATURE, WINDOW, 0,
+ {0, True}},
+ {"-move", "Move window", NULL,
+ InitMoveWindows, DoMoveWindows, NullProc, EndMoveWindows,
+ V1_2FEATURE, WINDOW, 0,
+ {0, True}},
+ {"-umove", "Moved unmapped window", NULL,
+ InitMoveWindows, DoMoveWindows, NullProc, EndMoveWindows,
+ V1_2FEATURE, WINDOW, 0,
+ {0, False}},
+ {"-movetree", "Move window via parent", NULL,
+ InitMoveTree, DoMoveTree, NullProc, EndMoveTree,
+ V1_2FEATURE, WINDOW, 0,
+ {4, True}},
+ {"-resize", "Resize window", NULL,
+ InitMoveWindows, DoResizeWindows, NullProc, EndMoveWindows,
+ V1_2FEATURE, WINDOW, 0,
+ {4, True}},
+ {"-uresize", "Resize unmapped window", NULL,
+ InitMoveWindows, DoResizeWindows, NullProc, EndMoveWindows,
+ V1_2FEATURE, WINDOW, 0,
+ {4, False}},
+ {"-circulate", "Circulate window", NULL,
+ InitCircWindows, DoCircWindows, NullProc, EndCircWindows,
+ V1_2FEATURE, WINDOW, 0,
+ {4, True}},
+ {"-ucirculate", "Circulate Unmapped window", NULL,
+ InitCircWindows, DoCircWindows, NullProc, EndCircWindows,
+ V1_2FEATURE, WINDOW, 0,
+ {4, False}},
+ { NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL,
+ 0, NONROP, 0,
+ {0, False}}
+};