Notes revision fd7d9bd3
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 11fd7d9bd3Smrg be userful. 12fd7d9bd3Smrg 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. 25fd7d9bd3Smrg 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?) 67fd7d9bd3Smrg 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