1fd7d9bd3Smrg
2fd7d9bd3Smrg
3fd7d9bd3SmrgClearArea
4fd7d9bd3Smrg---------
5fd7d9bd3SmrgBasically a special case of PolyFillRect.  Put up some sort of image first
6fd7d9bd3Smrgso we can clear it away.  Try both small areas and big areas, to give
7fd7d9bd3Smrgcredit to servers for optimizing small ones.
8fd7d9bd3Smrg
9fd7d9bd3SmrgData: Pixels per second.
10fd7d9bd3Smrg      Breaking that down into large and small areas would probably not
11e53c48bfSmrg        be useful.
12e53c48bfSmrg
13fd7d9bd3SmrgGC Fields: None.
14fd7d9bd3Smrg
15fd7d9bd3Smrg
16fd7d9bd3SmrgCopyArea
17fd7d9bd3Smrg--------
18fd7d9bd3SmrgPutting up some image and then repeatedly copying from one part of it
19fd7d9bd3Smrgto another would do the right thing and could look neat if done right.
20fd7d9bd3Smrg
21fd7d9bd3SmrgWe probably want to see what happens when the source area is clipped,
22fd7d9bd3Smrgas that as mentioned specifically in the protocol document.
23fd7d9bd3Smrg
24fd7d9bd3SmrgData: Pixels per second.
25e53c48bfSmrg
26fd7d9bd3SmrgGC Fields: function             (*)
27fd7d9bd3Smrg           plane-mask
28fd7d9bd3Smrg	   subwindow-mode
29fd7d9bd3Smrg	   graphics-exposures
30fd7d9bd3Smrg	   clip-x-origin
31fd7d9bd3Smrg	   clip-y-origin
32fd7d9bd3Smrg	   clip-mask
33fd7d9bd3Smrg
34fd7d9bd3Smrg
35fd7d9bd3SmrgCopyPlane
36fd7d9bd3Smrg---------
37fd7d9bd3SmrgSpecial case of CopyArea again.
38fd7d9bd3Smrg
39fd7d9bd3Smrg
40fd7d9bd3SmrgPolyPoint
41fd7d9bd3Smrg---------
42fd7d9bd3SmrgDraw lots of points.
43fd7d9bd3SmrgEither start out with an image that's 50/50 black and white
44fd7d9bd3Smrg(preferred) or draw enough points that some points will get drawn at
45fd7d9bd3Smrgleast twice (to test functions other than copy).
46fd7d9bd3Smrg
47fd7d9bd3SmrgData: Points per second.
48fd7d9bd3Smrg
49fd7d9bd3SmrgGC fields: function             (*)
50fd7d9bd3Smrg           plane-mask
51fd7d9bd3Smrg           foreground
52fd7d9bd3Smrg           subwindow-mode
53fd7d9bd3Smrg           clip-x-origin
54fd7d9bd3Smrg           clip-y-origin
55fd7d9bd3Smrg	   clip-mask
56fd7d9bd3Smrg
57fd7d9bd3Smrg
58fd7d9bd3SmrgPolyLine
59fd7d9bd3Smrg--------
60fd7d9bd3SmrgCircular test like there is now.
61fd7d9bd3SmrgTry clipping at window boundaries?
62fd7d9bd3Smrg
63fd7d9bd3SmrgData: Lines per second.
64fd7d9bd3Smrg      Pixels per second (is this valid - do lines that are twice as
65fd7d9bd3Smrg        long take twice as long to draw? Also, is it valid to compare
66fd7d9bd3Smrg        thin lines and fat lines?)
67e53c48bfSmrg
68fd7d9bd3SmrgGC fields: function             (*)
69fd7d9bd3Smrg           plane-mask
70fd7d9bd3Smrg           line-width           (*)
71fd7d9bd3Smrg           line-style		(*)
72fd7d9bd3Smrg           cap-style		(*)
73fd7d9bd3Smrg           join-style		(*)
74fd7d9bd3Smrg           fill-style		(*)
75fd7d9bd3Smrg           subwindow-mode
76fd7d9bd3Smrg           clip-x-origin
77fd7d9bd3Smrg           clip-y-origin
78fd7d9bd3Smrg           clip-mask
79fd7d9bd3SmrgPossibly   foreground
80fd7d9bd3Smrg           background
81fd7d9bd3Smrg           tile			(*)
82fd7d9bd3Smrg           stipple		(*)
83fd7d9bd3Smrg           tile-stipple-x-origin
84fd7d9bd3Smrg	   tile-stipple-y-origin
85fd7d9bd3Smrg	   dash-offset
86fd7d9bd3Smrg	   dashes		(*)
87fd7d9bd3Smrg
88fd7d9bd3Smrg
89fd7d9bd3SmrgPolySegment
90fd7d9bd3Smrg-----------
91fd7d9bd3SmrgJust like PolyLine but lines don't have to be connected. Crosshatching?
92fd7d9bd3Smrg
93fd7d9bd3SmrgData: Lines per second, pixels per second(?)
94fd7d9bd3Smrg
95fd7d9bd3SmrgGC fields: function
96fd7d9bd3Smrg	plane-mask
97fd7d9bd3Smrg	line-width
98fd7d9bd3Smrg	line-style
99fd7d9bd3Smrg	cap-style
100fd7d9bd3Smrg	fill-style
101fd7d9bd3Smrg	subwindow-mode
102fd7d9bd3Smrg	clip-x-origin
103fd7d9bd3Smrg	clip-y-origin
104fd7d9bd3Smrg	clip-mask
105fd7d9bd3SmrgPossibly  foreground
106fd7d9bd3Smrg	background
107fd7d9bd3Smrg	tile
108fd7d9bd3Smrg	stipple
109fd7d9bd3Smrg	tile-stipple-x-origin
110fd7d9bd3Smrg	tile-stipple-y-origin
111fd7d9bd3Smrg	dash-offset
112fd7d9bd3Smrg	dashes
113fd7d9bd3Smrg
114fd7d9bd3Smrg
115fd7d9bd3SmrgPolyRectangle
116fd7d9bd3Smrg-------------
117fd7d9bd3SmrgLots of five point PolyLines.  Partly concentric ones would look nice; we
118fd7d9bd3Smrgalso need overlap for testing different functions.
119fd7d9bd3Smrg
120fd7d9bd3SmrgData: Rectangles per second.
121fd7d9bd3Smrg	Pixels per second? (divide by perimeter)
122fd7d9bd3Smrg
123fd7d9bd3SmrgGC fields: function
124fd7d9bd3Smrg	plane-mask
125fd7d9bd3Smrg	line-width
126fd7d9bd3Smrg	line-style
127fd7d9bd3Smrg	join-style
128fd7d9bd3Smrg	fill-style
129fd7d9bd3Smrg	subwindow-mode
130fd7d9bd3Smrg	clip-x-origin
131fd7d9bd3Smrg	clip-y-origin
132fd7d9bd3Smrg	clip-mask
133fd7d9bd3SmrgPossibly foreground
134fd7d9bd3Smrg	background
135fd7d9bd3Smrg	tile
136fd7d9bd3Smrg	stipple
137fd7d9bd3Smrg	tile-stipple-x-origin
138fd7d9bd3Smrg	tile-stipple-y-origin
139fd7d9bd3Smrg	dash-offset
140fd7d9bd3Smrg	dashes
141fd7d9bd3Smrg
142fd7d9bd3Smrg
143fd7d9bd3SmrgPolyArc
144fd7d9bd3Smrg-------
145fd7d9bd3SmrgOverlapping concentric things (ripples) would look cool.
146fd7d9bd3SmrgIs it possible to special-case circles?  Test for this?
147fd7d9bd3Smrg
148fd7d9bd3SmrgData: Arcs per second?  If we had the same test each time this might
149fd7d9bd3Smrg        be OK.
150fd7d9bd3Smrg      Pixels per second?  Finding the length of an arc could be
151fd7d9bd3Smrg        annoying.
152fd7d9bd3Smrg
153fd7d9bd3SmrgGC fields: function
154fd7d9bd3Smrg	plane-mask
155fd7d9bd3Smrg	line-width
156fd7d9bd3Smrg	line-style
157fd7d9bd3Smrg	cap-style
158fd7d9bd3Smrg	join-style
159fd7d9bd3Smrg	fill-style
160fd7d9bd3Smrg	subwindow-mode
161fd7d9bd3Smrg	clip-x-origin
162fd7d9bd3Smrg	clip-y-origin
163fd7d9bd3Smrg	clip-mask
164fd7d9bd3SmrgPossibly foreground
165fd7d9bd3Smrg	background
166fd7d9bd3Smrg	tile
167fd7d9bd3Smrg	stipple
168fd7d9bd3Smrg	tile-stipple-x-origin
169fd7d9bd3Smrg	tile-stipple-y-origin
170fd7d9bd3Smrg	dash-offset
171fd7d9bd3Smrg	dashes
172fd7d9bd3Smrg
173fd7d9bd3Smrg
174fd7d9bd3SmrgFillPoly
175fd7d9bd3Smrg--------
176fd7d9bd3SmrgUse the same test as PolyLine?
177fd7d9bd3SmrgOverlapping is a must to test functions.
178fd7d9bd3SmrgConvex vs. Concave polygons.
179fd7d9bd3Smrg
180fd7d9bd3SmrgData: Pixels per second, I guess.
181fd7d9bd3Smrg      Data for convex vs. concave could be interesting.
182fd7d9bd3Smrg
183fd7d9bd3SmrgGC fields: function
184fd7d9bd3Smrg	plane-mask
185fd7d9bd3Smrg	fill-style
186fd7d9bd3Smrg	fill-rule
187fd7d9bd3Smrg	subwindow-mode
188fd7d9bd3Smrg	clip-x-origin
189fd7d9bd3Smrg	clip-y-origin
190fd7d9bd3Smrg	clip-mask
191fd7d9bd3SmrgPossibly foreground
192fd7d9bd3Smrg	background
193fd7d9bd3Smrg	tile
194fd7d9bd3Smrg	stipple
195fd7d9bd3Smrg	tile-stipple-x-origin
196fd7d9bd3Smrg	tile-stipple-y-origin
197fd7d9bd3Smrg
198fd7d9bd3Smrg
199fd7d9bd3SmrgPolyFillRectangle
200fd7d9bd3Smrg-----------------
201fd7d9bd3SmrgUse same test as PolyRectangle?
202fd7d9bd3SmrgPerhaps give FillPoly some of these too, see if it special cases them.
203fd7d9bd3SmrgFill Rectangle vs. Fill Poly for same size areas would be an
204fd7d9bd3Smrg  interesting comparison.
205fd7d9bd3Smrg
206fd7d9bd3SmrgData: Pixels per second.
207fd7d9bd3Smrg
208fd7d9bd3SmrgGC fields: function
209fd7d9bd3Smrg	plane-mask
210fd7d9bd3Smrg	fill-style
211fd7d9bd3Smrg	subwindow-mode
212fd7d9bd3Smrg	clip-x-origin
213fd7d9bd3Smrg	clip-y-origin
214fd7d9bd3Smrg	clip-mask
215fd7d9bd3SmrgPossibly foreground
216fd7d9bd3Smrg	background
217fd7d9bd3Smrg	tile
218fd7d9bd3Smrg	stipple
219fd7d9bd3Smrg	tile-stipple-x-origin
220fd7d9bd3Smrg	tile-stipple-y-origin
221fd7d9bd3Smrg
222fd7d9bd3Smrg
223fd7d9bd3SmrgPolyFillArc
224fd7d9bd3Smrg-----------
225fd7d9bd3SmrgUse same test as PolyArc?
226fd7d9bd3Smrg
227fd7d9bd3SmrgData: Pixels per second would be hard to compute, but what else is there?
228fd7d9bd3Smrg
229fd7d9bd3SmrgGC fields: function
230fd7d9bd3Smrg	plane-mask
231fd7d9bd3Smrg	fill-style
232fd7d9bd3Smrg	arc-mode
233fd7d9bd3Smrg	subwindow-mode
234fd7d9bd3Smrg	clip-x-origin
235fd7d9bd3Smrg	clip-y-origin
236fd7d9bd3Smrg	clip-mask
237fd7d9bd3SmrgPossibly foreground
238fd7d9bd3Smrg	background
239fd7d9bd3Smrg	tile
240fd7d9bd3Smrg	stipple
241fd7d9bd3Smrg	tile-stipple-x-origin
242fd7d9bd3Smrg	tile-stipple-y-origin
243fd7d9bd3Smrg
244fd7d9bd3Smrg
245fd7d9bd3SmrgPutImage
246fd7d9bd3Smrg--------
247fd7d9bd3Smrg
248fd7d9bd3SmrgGC fields: function
249fd7d9bd3Smrg	plane-mask
250fd7d9bd3Smrg	subwindow-mode
251fd7d9bd3Smrg	clip-x-origin
252fd7d9bd3Smrg	clip-y-origin
253fd7d9bd3Smrg	clip-mask
254fd7d9bd3SmrgPossibly foreground
255fd7d9bd3Smrg	background
256fd7d9bd3Smrg
257fd7d9bd3Smrg
258fd7d9bd3SmrgGetImage
259fd7d9bd3Smrg--------
260fd7d9bd3Smrg
261fd7d9bd3SmrgPolyText8
262fd7d9bd3Smrg---------
263fd7d9bd3Smrg
264fd7d9bd3SmrgGC fields: function
265fd7d9bd3Smrg	plane-mask
266fd7d9bd3Smrg	fill-style
267fd7d9bd3Smrg	font
268fd7d9bd3Smrg	subwindow-mode
269fd7d9bd3Smrg	clip-x-origin
270fd7d9bd3Smrg	clip-y-origin
271fd7d9bd3Smrg	clip-mask
272fd7d9bd3SmrgPossibly foreground
273fd7d9bd3Smrg	background
274fd7d9bd3Smrg	tile
275fd7d9bd3Smrg	stipple
276fd7d9bd3Smrg	tile-stipple-x-origin
277fd7d9bd3Smrg	tile-stipple-y-origin
278fd7d9bd3Smrg
279fd7d9bd3Smrg
280fd7d9bd3SmrgPolyText16
281fd7d9bd3Smrg----------
282fd7d9bd3Smrg
283fd7d9bd3SmrgImageText8
284fd7d9bd3Smrg----------
285fd7d9bd3Smrg
286fd7d9bd3SmrgGC fields: plane-mask
287fd7d9bd3Smrg	foreground
288fd7d9bd3Smrg	background
289fd7d9bd3Smrg	font
290fd7d9bd3Smrg	subwindow-mode
291fd7d9bd3Smrg	clip-x-origin
292fd7d9bd3Smrg	clip-y-origin
293fd7d9bd3Smrg	clip-mask
294fd7d9bd3Smrg
295fd7d9bd3SmrgImageText16
296fd7d9bd3Smrg---------
297