1 /*****************************************************************************
2 Copyright 1988, 1989 by Digital Equipment Corporation, Maynard, Massachusetts.
6 Permission to use, copy, modify, and distribute this software and its
7 documentation for any purpose and without fee is hereby granted,
8 provided that the above copyright notice appear in all copies and that
9 both that copyright notice and this permission notice appear in
10 supporting documentation, and that the name of Digital not be
11 used in advertising or publicity pertaining to distribution of the
12 software without specific, written prior permission.
14 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
16 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
17 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
18 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
19 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
22 ******************************************************************************/
27 * some test must be done a certain multiple of times. That multiple is
28 * in the second half of the products below. You can edit the multiplier,
29 * just not the multiplicand.
34 InitDots, DoDots, NullProc, EndDots,
37 {"-rect1", "1x1 rectangle", NULL,
38 InitRectangles, DoRectangles, NullProc, EndRectangles,
40 {POLY, 1, NULL, NULL, FillSolid}},
41 {"-rect10", "10x10 rectangle", NULL,
42 InitRectangles, DoRectangles, NullProc, EndRectangles,
44 {POLY, 10, NULL, NULL, FillSolid}},
45 {"-rect100", "100x100 rectangle", NULL,
46 InitRectangles, DoRectangles, NullProc, EndRectangles,
48 {36, 100, NULL, NULL, FillSolid}},
49 {"-rect500", "500x500 rectangle", NULL,
50 InitRectangles, DoRectangles, NullProc, EndRectangles,
52 {1, 500, NULL, NULL, FillSolid}},
53 {"-srect1", "1x1 stippled rectangle",
54 "1x1 stippled rectangle (8x8 stipple)",
55 InitRectangles, DoRectangles, NullProc, EndRectangles,
57 {POLY, 1, NULL, NULL, FillStippled}},
58 {"-srect10", "10x10 stippled rectangle",
59 "10x10 stippled rectangle (8x8 stipple)",
60 InitRectangles, DoRectangles, NullProc, EndRectangles,
62 {POLY, 10, NULL, NULL, FillStippled}},
63 {"-srect100", "100x100 stippled rectangle",
64 "100x100 stippled rectangle (8x8 stipple)",
65 InitRectangles, DoRectangles, NullProc, EndRectangles,
67 {36, 100, NULL, NULL, FillStippled}},
68 {"-srect500", "500x500 stippled rectangle",
69 "500x500 stippled rectangle (8x8 stipple)",
70 InitRectangles, DoRectangles, NullProc, EndRectangles,
72 {1, 500, NULL, NULL, FillStippled}},
73 {"-osrect1", "1x1 opaque stippled rectangle",
74 "1x1 opaque stippled rectangle (8x8 stipple)",
75 InitRectangles, DoRectangles, NullProc, EndRectangles,
77 {POLY, 1, NULL, NULL, FillOpaqueStippled}},
78 {"-osrect10", "10x10 opaque stippled rectangle",
79 "10x10 opaque stippled rectangle (8x8 stipple)",
80 InitRectangles, DoRectangles, NullProc, EndRectangles,
82 {POLY, 10, NULL, NULL, FillOpaqueStippled}},
83 {"-osrect100", "100x100 opaque stippled rectangle",
84 "100x100 opaque stippled rectangle (8x8 stipple)",
85 InitRectangles, DoRectangles, NullProc, EndRectangles,
87 {36, 100, NULL, NULL, FillOpaqueStippled}},
88 {"-osrect500", "500x500 opaque stippled rectangle",
89 "500x500 opaque stippled rectangle (8x8 stipple)",
90 InitRectangles, DoRectangles, NullProc, EndRectangles,
92 {1, 500, NULL, NULL, FillOpaqueStippled}},
93 {"-tilerect1", "1x1 4x4 tiled rectangle",
94 "1x1 tiled rectangle (4x4 tile)",
95 InitRectangles, DoRectangles, NullProc, EndRectangles,
97 {POLY, 1, NULL, NULL, FillTiled}},
98 {"-tilerect10", "10x10 4x4 tiled rectangle",
99 "10x10 tiled rectangle (4x4 tile)",
100 InitRectangles, DoRectangles, NullProc, EndRectangles,
102 {POLY, 10, NULL, NULL, FillTiled}},
103 {"-tilerect100", "100x100 4x4 tiled rectangle",
104 "100x100 tiled rectangle (4x4 tile)",
105 InitRectangles, DoRectangles, NullProc, EndRectangles,
107 {36, 100, NULL, NULL, FillTiled}},
108 {"-tilerect500", "500x500 4x4 tiled rectangle",
109 "500x500 tiled rectangle (4x4 tile)",
110 InitRectangles, DoRectangles, NullProc, EndRectangles,
112 {1, 500, NULL, NULL, FillTiled}},
113 {"-oddsrect1", "1x1 stippled rectangle (17x15 stipple)", NULL,
114 InitRectangles, DoRectangles, NullProc, EndRectangles,
116 {POLY, 1, "OddTile", NULL, FillStippled}},
117 {"-oddsrect10", "10x10 stippled rectangle (17x15 stipple)", NULL,
118 InitRectangles, DoRectangles, NullProc, EndRectangles,
120 {POLY, 10, "OddTile", NULL, FillStippled}},
121 {"-oddsrect100", "100x100 stippled rectangle (17x15 stipple)", NULL,
122 InitRectangles, DoRectangles, NullProc, EndRectangles,
124 {36, 100, "OddTile", NULL, FillStippled}},
125 {"-oddsrect500", "500x500 stippled rectangle (17x15 stipple)", NULL,
126 InitRectangles, DoRectangles, NullProc, EndRectangles,
128 {1, 500, "OddTile", NULL, FillStippled}},
129 {"-oddosrect1", "1x1 opaque stippled rectangle (17x15 stipple)", NULL,
130 InitRectangles, DoRectangles, NullProc, EndRectangles,
132 {POLY, 1, "OddTile", NULL, FillOpaqueStippled}},
133 {"-oddosrect10", "10x10 opaque stippled rectangle (17x15 stipple)", NULL,
134 InitRectangles, DoRectangles, NullProc, EndRectangles,
136 {POLY, 10, "OddTile", NULL, FillOpaqueStippled}},
137 {"-oddosrect100", "100x100 opaque stippled rectangle (17x15 stipple)", NULL,
138 InitRectangles, DoRectangles, NullProc, EndRectangles,
140 {36, 100, "OddTile", NULL, FillOpaqueStippled}},
141 {"-oddosrect500", "500x500 opaque stippled rectangle (17x15 stipple)", NULL,
142 InitRectangles, DoRectangles, NullProc, EndRectangles,
144 {1, 500, "OddTile", NULL, FillOpaqueStippled}},
145 {"-oddtilerect1", "1x1 tiled rectangle (17x15 tile)", NULL,
146 InitRectangles, DoRectangles, NullProc, EndRectangles,
148 {POLY, 1, "OddTile", NULL, FillTiled}},
149 {"-oddtilerect10", "10x10 tiled rectangle (17x15 tile)", NULL,
150 InitRectangles, DoRectangles, NullProc, EndRectangles,
152 {POLY, 10, "OddTile", NULL, FillTiled}},
153 {"-oddtilerect100", "100x100 tiled rectangle (17x15 tile)", NULL,
154 InitRectangles, DoRectangles, NullProc, EndRectangles,
156 {36, 100, "OddTile", NULL, FillTiled}},
157 {"-oddtilerect500", "500x500 tiled rectangle (17x15 tile)", NULL,
158 InitRectangles, DoRectangles, NullProc, EndRectangles,
160 {1, 500, "OddTile", NULL, FillTiled}},
161 {"-bigsrect1", "1x1 161x145 stippled rectangle",
162 "1x1 stippled rectangle (161x145 stipple)",
163 InitRectangles, DoRectangles, NullProc, EndRectangles,
165 {POLY, 1, "mensetmanus", NULL, FillStippled}},
166 {"-bigsrect10", "10x10 161x145 stippled rectangle",
167 "10x10 stippled rectangle (161x145 stipple)",
168 InitRectangles, DoRectangles, NullProc, EndRectangles,
170 {POLY, 10, "mensetmanus", NULL, FillStippled}},
171 {"-bigsrect100", "100x100 161x145 stippled rectangle",
172 "100x100 stippled rectangle (161x145 stipple)",
173 InitRectangles, DoRectangles, NullProc, EndRectangles,
175 {36, 100, "mensetmanus", NULL, FillStippled}},
176 {"-bigsrect500", "500x500 161x145 stippled rectangle",
177 "500x500 stippled rectangle (161x145 stipple)",
178 InitRectangles, DoRectangles, NullProc, EndRectangles,
180 {1, 500, "mensetmanus", NULL, FillStippled}},
181 {"-bigosrect1", "1x1 161x145 opaque stippled rectangle",
182 "1x1 opaque stippled rectangle (161x145 stipple)",
183 InitRectangles, DoRectangles, NullProc, EndRectangles,
185 {POLY, 1, "mensetmanus", NULL, FillOpaqueStippled}},
186 {"-bigosrect10", "10x10 161x145 opaque stippled rectangle",
187 "10x10 opaque stippled rectangle (161x145 stipple)",
188 InitRectangles, DoRectangles, NullProc, EndRectangles,
190 {POLY, 10, "mensetmanus", NULL, FillOpaqueStippled}},
191 {"-bigosrect100", "100x100 161x145 opaque stippled rectangle",
192 "100x100 opaque stippled rectangle (161x145 stipple)",
193 InitRectangles, DoRectangles, NullProc, EndRectangles,
195 {36, 100, "mensetmanus", NULL, FillOpaqueStippled}},
196 {"-bigosrect500", "500x500 161x145 opaque stippled rectangle",
197 "500x500 opaque stippled rectangle (161x145 stipple)",
198 InitRectangles, DoRectangles, NullProc, EndRectangles,
200 {1, 500, "mensetmanus", NULL, FillOpaqueStippled}},
201 {"-bigtilerect1", "1x1 161x145 tiled rectangle",
202 "1x1 tiled rectangle (161x145 tile)",
203 InitRectangles, DoRectangles, NullProc, EndRectangles,
205 {POLY, 1, "mensetmanus", NULL, FillTiled}},
206 {"-bigtilerect10", "10x10 161x145 tiled rectangle",
207 "10x10 tiled rectangle (161x145 tile)",
208 InitRectangles, DoRectangles, NullProc, EndRectangles,
210 {POLY, 10, "mensetmanus", NULL, FillTiled}},
211 {"-bigtilerect100", "100x100 161x145 tiled rectangle",
212 "100x100 tiled rectangle (161x145 tile)",
213 InitRectangles, DoRectangles, NullProc, EndRectangles,
215 {36, 100, "mensetmanus", NULL, FillTiled}},
216 {"-bigtilerect500", "500x500 161x145 tiled rectangle",
217 "500x500 tiled rectangle (161x145 tile)",
218 InitRectangles, DoRectangles, NullProc, EndRectangles,
220 {1, 500, "mensetmanus", NULL, FillTiled}},
221 {"-eschertilerect1", "1x1 216x208 tiled rectangle",
222 "1x1 tiled rectangle (216x208 tile)",
223 InitRectangles, DoRectangles, NullProc, EndRectangles,
225 {POLY, 1, "escherknot", NULL, FillTiled}},
226 {"-eschertilerect10", "10x10 216x208 tiled rectangle",
227 "10x10 tiled rectangle (216x208 tile)",
228 InitRectangles, DoRectangles, NullProc, EndRectangles,
230 {POLY, 10, "escherknot", NULL, FillTiled}},
231 {"-eschertilerect100", "100x100 216x208 tiled rectangle",
232 "100x100 tiled rectangle (216x208 tile)",
233 InitRectangles, DoRectangles, NullProc, EndRectangles,
235 {36, 100, "escherknot", NULL, FillTiled}},
236 {"-eschertilerect500", "500x500 216x208 tiled rectangle",
237 "500x500 tiled rectangle (216x208 tile)",
238 InitRectangles, DoRectangles, NullProc, EndRectangles,
240 {1, 500, "escherknot", NULL, FillTiled}},
241 {"-seg1", "1-pixel line segment", NULL,
242 InitSegments, DoSegments, NullProc, EndSegments,
245 {"-seg10", "10-pixel line segment", NULL,
246 InitSegments, DoSegments, NullProc, EndSegments,
249 {"-seg100", "100-pixel line segment", NULL,
250 InitSegments, DoSegments, NullProc, EndSegments,
253 {"-seg500", "500-pixel line segment", NULL,
254 InitSegments, DoSegments, NullProc, EndSegments,
257 {"-seg100c1", "100-pixel line segment (1 kid)", NULL,
258 InitSegments, DoSegments, NullProc, EndSegments,
261 {"-seg100c2", "100-pixel line segment (2 kids)", NULL,
262 InitSegments, DoSegments, NullProc, EndSegments,
265 {"-seg100c3", "100-pixel line segment (3 kids)", NULL,
266 InitSegments, DoSegments, NullProc, EndSegments,
269 {"-dseg10", "10-pixel dashed segment", NULL,
270 InitDashedSegments, DoSegments, NullProc, EndSegments,
273 {"-dseg100", "100-pixel dashed segment", NULL,
274 InitDashedSegments, DoSegments, NullProc, EndSegments,
277 {"-ddseg100", "100-pixel double-dashed segment", NULL,
278 InitDoubleDashedSegments, DoSegments, NullProc, EndSegments,
281 {"-hseg10", "10-pixel horizontal line segment", NULL,
282 InitHorizSegments, DoSegments, NullProc, EndSegments,
285 {"-hseg100", "100-pixel horizontal line segment", NULL,
286 InitHorizSegments, DoSegments, NullProc, EndSegments,
289 {"-hseg500", "500-pixel horizontal line segment", NULL,
290 InitHorizSegments, DoSegments, NullProc, EndSegments,
293 {"-vseg10", "10-pixel vertical line segment", NULL,
294 InitVertSegments, DoSegments, NullProc, EndSegments,
297 {"-vseg100", "100-pixel vertical line segment", NULL,
298 InitVertSegments, DoSegments, NullProc, EndSegments,
301 {"-vseg500", "500-pixel vertical line segment", NULL,
302 InitVertSegments, DoSegments, NullProc, EndSegments,
305 {"-whseg10", "10x1 wide horizontal line segment", NULL,
306 InitWideHorizSegments, DoSegments, NullProc, EndSegments,
309 {"-whseg100", "100x10 wide horizontal line segment", NULL,
310 InitWideHorizSegments, DoSegments, NullProc, EndSegments,
313 {"-whseg500", "500x50 wide horizontal line segment", NULL,
314 InitWideHorizSegments, DoSegments, NullProc, EndSegments,
317 {"-wvseg10", "10x1 wide vertical line segment", NULL,
318 InitWideVertSegments, DoSegments, NullProc, EndSegments,
321 {"-wvseg100", "100x10 wide vertical line segment", NULL,
322 InitWideVertSegments, DoSegments, NullProc, EndSegments,
325 {"-wvseg500", "500x50 wide vertical line segment", NULL,
326 InitWideVertSegments, DoSegments, NullProc, EndSegments,
329 {"-line1", "1-pixel line", NULL,
330 InitLines, DoLines, NullProc, EndLines,
333 {"-line10", "10-pixel line", NULL,
334 InitLines, DoLines, NullProc, EndLines,
337 {"-line100", "100-pixel line", NULL,
338 InitLines, DoLines, NullProc, EndLines,
341 {"-line500", "500-pixel line", NULL,
342 InitLines, DoLines, NullProc, EndLines,
345 {"-dline10", "10-pixel dashed line", NULL,
346 InitDashedLines, DoLines, NullProc, EndLines,
349 {"-dline100", "100-pixel dashed line", NULL,
350 InitDashedLines, DoLines, NullProc, EndLines,
353 {"-ddline100", "100-pixel double-dashed line", NULL,
354 InitDoubleDashedLines, DoLines, NullProc, EndLines,
357 {"-wline10", "10x1 wide line", NULL,
358 InitWideLines, DoLines, NullProc, EndLines,
361 {"-wline100", "100x10 wide line", NULL,
362 InitWideLines, DoLines, NullProc, EndLines,
365 {"-wline500", "500x50 wide line", NULL,
366 InitWideLines, DoLines, NullProc, EndLines,
369 {"-wdline100", "100x10 wide dashed line", NULL,
370 InitWideDashedLines, DoLines, NullProc, EndLines,
373 {"-wddline100", "100x10 wide double-dashed line", NULL,
374 InitWideDoubleDashedLines, DoLines, NullProc, EndLines,
377 {"-orect10", "10x10 rectangle outline", NULL,
378 InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
380 {POLY, 10, NULL, "0", FillSolid}},
381 {"-orect100", "100x100 rectangle outline", NULL,
382 InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
384 {36, 100, NULL, "0", FillSolid}},
385 {"-orect500", "500x500 rectangle outline", NULL,
386 InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
388 {1, 500, NULL, "0", FillSolid}},
389 {"-worect10", "10x10 wide rectangle outline", NULL,
390 InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
392 {POLY, 10, NULL, "1", FillSolid}},
393 {"-worect100", "100x100 wide rectangle outline", NULL,
394 InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
396 {36, 100, NULL, "10", FillSolid}},
397 {"-worect500", "500x500 wide rectangle outline", NULL,
398 InitRectangles, DoOutlineRectangles, NullProc, EndRectangles,
400 {1, 500, NULL, "50", FillSolid}},
401 {"-circle1", "1-pixel circle", NULL,
402 InitCircles, DoArcs, NullProc, EndArcs,
405 {"-circle10", "10-pixel circle", NULL,
406 InitCircles, DoArcs, NullProc, EndArcs,
409 {"-circle100", "100-pixel circle", NULL,
410 InitCircles, DoArcs, NullProc, EndArcs,
413 {"-circle500", "500-pixel circle", NULL,
414 InitCircles, DoArcs, NullProc, EndArcs,
417 {"-dcircle100", "100-pixel dashed circle", NULL,
418 InitDashedCircles, DoArcs, NullProc, EndArcs,
421 {"-ddcircle100", "100-pixel double-dashed circle", NULL,
422 InitDoubleDashedCircles, DoArcs, NullProc, EndArcs,
425 {"-wcircle10", "10-pixel wide circle", NULL,
426 InitWideCircles, DoArcs, NullProc, EndArcs,
429 {"-wcircle100", "100-pixel wide circle", NULL,
430 InitWideCircles, DoArcs, NullProc, EndArcs,
433 {"-wcircle500", "500-pixel wide circle", NULL,
434 InitWideCircles, DoArcs, NullProc, EndArcs,
437 {"-wdcircle100", "100-pixel wide dashed circle", NULL,
438 InitWideDashedCircles, DoArcs, NullProc, EndArcs,
441 {"-wddcircle100", "100-pixel wide double-dashed circle", NULL,
442 InitWideDoubleDashedCircles, DoArcs, NullProc, EndArcs,
445 {"-pcircle10", "10-pixel partial circle", NULL,
446 InitPartCircles, DoArcs, NullProc, EndArcs,
449 {"-pcircle100", "100-pixel partial circle", NULL,
450 InitPartCircles, DoArcs, NullProc, EndArcs,
453 {"-wpcircle10", "10-pixel wide partial circle", NULL,
454 InitPartWideCircles, DoArcs, NullProc, EndArcs,
457 {"-wpcircle100", "100-pixel wide partial circle", NULL,
458 InitPartWideCircles, DoArcs, NullProc, EndArcs,
461 {"-fcircle1", "1-pixel solid circle", NULL,
462 InitCircles, DoFilledArcs, NullProc, EndArcs,
465 {"-fcircle10", "10-pixel solid circle", NULL,
466 InitCircles, DoFilledArcs, NullProc, EndArcs,
469 {"-fcircle100", "100-pixel solid circle", NULL,
470 InitCircles, DoFilledArcs, NullProc, EndArcs,
473 {"-fcircle500", "500-pixel solid circle", NULL,
474 InitCircles, DoFilledArcs, NullProc, EndArcs,
477 {"-fcpcircle10", "10-pixel fill chord partial circle", NULL,
478 InitChordPartCircles, DoFilledArcs, NullProc, EndArcs,
481 {"-fcpcircle100", "100-pixel fill chord partial circle", NULL,
482 InitChordPartCircles, DoFilledArcs, NullProc, EndArcs,
485 {"-fspcircle10", "10-pixel fill slice partial circle", NULL,
486 InitSlicePartCircles, DoFilledArcs, NullProc, EndArcs,
489 {"-fspcircle100", "100-pixel fill slice partial circle", NULL,
490 InitSlicePartCircles, DoFilledArcs, NullProc, EndArcs,
493 {"-ellipse10", "10-pixel ellipse", NULL,
494 InitEllipses, DoArcs, NullProc, EndArcs,
497 {"-ellipse100", "100-pixel ellipse", NULL,
498 InitEllipses, DoArcs, NullProc, EndArcs,
501 {"-ellipse500", "500-pixel ellipse", NULL,
502 InitEllipses, DoArcs, NullProc, EndArcs,
505 {"-dellipse100", "100-pixel dashed ellipse", NULL,
506 InitDashedEllipses, DoArcs, NullProc, EndArcs,
509 {"-ddellipse100", "100-pixel double-dashed ellipse", NULL,
510 InitDoubleDashedEllipses, DoArcs, NullProc, EndArcs,
513 {"-wellipse10", "10-pixel wide ellipse", NULL,
514 InitWideEllipses, DoArcs, NullProc, EndArcs,
517 {"-wellipse100", "100-pixel wide ellipse", NULL,
518 InitWideEllipses, DoArcs, NullProc, EndArcs,
521 {"-wellipse500", "500-pixel wide ellipse", NULL,
522 InitWideEllipses, DoArcs, NullProc, EndArcs,
525 {"-wdellipse100", "100-pixel wide dashed ellipse", NULL,
526 InitWideDashedEllipses, DoArcs, NullProc, EndArcs,
529 {"-wddellipse100", "100-pixel wide double-dashed ellipse", NULL,
530 InitWideDoubleDashedEllipses, DoArcs, NullProc, EndArcs,
533 {"-pellipse10", "10-pixel partial ellipse", NULL,
534 InitPartEllipses, DoArcs, NullProc, EndArcs,
537 {"-pellipse100", "100-pixel partial ellipse", NULL,
538 InitPartEllipses, DoArcs, NullProc, EndArcs,
541 {"-wpellipse10", "10-pixel wide partial ellipse", NULL,
542 InitPartWideEllipses, DoArcs, NullProc, EndArcs,
545 {"-wpellipse100", "100-pixel wide partial ellipse", NULL,
546 InitPartWideEllipses, DoArcs, NullProc, EndArcs,
549 {"-fellipse10", "10-pixel filled ellipse", NULL,
550 InitEllipses, DoFilledArcs, NullProc, EndArcs,
553 {"-fellipse100", "100-pixel filled ellipse", NULL,
554 InitEllipses, DoFilledArcs, NullProc, EndArcs,
557 {"-fellipse500", "500-pixel filled ellipse", NULL,
558 InitEllipses, DoFilledArcs, NullProc, EndArcs,
561 {"-fcpellipse10", "10-pixel fill chord partial ellipse", NULL,
562 InitChordPartEllipses, DoFilledArcs, NullProc, EndArcs,
565 {"-fcpellipse100", "100-pixel fill chord partial ellipse", NULL,
566 InitChordPartEllipses, DoFilledArcs, NullProc, EndArcs,
569 {"-fspellipse10", "10-pixel fill slice partial ellipse", NULL,
570 InitSlicePartEllipses, DoFilledArcs, NullProc, EndArcs,
573 {"-fspellipse100", "100-pixel fill slice partial ellipse", NULL,
574 InitSlicePartEllipses, DoFilledArcs, NullProc, EndArcs,
577 {"-triangle1", "Fill 1-pixel/side triangle", NULL,
578 InitTriangles, DoTriangles, NullProc, EndTriangles,
581 {"-triangle10", "Fill 10-pixel/side triangle", NULL,
582 InitTriangles, DoTriangles, NullProc, EndTriangles,
585 {"-triangle100", "Fill 100-pixel/side triangle", NULL,
586 InitTriangles, DoTriangles, NullProc, EndTriangles,
589 {"-triangle1", "Fill 1x1 equivalent triangle", NULL,
590 InitTriangles, DoTriangles, NullProc, EndTriangles,
593 {"-triangle10", "Fill 10x10 equivalent triangle", NULL,
594 InitTriangles, DoTriangles, NullProc, EndTriangles,
597 {"-triangle100", "Fill 100x100 equivalent triangle", NULL,
598 InitTriangles, DoTriangles, NullProc, EndTriangles,
601 {"-trap1", "Fill 1x1 trapezoid", NULL,
602 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
605 {"-trap10", "Fill 10x10 trapezoid", NULL,
606 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
609 {"-trap100", "Fill 100x100 trapezoid", NULL,
610 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
613 {"-trap300", "Fill 300x300 trapezoid", NULL,
614 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
617 {"-strap1", "Fill 1x1 stippled trapezoid (8x8 stipple)", NULL,
618 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
620 {POLY, 1, NULL, NULL, FillStippled}},
621 {"-strap10", "Fill 10x10 stippled trapezoid",
622 "Fill 10x10 stippled trapezoid (8x8 stipple)",
623 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
625 {POLY, 10, NULL, NULL, FillStippled}},
626 {"-strap100", "Fill 100x100 stippled trapezoid",
627 "Fill 100x100 stippled trapezoid (8x8 stipple)",
628 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
630 {100, 100, NULL, NULL, FillStippled}},
631 {"-strap300", "Fill 300x300 stippled trapezoid (8x8 stipple)", NULL,
632 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
634 {2, 300, NULL, NULL, FillStippled}},
635 {"-ostrap1", "Fill 1x1 opaque stippled trapezoid (8x8 stipple)", NULL,
636 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
638 {POLY, 1, NULL, NULL, FillOpaqueStippled}},
639 {"-ostrap10", "Fill 10x10 opaque stippled trapezoid",
640 "Fill 10x10 opaque stippled trapezoid (8x8 stipple)",
641 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
643 {POLY, 10, NULL, NULL, FillOpaqueStippled}},
644 {"-ostrap100", "Fill 100x100 opaque stippled trapezoid",
645 "Fill 100x100 opaque stippled trapezoid (8x8 stipple)",
646 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
648 {100, 100, NULL, NULL, FillOpaqueStippled}},
649 {"-ostrap300", "Fill 300x300 opaque stippled trapezoid (8x8 stipple)", NULL,
650 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
652 {2, 300, NULL, NULL, FillOpaqueStippled}},
653 {"-tiletrap1", "Fill 1x1 tiled trapezoid (4x4 tile)", NULL,
654 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
656 {POLY, 1, NULL, NULL, FillTiled}},
657 {"-tiletrap10", "Fill 10x10 tiled trapezoid",
658 "Fill 10x10 tiled trapezoid (4x4 tile)",
659 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
661 {POLY, 10, NULL, NULL, FillTiled}},
662 {"-tiletrap100", "Fill 100x100 tiled trapezoid",
663 "Fill 100x100 tiled trapezoid (4x4 tile)",
664 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
666 {100, 100, NULL, NULL, FillTiled}},
667 {"-tiletrap300", "Fill 300x300 tiled trapezoid (4x4 tile)", NULL,
668 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
670 {2, 300, NULL, NULL, FillTiled}},
671 {"-oddstrap1", "Fill 1x1 stippled trapezoid (17x15 stipple)", NULL,
672 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
674 {POLY, 1, "OddTile", NULL, FillStippled}},
675 {"-oddstrap10", "Fill 10x10 stippled trapezoid (17x15 stipple)", NULL,
676 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
678 {POLY, 10, "OddTile", NULL, FillStippled}},
679 {"-oddstrap100", "Fill 100x100 stippled trapezoid (17x15 stipple)", NULL,
680 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
682 {100, 100, "OddTile", NULL, FillStippled}},
683 {"-oddstrap300", "Fill 300x300 stippled trapezoid (17x15 stipple)", NULL,
684 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
686 {2, 300, "OddTile", NULL, FillStippled}},
687 {"-oddostrap1", "Fill 1x1 opaque stippled trapezoid (17x15 stipple)", NULL,
688 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
690 {POLY, 1, "OddTile", NULL, FillOpaqueStippled}},
691 {"-oddostrap10", "Fill 10x10 opaque stippled trapezoid (17x15 stipple)", NULL,
692 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
694 {POLY, 10, "OddTile", NULL, FillOpaqueStippled}},
695 {"-oddostrap100", "Fill 100x100 opaque stippled trapezoid (17x15 stipple)", NULL,
696 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
698 {100, 100, "OddTile", NULL, FillOpaqueStippled}},
699 {"-oddostrap300", "Fill 300x300 opaque stippled trapezoid (17x15 stipple)", NULL,
700 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
702 {2, 300, "OddTile", NULL, FillOpaqueStippled}},
703 {"-oddtiletrap1", "Fill 1x1 tiled trapezoid (17x15 tile)", NULL,
704 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
706 {POLY, 1, "OddTile", NULL, FillTiled}},
707 {"-oddtiletrap10", "Fill 10x10 tiled trapezoid (17x15 tile)", NULL,
708 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
710 {POLY, 10, "OddTile", NULL, FillTiled}},
711 {"-oddtiletrap100", "Fill 100x100 tiled trapezoid (17x15 tile)", NULL,
712 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
714 {100, 100, "OddTile", NULL, FillTiled}},
715 {"-oddtiletrap300", "Fill 300x300 tiled trapezoid (17x15 tile)", NULL,
716 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
718 {2, 300, "OddTile", NULL, FillTiled}},
719 {"-bigstrap1", "Fill 1x1 stippled trapezoid (161x145 stipple)", NULL,
720 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
722 {POLY, 1, "mensetmanus", NULL, FillStippled}},
723 {"-bigstrap10", "Fill 10x10 161x145 stippled trapezoid",
724 "Fill 10x10 stippled trapezoid (161x145 stipple)",
725 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
727 {POLY, 10, "mensetmanus", NULL, FillStippled}},
728 {"-bigstrap100", "Fill 100x100 161x145 stippled trapezoid",
729 "Fill 100x100 stippled trapezoid (161x145 stipple)",
730 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
732 {100, 100, "mensetmanus", NULL, FillStippled}},
733 {"-bigstrap300", "Fill 300x300 stippled trapezoid (161x145 stipple)", NULL,
734 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
736 {2, 300, "mensetmanus", NULL, FillStippled}},
737 {"-bigostrap1", "Fill 1x1 opaque stippled trapezoid (161x145 stipple)", NULL,
738 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
740 {POLY, 1, "mensetmanus", NULL, FillOpaqueStippled}},
741 {"-bigostrap10", "Fill 10x10 161x145 opaque stippled trapezoid",
742 "Fill 10x10 opaque stippled trapezoid (161x145 stipple)",
743 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
745 {POLY, 10, "mensetmanus", NULL, FillOpaqueStippled}},
746 {"-bigostrap100", "Fill 100x100 161x145 opaque stippled trapezoid",
747 "Fill 100x100 opaque stippled trapezoid (161x145 stipple)",
748 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
750 {100, 100, "mensetmanus", NULL, FillOpaqueStippled}},
751 {"-bigostrap300", "Fill 300x300 opaque stippled trapezoid (161x145 stipple)", NULL,
752 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
754 {2, 300, "mensetmanus", NULL, FillOpaqueStippled}},
755 {"-bigtiletrap1", "Fill 1x1 tiled trapezoid (161x145 tile)", NULL,
756 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
758 {POLY, 1, "mensetmanus", NULL, FillTiled}},
759 {"-bigtiletrap10", "Fill 10x10 161x145 tiled trapezoid",
760 "Fill 10x10 tiled trapezoid (161x145 tile)",
761 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
763 {POLY, 10, "mensetmanus", NULL, FillTiled}},
764 {"-bigtiletrap100", "Fill 100x100 161x145 tiled trapezoid",
765 "Fill 100x100 tiled trapezoid (161x145 tile)",
766 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
768 {100, 100, "mensetmanus", NULL, FillTiled}},
769 {"-bigtiletrap300", "Fill 300x300 tiled trapezoid (161x145 tile)", NULL,
770 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
772 {2, 300, "mensetmanus", NULL, FillTiled}},
773 {"-eschertiletrap1", "Fill 1x1 tiled trapezoid (216x208 tile)", NULL,
774 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
776 {POLY, 1, "escherknot", NULL, FillTiled}},
777 {"-eschertiletrap10", "Fill 10x10 216x208 tiled trapezoid",
778 "Fill 10x10 tiled trapezoid (216x208 tile)",
779 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
781 {POLY, 10, "escherknot", NULL, FillTiled}},
782 {"-eschertiletrap100", "Fill 100x100 216x208 tiled trapezoid",
783 "Fill 100x100 tiled trapezoid (216x208 tile)",
784 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
786 {36, 100, "escherknot", NULL, FillTiled}},
787 {"-eschertiletrap300", "Fill 300x300 tiled trapezoid (216x208 tile)", NULL,
788 InitTrapezoids, DoTrapezoids, NullProc, EndTrapezoids,
790 {2, 300, "escherknot", NULL, FillTiled}},
792 {"-aatrap1", "Fill 1x1 aa trap", NULL,
793 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
794 V1_5FEATURE, NONROP, 0,
796 {"-aatrap10", "Fill 10x10 aa trap", NULL,
797 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
798 V1_5FEATURE, NONROP, 0,
800 {"-aatrap100", "Fill 100x100 aa trap", NULL,
801 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
802 V1_5FEATURE, NONROP, 0,
804 {"-aatrap300", "Fill 300x300 aa trap", NULL,
805 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
806 V1_5FEATURE, NONROP, 0,
808 {"-aa4trap1", "Fill 1x1 aa trap with 4 bit alpha", NULL,
809 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
810 V1_5FEATURE, NONROP, 0,
812 {"-aa4trap10", "Fill 10x10 aa trap with 4 bit alpha", NULL,
813 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
814 V1_5FEATURE, NONROP, 0,
816 {"-aa4trap100", "Fill 100x100 aa trap with 4 bit alpha", NULL,
817 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
818 V1_5FEATURE, NONROP, 0,
820 {"-aa4trap300", "Fill 300x300 aa trap with 4 bit alpha", NULL,
821 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
822 V1_5FEATURE, NONROP, 0,
824 {"-aa1trap1", "Fill 1x1 aa trap with 1 bit alpha", NULL,
825 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
826 V1_5FEATURE, NONROP, 0,
828 {"-aa1trap10", "Fill 10x10 aa trap with 1 bit alpha", NULL,
829 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
830 V1_5FEATURE, NONROP, 0,
832 {"-aa1trap100", "Fill 100x100 aa trap with 1 bit alpha", NULL,
833 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
834 V1_5FEATURE, NONROP, 0,
836 {"-aa1trap300", "Fill 300x300 aa trap with 1 bit alpha", NULL,
837 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
838 V1_5FEATURE, NONROP, 0,
841 {"-aatrap2x1", "Fill 2x1 aa trap", NULL,
842 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
843 V1_5FEATURE, NONROP, 0,
845 {"-aatrap2x10", "Fill 2x10 aa trap", NULL,
846 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
847 V1_5FEATURE, NONROP, 0,
849 {"-aatrap2x100", "Fill 2x100 aa trap", NULL,
850 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
851 V1_5FEATURE, NONROP, 0,
852 {POLY, 100, "8,2" }},
853 {"-aatrap2x300", "Fill 2x300 aa trap", NULL,
854 InitFixedTraps, DoFixedTraps, NullProc, EndFixedTraps,
855 V1_5FEATURE, NONROP, 0,
856 {POLY, 300, "8,2" }},
858 {"-aatrapezoid1", "Fill 1x1 aa trapezoid", NULL,
859 InitFixedTrapezoids, DoFixedTrapezoids, NullProc, EndFixedTrapezoids,
860 V1_5FEATURE, NONROP, 0,
862 {"-aatrapezoid10", "Fill 10x10 aa trapezoid", NULL,
863 InitFixedTrapezoids, DoFixedTrapezoids, NullProc, EndFixedTrapezoids,
864 V1_5FEATURE, NONROP, 0,
866 {"-aatrapezoid100", "Fill 100x100 aa trapezoid", NULL,
867 InitFixedTrapezoids, DoFixedTrapezoids, NullProc, EndFixedTrapezoids,
868 V1_5FEATURE, NONROP, 0,
870 {"-aatrapezoid300", "Fill 300x300 aa trapezoid", NULL,
871 InitFixedTrapezoids, DoFixedTrapezoids, NullProc, EndFixedTrapezoids,
872 V1_5FEATURE, NONROP, 0,
874 {"-addaatrapezoid1", "Fill 1x1 aa pre-added trapezoid", NULL,
875 InitFixedTrapezoids, DoFixedTrapezoids, NullProc, EndFixedTrapezoids,
876 V1_5FEATURE, NONROP, 0,
878 {"-addaatrapezoid10", "Fill 10x10 aa pre-added trapezoid", NULL,
879 InitFixedTrapezoids, DoFixedTrapezoids, NullProc, EndFixedTrapezoids,
880 V1_5FEATURE, NONROP, 0,
882 {"-addaatrapezoid100", "Fill 100x100 aa pre-added trapezoid", NULL,
883 InitFixedTrapezoids, DoFixedTrapezoids, NullProc, EndFixedTrapezoids,
884 V1_5FEATURE, NONROP, 0,
885 {POLY, 100, "add" }},
886 {"-addaatrapezoid300", "Fill 300x300 aa pre-added trapezoid", NULL,
887 InitFixedTrapezoids, DoFixedTrapezoids, NullProc, EndFixedTrapezoids,
888 V1_5FEATURE, NONROP, 0,
889 {POLY, 300, "add" }},
891 {"-complex10", "Fill 10-pixel/side complex polygon", NULL,
892 InitComplexPoly, DoComplexPoly, NullProc, EndComplexPoly,
895 {"-complex100", "Fill 100-pixel/side complex polygons", NULL,
896 InitComplexPoly, DoComplexPoly, NullProc, EndComplexPoly,
899 {"-complex10", "Fill 10x10 equivalent complex polygon", NULL,
900 InitComplexPoly, DoComplexPoly, NullProc, EndComplexPoly,
903 {"-complex100", "Fill 100x100 equivalent complex polygons", NULL,
904 InitComplexPoly, DoComplexPoly, NullProc, EndComplexPoly,
907 {"-64poly10convex", "Fill 10x10 64-gon (Convex)", NULL,
908 InitGeneralPoly, DoGeneralPoly, NullProc, EndComplexPoly,
910 {POLY, 10, (char *) 64, (char *) Convex}},
911 {"-64poly100convex", "Fill 100x100 64-gon (Convex)", NULL,
912 InitGeneralPoly, DoGeneralPoly, NullProc, EndComplexPoly,
914 {POLY/10, 100, (char *) 64, (char *) Convex}},
915 {"-64poly10complex", "Fill 10x10 64-gon (Complex)", NULL,
916 InitGeneralPoly, DoGeneralPoly, NullProc, EndComplexPoly,
918 {POLY, 10, (char *) 64, (char *) Complex}},
919 {"-64poly100complex", "Fill 100x100 64-gon (Complex)", NULL,
920 InitGeneralPoly, DoGeneralPoly, NullProc, EndComplexPoly,
922 {POLY/10, 100, (char *) 64, (char *) Complex}},
923 {"-ftext", "Char in 80-char line (6x13)", NULL,
924 InitText, DoText, ClearTextWin, EndText,
926 {80, False, "6x13", NULL}},
927 {"-f8text", "Char in 70-char line (8x13)", NULL,
928 InitText, DoText, ClearTextWin, EndText,
930 {70, False, "8x13", NULL}},
931 {"-f9text", "Char in 60-char line (9x15)", NULL,
932 InitText, DoText, ClearTextWin, EndText,
934 {60, False, "9x15", NULL}},
935 {"-f14text16", "Char16 in 40-char line (k14)", NULL,
936 InitText16, DoText16, ClearTextWin, EndText16,
939 "-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-*",
941 {"-f24text16", "Char16 in 23-char line (k24)", NULL,
942 InitText16, DoText16, ClearTextWin, EndText16,
945 "-jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-*",
947 {"-tr10text", "Char in 80-char line (TR 10)", NULL,
948 InitText, DoText, ClearTextWin, EndText,
951 "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1",
953 {"-tr24text", "Char in 30-char line (TR 24)", NULL,
954 InitText, DoText, ClearTextWin, EndText,
957 "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1",
959 {"-polytext", "Char in 20/40/20 line (6x13, TR 10)", NULL,
960 InitText, DoPolyText, ClearTextWin, EndText,
963 "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1"}},
964 {"-polytext16", "Char16 in 7/14/7 line (k14, k24)", NULL,
965 InitText16, DoPolyText16, ClearTextWin, EndText16,
968 "-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-*",
969 "-jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-*"}},
970 {"-fitext", "Char in 80-char image line (6x13)", NULL,
971 InitText, DoImageText, ClearTextWin, EndText,
972 V1_2FEATURE, PLANEMASK, 0,
973 {80, False, "6x13", NULL}},
974 {"-f8itext", "Char in 70-char image line (8x13)", NULL,
975 InitText, DoImageText, ClearTextWin, EndText,
976 V1_3FEATURE, PLANEMASK, 0,
977 {70, False, "8x13", NULL}},
978 {"-f9itext", "Char in 60-char image line (9x15)", NULL,
979 InitText, DoImageText, ClearTextWin, EndText,
980 V1_3FEATURE, PLANEMASK, 0,
981 {60, False, "9x15", NULL}},
982 {"-f14itext16", "Char16 in 40-char image line (k14)", NULL,
983 InitText16, DoImageText16, ClearTextWin, EndText16,
984 V1_3FEATURE, PLANEMASK, 0,
986 "-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-*",
988 {"-f24itext16", "Char16 in 23-char image line (k24)", NULL,
989 InitText16, DoImageText16, ClearTextWin, EndText16,
990 V1_3FEATURE, PLANEMASK, 0,
992 "-jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-*",
994 {"-tr10itext", "Char in 80-char image line (TR 10)", NULL,
995 InitText, DoImageText, ClearTextWin, EndText,
996 V1_2FEATURE, PLANEMASK, 0,
998 "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1",
1000 {"-tr24itext", "Char in 30-char image line (TR 24)", NULL,
1001 InitText, DoImageText, ClearTextWin, EndText,
1002 V1_2FEATURE, PLANEMASK, 0,
1004 "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1",
1007 {"-aa10text", "Char in 80-char aa line (Charter 10)", NULL,
1008 InitAAText, DoAAText, ClearTextWin, EndAAText,
1009 V1_5FEATURE, NONROP, 0,
1010 {80, 10, "charter:antialias=true:rgba=0:pixelsize=10", NULL}},
1011 {"-aa24text", "Char in 30-char aa line (Charter 24)", NULL,
1012 InitAAText, DoAAText, ClearTextWin, EndAAText,
1013 V1_5FEATURE, NONROP, 0,
1014 {30, 24, "charter:antialias=true:rgba=0:pixelsize=24", NULL}},
1015 {"-aaftext", "Char in 80-char aa line (Courier 12)", NULL,
1016 InitAAText, DoAAText, ClearTextWin, EndAAText,
1017 V1_5FEATURE, NONROP, 0,
1018 {80, 12, "courier:antialias=true:rgba=0:pixelsize=12", NULL}},
1019 {"-a10text", "Char in 80-char a line (Charter 10)", NULL,
1020 InitAAText, DoAAText, ClearTextWin, EndAAText,
1021 V1_5FEATURE, NONROP, 0,
1022 {80, 10, "charter:antialias=false:rgba=0:pixelsize=10", NULL}},
1023 {"-a24text", "Char in 30-char a line (Charter 24)", NULL,
1024 InitAAText, DoAAText, ClearTextWin, EndAAText,
1025 V1_5FEATURE, NONROP, 0,
1026 {30, 24, "charter:antialias=false:rgba=0:pixelsize=24", NULL}},
1027 {"-aftext", "Char in 80-char a line (Courier 12)", NULL,
1028 InitAAText, DoAAText, ClearTextWin, EndAAText,
1029 V1_5FEATURE, NONROP, 0,
1030 {80, 12, "courier:antialias=false:rgba=0:pixelsize=12", NULL}},
1031 {"-rgb10text", "Char in 80-char rgb line (Charter 10)", NULL,
1032 InitAAText, DoAAText, ClearTextWin, EndAAText,
1033 V1_5FEATURE, NONROP, 0,
1034 {80, 10, "charter:antialias=true:rgba=rgb:pixelsize=10", NULL}},
1035 {"-rgb24text", "Char in 30-char rgb line (Charter 24)", NULL,
1036 InitAAText, DoAAText, ClearTextWin, EndAAText,
1037 V1_5FEATURE, NONROP, 0,
1038 {30, 24, "charter:antialias=true:rgba=rgb:pixelsize=24", NULL}},
1039 {"-rgbftext", "Char in 80-char rgb line (Courier 12)", NULL,
1040 InitAAText, DoAAText, ClearTextWin, EndAAText,
1041 V1_5FEATURE, NONROP, 0,
1042 {80, 12, "courier:antialias=true:rgba=rgb:pixelsize=12", NULL}},
1043 {"-caa10text", "Char in 80-char aa core line (Charter 10)", NULL,
1044 InitAAText, DoAAText, ClearTextWin, EndAAText,
1045 V1_5FEATURE, NONROP, 0,
1046 {80, 10, "charter:antialias=true:render=false:rgba=0:pixelsize=10", NULL}},
1047 {"-caa24text", "Char in 30-char aa core line (Charter 24)", NULL,
1048 InitAAText, DoAAText, ClearTextWin, EndAAText,
1049 V1_5FEATURE, NONROP, 0,
1050 {30, 24, "charter:antialias=true:render=false:rgba=0:pixelsize=24", NULL}},
1051 {"-caaftext", "Char in 80-char aa core line (Courier 12)", NULL,
1052 InitAAText, DoAAText, ClearTextWin, EndAAText,
1053 V1_5FEATURE, NONROP, 0,
1054 {80, 12, "courier:antialias=true:render=false:rgba=0:pixelsize=12", NULL}},
1055 {"-ca10text", "Char in 80-char a core line (Charter 10)", NULL,
1056 InitAAText, DoAAText, ClearTextWin, EndAAText,
1057 V1_5FEATURE, NONROP, 0,
1058 {80, 10, "charter:antialias=false:render=false:rgba=0:pixelsize=10", NULL}},
1059 {"-ca24text", "Char in 30-char a core line (Charter 24)", NULL,
1060 InitAAText, DoAAText, ClearTextWin, EndAAText,
1061 V1_5FEATURE, NONROP, 0,
1062 {30, 24, "charter:antialias=false:render=false:rgba=0:pixelsize=24", NULL}},
1063 {"-caftext", "Char in 80-char a core line (Courier 12)", NULL,
1064 InitAAText, DoAAText, ClearTextWin, EndAAText,
1065 V1_5FEATURE, NONROP, 0,
1066 {80, 12, "courier:antialias=false:render=false:rgba=0:pixelsize=12", NULL}},
1067 {"-rgb10text", "Char in 80-char rgb core line (Charter 10)", NULL,
1068 InitAAText, DoAAText, ClearTextWin, EndAAText,
1069 V1_5FEATURE, NONROP, 0,
1070 {80, 10, "charter:antialias=true:render=false:rgba=rgb:pixelsize=10", NULL}},
1071 {"-rgb24text", "Char in 30-char rgb core line (Charter 24)", NULL,
1072 InitAAText, DoAAText, ClearTextWin, EndAAText,
1073 V1_5FEATURE, NONROP, 0,
1074 {30, 24, "charter:antialias=true:render=false:rgba=rgb:pixelsize=24", NULL}},
1075 {"-rgbftext", "Char in 80-char rgb core line (Courier 12)", NULL,
1076 InitAAText, DoAAText, ClearTextWin, EndAAText,
1077 V1_5FEATURE, NONROP, 0,
1078 {80, 12, "courier:antialias=true:render=false:rgba=rgb:pixelsize=12", NULL}},
1080 {"-scroll10", "Scroll 10x10 pixels", NULL,
1081 InitScroll, DoScroll, MidScroll, EndScroll,
1082 V1_2FEATURE, ROP, 0,
1084 {"-scroll100", "Scroll 100x100 pixels", NULL,
1085 InitScroll, DoScroll, MidScroll, EndScroll,
1086 V1_2FEATURE, ROP, 0,
1088 {"-scroll500", "Scroll 500x500 pixels", NULL,
1089 InitScroll, DoScroll, MidScroll, EndScroll,
1090 V1_2FEATURE, ROP, 0,
1092 {"-copywinwin10", "Copy 10x10 from window to window", NULL,
1093 InitCopyWin, DoCopyWinWin, MidScroll, EndCopyWin,
1094 V1_2FEATURE, ROP, 0,
1096 {"-copywinwin100", "Copy 100x100 from window to window", NULL,
1097 InitCopyWin, DoCopyWinWin, MidScroll, EndCopyWin,
1098 V1_2FEATURE, ROP, 0,
1100 {"-copywinwin500", "Copy 500x500 from window to window", NULL,
1101 InitCopyWin, DoCopyWinWin, MidScroll, EndCopyWin,
1102 V1_2FEATURE, ROP, 0,
1104 {"-copypixwin10", "Copy 10x10 from pixmap to window", NULL,
1105 InitCopyPix, DoCopyPixWin, MidCopyPix, EndCopyPix,
1106 V1_2FEATURE, ROP, 0,
1108 {"-copypixwin100", "Copy 100x100 from pixmap to window", NULL,
1109 InitCopyPix, DoCopyPixWin, MidCopyPix, EndCopyPix,
1110 V1_2FEATURE, ROP, 0,
1112 {"-copypixwin500", "Copy 500x500 from pixmap to window", NULL,
1113 InitCopyPix, DoCopyPixWin, MidCopyPix, EndCopyPix,
1114 V1_2FEATURE, ROP, 0,
1116 {"-copywinpix10", "Copy 10x10 from window to pixmap", NULL,
1117 InitCopyPix, DoCopyWinPix, MidScroll, EndCopyPix,
1118 V1_2FEATURE, ROP, 0,
1120 {"-copywinpix100", "Copy 100x100 from window to pixmap", NULL,
1121 InitCopyPix, DoCopyWinPix, MidScroll, EndCopyPix,
1122 V1_2FEATURE, ROP, 0,
1124 {"-copywinpix500", "Copy 500x500 from window to pixmap", NULL,
1125 InitCopyPix, DoCopyWinPix, MidScroll, EndCopyPix,
1126 V1_2FEATURE, ROP, 0,
1128 {"-copypixpix10", "Copy 10x10 from pixmap to pixmap", NULL,
1129 InitCopyPix, DoCopyPixPix, NullProc, EndCopyPix,
1130 V1_2FEATURE, ROP, 0,
1132 {"-copypixpix100", "Copy 100x100 from pixmap to pixmap", NULL,
1133 InitCopyPix, DoCopyPixPix, NullProc, EndCopyPix,
1134 V1_2FEATURE, ROP, 0,
1136 {"-copypixpix500", "Copy 500x500 from pixmap to pixmap", NULL,
1137 InitCopyPix, DoCopyPixPix, NullProc, EndCopyPix,
1138 V1_2FEATURE, ROP, 0,
1140 {"-copyplane10", "Copy 10x10 1-bit deep plane", NULL,
1141 InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
1142 V1_2FEATURE, ROP, 0,
1144 {"-copyplane100", "Copy 100x100 1-bit deep plane", NULL,
1145 InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
1146 V1_2FEATURE, ROP, 0,
1148 {"-copyplane500", "Copy 500x500 1-bit deep plane", NULL,
1149 InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
1150 V1_2FEATURE, ROP, 0,
1152 {"-deepcopyplane10", "Copy 10x10 n-bit deep plane", NULL,
1153 InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
1154 V1_5FEATURE, ROP, 0,
1156 {"-deepcopyplane100", "Copy 100x100 n-bit deep plane", NULL,
1157 InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
1158 V1_5FEATURE, ROP, 0,
1160 {"-deepcopyplane500", "Copy 500x500 n-bit deep plane", NULL,
1161 InitCopyPlane, DoCopyPlane, MidCopyPix, EndCopyPix,
1162 V1_5FEATURE, ROP, 0,
1164 {"-putimage10", "PutImage 10x10 square", NULL,
1165 InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
1166 V1_2FEATURE, ROP, 0,
1168 {"-putimage100", "PutImage 100x100 square", NULL,
1169 InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
1170 V1_2FEATURE, ROP, 0,
1172 {"-putimage500", "PutImage 500x500 square", NULL,
1173 InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
1174 V1_2FEATURE, ROP, 0,
1176 {"-putimagexy10", "PutImage XY 10x10 square", NULL,
1177 InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
1178 V1_4FEATURE, ROP, 0,
1180 {"-putimagexy100", "PutImage XY 100x100 square", NULL,
1181 InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
1182 V1_4FEATURE, ROP, 0,
1184 {"-putimagexy500", "PutImage XY 500x500 square", NULL,
1185 InitPutImage, DoPutImage, MidCopyPix, EndGetImage,
1186 V1_4FEATURE, ROP, 0,
1189 {"-shmput10", "ShmPutImage 10x10 square", NULL,
1190 InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
1191 V1_2FEATURE, ROP, 0,
1193 {"-shmput100", "ShmPutImage 100x100 square", NULL,
1194 InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
1195 V1_2FEATURE, ROP, 0,
1197 {"-shmput500", "ShmPutImage 500x500 square", NULL,
1198 InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
1199 V1_2FEATURE, ROP, 0,
1201 {"-shmputxy10", "ShmPutImage XY 10x10 square", NULL,
1202 InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
1203 V1_4FEATURE, ROP, 0,
1205 {"-shmputxy100", "ShmPutImage XY 100x100 square", NULL,
1206 InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
1207 V1_4FEATURE, ROP, 0,
1209 {"-shmputxy500", "ShmPutImage XY 500x500 square", NULL,
1210 InitShmPutImage, DoShmPutImage, MidCopyPix, EndShmPutImage,
1211 V1_4FEATURE, ROP, 0,
1214 {"-getimage10", "GetImage 10x10 square", NULL,
1215 InitGetImage, DoGetImage, NullProc, EndGetImage,
1216 V1_2FEATURE, PLANEMASK, 0,
1218 {"-getimage100", "GetImage 100x100 square", NULL,
1219 InitGetImage, DoGetImage, NullProc, EndGetImage,
1220 V1_2FEATURE, PLANEMASK, 0,
1222 {"-getimage500", "GetImage 500x500 square", NULL,
1223 InitGetImage, DoGetImage, NullProc, EndGetImage,
1224 V1_2FEATURE, PLANEMASK, 0,
1226 {"-getimagexy10", "GetImage XY 10x10 square", NULL,
1227 InitGetImage, DoGetImage, NullProc, EndGetImage,
1228 V1_4FEATURE, PLANEMASK, 0,
1230 {"-getimagexy100", "GetImage XY 100x100 square", NULL,
1231 InitGetImage, DoGetImage, NullProc, EndGetImage,
1232 V1_4FEATURE, PLANEMASK, 0,
1234 {"-getimagexy500", "GetImage XY 500x500 square", NULL,
1235 InitGetImage, DoGetImage, NullProc, EndGetImage,
1236 V1_4FEATURE, PLANEMASK, 0,
1238 {"-compwinwin10", "Composite 10x10 from window to window", NULL,
1239 InitCompositeWin, DoCompositeWinWin, MidScroll, EndCompositeWin,
1240 VERSION1_6, COMP, 0,
1242 {"-compwinwin100", "Composite 100x100 from window to window", NULL,
1243 InitCompositeWin, DoCompositeWinWin, MidScroll, EndCompositeWin,
1244 VERSION1_6, COMP, 0,
1246 {"-compwinwin500", "Composite 500x500 from window to window", NULL,
1247 InitCompositeWin, DoCompositeWinWin, MidScroll, EndCompositeWin,
1248 VERSION1_6, COMP, 0,
1250 {"-comppixwin10", "Composite 10x10 from pixmap to window", NULL,
1251 InitCompositePix, DoCompositePixWin, MidScroll, EndCompositeWin,
1252 VERSION1_6, COMP, 0,
1254 {"-comppixwin100", "Composite 100x100 from pixmap to window", NULL,
1255 InitCompositePix, DoCompositePixWin, MidScroll, EndCompositeWin,
1256 VERSION1_6, COMP, 0,
1258 {"-comppixwin500", "Composite 500x500 from pixmap to window", NULL,
1259 InitCompositePix, DoCompositePixWin, MidScroll, EndCompositeWin,
1260 VERSION1_6, COMP, 0,
1262 {"-noop", "X protocol NoOperation", NULL,
1263 NullInitProc, DoNoOp, NullProc, NullProc,
1264 V1_2FEATURE, PLANEMASK, 0,
1266 {"-atom", "GetAtomName", NULL,
1267 NullInitProc, DoGetAtom, NullProc, NullProc,
1268 VERSION1_2 | VERSION1_3, NONROP, 0,
1270 {"-pointer", "QueryPointer", NULL,
1271 NullInitProc, DoQueryPointer, NullProc, NullProc,
1272 V1_4FEATURE, NONROP, 0,
1274 {"-prop", "GetProperty", NULL,
1275 InitGetProperty, DoGetProperty, NullProc, NullProc,
1276 V1_2FEATURE, NONROP, 0,
1278 {"-gc", "Change graphics context", NULL,
1279 InitGC, DoChangeGC, NullProc, EndGC,
1280 V1_2FEATURE, NONROP, 0,
1282 {"-create", "Create and map subwindows", NULL,
1283 InitCreate, CreateChildren, DestroyChildren, EndCreate,
1284 V1_2FEATURE, WINDOW, 0,
1286 {"-ucreate", "Create unmapped window", NULL,
1287 InitCreate, CreateChildren, DestroyChildren, EndCreate,
1288 V1_2FEATURE, WINDOW, 0,
1290 {"-map", "Map window via parent", NULL,
1291 InitMap, MapParents, UnmapParentsCleanup, EndCreate,
1292 V1_2FEATURE, WINDOW, 0,
1294 {"-unmap", "Unmap window via parent", NULL,
1295 InitDestroy, UnmapParents, MapParentsCleanup, EndCreate,
1296 V1_2FEATURE, WINDOW, 0,
1298 {"-destroy", "Destroy window via parent", NULL,
1299 InitDestroy, DestroyParents, RenewParents, EndCreate,
1300 V1_2FEATURE, WINDOW, 0,
1302 {"-popup", "Hide/expose window via popup", NULL,
1303 InitPopups, DoPopUps, NullProc, EndPopups,
1304 V1_2FEATURE, WINDOW, 0,
1306 {"-move", "Move window", NULL,
1307 InitMoveWindows, DoMoveWindows, NullProc, EndMoveWindows,
1308 V1_2FEATURE, WINDOW, 0,
1310 {"-umove", "Moved unmapped window", NULL,
1311 InitMoveWindows, DoMoveWindows, NullProc, EndMoveWindows,
1312 V1_2FEATURE, WINDOW, 0,
1314 {"-movetree", "Move window via parent", NULL,
1315 InitMoveTree, DoMoveTree, NullProc, EndMoveTree,
1316 V1_2FEATURE, WINDOW, 0,
1318 {"-resize", "Resize window", NULL,
1319 InitMoveWindows, DoResizeWindows, NullProc, EndMoveWindows,
1320 V1_2FEATURE, WINDOW, 0,
1322 {"-uresize", "Resize unmapped window", NULL,
1323 InitMoveWindows, DoResizeWindows, NullProc, EndMoveWindows,
1324 V1_2FEATURE, WINDOW, 0,
1326 {"-circulate", "Circulate window", NULL,
1327 InitCircWindows, DoCircWindows, NullProc, EndCircWindows,
1328 V1_2FEATURE, WINDOW, 0,
1330 {"-ucirculate", "Circulate Unmapped window", NULL,
1331 InitCircWindows, DoCircWindows, NullProc, EndCircWindows,
1332 V1_2FEATURE, WINDOW, 0,
1335 NULL, NULL, NULL, NULL,