1fd7d9bd3SmrgThe Commands menu should contain the following items: 2fd7d9bd3Smrg 3fd7d9bd3Smrg Run [the selected benchmark] 4fd7d9bd3Smrg Benchmark Options.../Hide Benchmark Options [toggle] 5fd7d9bd3Smrg Graphics Options.../Hide Graphics Options [toggle] 6fd7d9bd3Smrg Describe Test.../Hide Test Description [toggle] 7fd7d9bd3Smrg Start Recording/Stop Recording [toggle] 8fd7d9bd3Smrg Playback [pop up a dialogue box asking for filename] 9fd7d9bd3Smrg -------- 10fd7d9bd3Smrg Quit [pop up a dialogue box asking if we are really done] 11fd7d9bd3Smrg 12fd7d9bd3Smrg 13fd7d9bd3SmrgThe Benchmark Options sheet should contain the information shown below. The 14fd7d9bd3Smrglist of graphics primitives was derived from the "Definition of the Porting 15fd7d9bd3SmrgLayer for the X v11 Sample Server" by Angebranndt et al. and from the Protocol 16fd7d9bd3Smrgdocument. 17fd7d9bd3Smrg 18fd7d9bd3Smrg 19fd7d9bd3Smrg Benchmark Options 20fd7d9bd3Smrg 21fd7d9bd3Smrg 22fd7d9bd3Smrg +-----------------------+-----------------------+ 23fd7d9bd3Smrg Test | Copy Area | Copy Plane | 24fd7d9bd3Smrg +-----------------------+-----------------------+ 25fd7d9bd3Smrg | Points | Lines | 26fd7d9bd3Smrg +-----------------------+-----------------------+ 27fd7d9bd3Smrg | Segments | Rectangles | 28fd7d9bd3Smrg +-----------------------+-----------------------+ 29fd7d9bd3Smrg | Arcs | Filled Polygons | 30fd7d9bd3Smrg +-----------------------+-----------------------+ 31fd7d9bd3Smrg | Filled Rectangles | Filled Arcs | 32fd7d9bd3Smrg +-----------------------+-----------------------+ 33fd7d9bd3Smrg | Put Image | Get Image | 34fd7d9bd3Smrg +-----------------------+-----------------------+ 35fd7d9bd3Smrg | Text 8 | Image Text 8 | 36fd7d9bd3Smrg +-----------------------+-----------------------+ 37fd7d9bd3Smrg | Text 16 | Image Text 16 | 38fd7d9bd3Smrg +-----------------------+-----------------------+ 39fd7d9bd3Smrg 40fd7d9bd3Smrg +---------+ 41fd7d9bd3Smrg Iterations | 10000 | 42fd7d9bd3Smrg +---------+ 43fd7d9bd3Smrg 44fd7d9bd3Smrg +----+-----+ +----+-----+ 45fd7d9bd3Smrg Record | on | off | Describe Test | on | off | 46fd7d9bd3Smrg +----+-----+ +----+-----+ 47fd7d9bd3Smrg 48fd7d9bd3Smrg +-----------------------------------------------+ 49fd7d9bd3Smrg Filename | ./xbench.log | 50fd7d9bd3Smrg +-----------------------------------------------+ 51fd7d9bd3Smrg 52fd7d9bd3Smrg 53fd7d9bd3Smrg******************************************************************************* 54fd7d9bd3Smrg 55fd7d9bd3Smrg 56fd7d9bd3SmrgThe Graphics Options area would contain the following entries: 57fd7d9bd3Smrg 58e53c48bfSmrg Function - one-of { clear, and, andReverse, copy, andInverted, noop, xor, 59e53c48bfSmrg or, nor, equiv, invert, orReverse, copyInverted, 60fd7d9bd3Smrg orInverted, nand, set } 61fd7d9bd3Smrg PlaneMask - unsigned value or many-of-n representing bits 62fd7d9bd3Smrg Foreground - unsigned value in range 0..2^nplanes 63fd7d9bd3Smrg Background - unsigned value in range 0..2^nplanes 64fd7d9bd3Smrg ForegroundColor - set rgb value of Foreground 65fd7d9bd3Smrg BackgroundColor - set rgb value of background 66fd7d9bd3Smrg LineWidth - unsigned number in range 0..65535 67fd7d9bd3Smrg LineStyle - oneof { Solid, OnOffDash, DoubleDash } 68fd7d9bd3Smrg CapStyle - one-of { NotLast, Butt, Round, Projecting } 69fd7d9bd3Smrg JoinStyle - one-of { Miter, Round, Bevel } 70fd7d9bd3Smrg FillStyle - one-of { Solid, Tiled, OpaqueStippled, Stippled } 71fd7d9bd3Smrg FillRule - one-of { EvenOdd, Winding } 72fd7d9bd3Smrg ArcMode - one-of { Chord, PieSlice } 73fd7d9bd3Smrg # Tile - pixmap [probably not edittable in first version] 74fd7d9bd3Smrg # Stipple - pixmap [probably not edittable in first version] 75fd7d9bd3Smrg TileStipXOrigin - signed number in range -32768..32767 76fd7d9bd3Smrg TileStipYOrigin - signed number in range -32768..32767 77fd7d9bd3Smrg Font - name of font 78fd7d9bd3Smrg ClipXOrigin - signed number in range -32768..32767 79fd7d9bd3Smrg ClipYOrigin - signed number in range -32768..32767 80fd7d9bd3Smrg ClipMask - one-of { None, select } [user selects by clicking in work area] 81fd7d9bd3Smrg DashOffset - unsigned number in range -32768..32767 82fd7d9bd3Smrg DashList - many-of-n of 8 boxes for defining dashes 83fd7d9bd3Smrg 84fd7d9bd3Smrg 85fd7d9bd3Smrg 86fd7d9bd3Smrg 87fd7d9bd3Smrg Graphics Options 88fd7d9bd3Smrg 89fd7d9bd3Smrg 90fd7d9bd3Smrg +--------------+--------------+--------------+--------------+ 91fd7d9bd3Smrg Function | clear | and | andReverse | copy | 92fd7d9bd3Smrg +--------------+--------------+--------------+--------------+ 93fd7d9bd3Smrg | andInverted | noop | xor | or | 94fd7d9bd3Smrg +--------------+--------------+--------------+--------------+ 95fd7d9bd3Smrg | nor | equiv | invert | orReverse | 96fd7d9bd3Smrg +--------------+--------------+--------------+--------------+ 97fd7d9bd3Smrg | copyInverted | orInverted | nand | set | 98fd7d9bd3Smrg +--------------+--------------+--------------+--------------+ 99fd7d9bd3Smrg 100fd7d9bd3Smrg +-----+---------+ 101fd7d9bd3Smrg Colormap | new | default | 102fd7d9bd3Smrg +-----+---------+ 103fd7d9bd3Smrg 104fd7d9bd3Smrg +----------+ +--------+--------+--------+ 105fd7d9bd3Smrg Foreground | 1 | ForegroundColor | ffff | ffff | ffff | 106fd7d9bd3Smrg +----------+ +--------+--------+--------+ 107fd7d9bd3Smrg 108fd7d9bd3Smrg +----------+ +--------+--------+--------+ 109fd7d9bd3Smrg Background | 0 | BackgroundColor | 0000 | 0000 | 0000 | 110fd7d9bd3Smrg +----------+ +--------+--------+--------+ 111fd7d9bd3Smrg 112fd7d9bd3Smrg +------+ +-------+-----------+------------+ 113fd7d9bd3Smrg LineWidth | 3 | LineStyle | Solid | OnOffDash | DoubleDash | 114fd7d9bd3Smrg +------+ +-------+-----------+------------+ 115fd7d9bd3Smrg 116fd7d9bd3Smrg +---------+------+-------+------------+ 117fd7d9bd3Smrg CapStyle | NotLast | Butt | Round | Projecting | 118fd7d9bd3Smrg +---------+------+-------+------------+ 119fd7d9bd3Smrg 120fd7d9bd3Smrg +-------+-------+-------+ 121fd7d9bd3Smrg JoinStyle | Miter | Round | Bevel | 122fd7d9bd3Smrg +-------+-------+-------+ 123fd7d9bd3Smrg 124fd7d9bd3Smrg +-------+-------+----------+----------------+ 125fd7d9bd3Smrg FillStyle | Solid | Tiled | Stippled | OpaqueStippled | 126fd7d9bd3Smrg +-------+-------+----------+----------------+ 127fd7d9bd3Smrg 128fd7d9bd3Smrg +---------+---------+ 129fd7d9bd3Smrg FillRule | EvenOdd | Winding | 130fd7d9bd3Smrg +---------+---------+ 131fd7d9bd3Smrg 132fd7d9bd3Smrg +-------+----------+ 133fd7d9bd3Smrg ArcMode | Chord | PieSlice | 134fd7d9bd3Smrg +-------+----------+ 135fd7d9bd3Smrg 136fd7d9bd3Smrg +--------------+ 137fd7d9bd3Smrg TStipOrigin | +####, +#### | 138fd7d9bd3Smrg +--------------+ 139fd7d9bd3Smrg 140fd7d9bd3Smrg +-+-+-+-+-+-+-+-+ +-------+ 141fd7d9bd3Smrg DashList | | |X|X| | |X|X| DashOffset | +#### | 142fd7d9bd3Smrg +-+-+-+-+-+-+-+-+ +-------+ 143fd7d9bd3Smrg 144fd7d9bd3Smrg +----+-----+-----+-------+ +--------+ 145fd7d9bd3Smrg ClipMask | on | off | set | clear | PlaneMask | ffff | 146fd7d9bd3Smrg +----+-----+-----+-------+ +--------+ 147fd7d9bd3Smrg 148fd7d9bd3Smrg 149fd7d9bd3Smrg******************************************************************************* 150fd7d9bd3Smrg 151fd7d9bd3Smrg Grammar 152fd7d9bd3Smrg 153fd7d9bd3Smrg 154fd7d9bd3SmrgBoth to support Record/Playback (used for debugging, demonstrations, and for 155fd7d9bd3Smrgcreating benchmark scripts), there needs to be a command line language that 156fd7d9bd3Smrgcan be used to set all options. Although we won't be doing anything as 157fd7d9bd3Smrgsophisticated as what is provided in many UIMS's, it would be nice to keep 158fd7d9bd3Smrgthe application section of the benchmark as separate as possible from the 159fd7d9bd3Smrguser interface. 160fd7d9bd3Smrg 161e53c48bfSmrg test { CopyArea, CopyPlane, PolyPoint, PolyLine, PolySegment, 162fd7d9bd3Smrg PolyRectangle, PolyArc, FillPolygon, PolyFillRect, PolyFillArc, 163fd7d9bd3Smrg PutImage, GetImage, ImageText8, PolyText8, ImageText16, 164fd7d9bd3Smrg PolyText16 } 165fd7d9bd3Smrg - selects the test to be performed. 166fd7d9bd3Smrg 167fd7d9bd3Smrg colormap { new, default } 168fd7d9bd3Smrg - selects which colormap should be used for test 169fd7d9bd3Smrg 170fd7d9bd3Smrg iterations UNSIGNEDNUMBER 171fd7d9bd3Smrg - specifies the number of times that the test should be run. 172fd7d9bd3Smrg 173fd7d9bd3Smrg record BOOLEAN 174fd7d9bd3Smrg - indicates whether or not to record commands into the record-file. 175fd7d9bd3Smrg 176fd7d9bd3Smrg record-file FILENAME 177fd7d9bd3Smrg - specifies the name of the file into which commands are recorded. 178fd7d9bd3Smrg 179fd7d9bd3Smrg describe BOOLEAN 180e53c48bfSmrg - indicates whether or not a description of the test should be 181fd7d9bd3Smrg displayed whenever a test is selected (or when this option is 182fd7d9bd3Smrg specified). 183fd7d9bd3Smrg 184fd7d9bd3Smrg function { clear, and, andReverse, copy, andInverted, noop, xor, or, nor, 185fd7d9bd3Smrg equiv, invert, orReverse, copyInverted, orInverted, nand, set } 186fd7d9bd3Smrg - selects the alu function to use in the GC. 187fd7d9bd3Smrg 188fd7d9bd3Smrg foreground UNSIGNEDNUMBER 189fd7d9bd3Smrg - selects the foreground pixel value to use in the GC; if a new 190fd7d9bd3Smrg colormap is being used, the RGB value for this slot may be changed. 191fd7d9bd3Smrg 192fd7d9bd3Smrg background UNSIGNEDNUMBER 193fd7d9bd3Smrg - selects the background pixel value to use in the GC; if a new 194fd7d9bd3Smrg colormap is being used, the RGB value for this slot may be changed. 195fd7d9bd3Smrg 196fd7d9bd3Smrg forecolor COLORNAME 197e53c48bfSmrg - specifies the RGB value or name of the color to be used for the 198fd7d9bd3Smrg foreground pixel, if settable. 199fd7d9bd3Smrg 200fd7d9bd3Smrg backcolor COLORNAME 201e53c48bfSmrg - specifies the RGB value or name of the color to be used for the 202fd7d9bd3Smrg background pixel, if settable. 203fd7d9bd3Smrg 204fd7d9bd3Smrg linewidth NUMBER 205fd7d9bd3Smrg - specifies width of lines to use in the GC. 206fd7d9bd3Smrg 207fd7d9bd3Smrg linestyle { Solid, OnOffDash, DoubleDash } 208fd7d9bd3Smrg - selects the type of lines to use in the GC. 209fd7d9bd3Smrg 210fd7d9bd3Smrg capstyle { NotLast, Butt, Round, Projecting } 211fd7d9bd3Smrg - selects the type of caps to use in the GC. 212fd7d9bd3Smrg 213fd7d9bd3Smrg joinstyle { Miter, Round, Bevel } 214fd7d9bd3Smrg - selects the type of joins to use in the GC. 215fd7d9bd3Smrg 216fd7d9bd3Smrg fillstyle { Solid, Tiled, Stippled, OpaqueStippled } 217fd7d9bd3Smrg - selects the type of fills to use in the GC. 218fd7d9bd3Smrg 219fd7d9bd3Smrg fillrule { EvenOdd, Winding } 220fd7d9bd3Smrg - selects the fill rule to be used in the GC. 221fd7d9bd3Smrg 222fd7d9bd3Smrg arcmode { Chord, PieSlice } 223fd7d9bd3Smrg - selects the type of arcs to be drawn in the GC. 224fd7d9bd3Smrg 225fd7d9bd3Smrg tsorigin NUMBER NUMBER 226fd7d9bd3Smrg - specifies the X and Y values of the TileStippleOrigin in the GC. 227fd7d9bd3Smrg 228fd7d9bd3Smrg dashlist DASHPATTERN 229fd7d9bd3Smrg - specifies a pattern of 8 binary digits to use in the dashlist 230fd7d9bd3Smrg in the GC; the characters are given in big-endian order such that 231fd7d9bd3Smrg they may be read in binary to form a number between 0 and 255. 232fd7d9bd3Smrg 233fd7d9bd3Smrg dashoffset NUMBER 234fd7d9bd3Smrg - specifies the dashoffset to use in the GC. 235fd7d9bd3Smrg 236fd7d9bd3Smrg cliporigin NUMBER NUMBER 237fd7d9bd3Smrg - specifies the X and Y values of the cliporigin in the GC. 238fd7d9bd3Smrg 239fd7d9bd3Smrg clipmask { on, off, set NUMBER NUMBER NUMBER NUMBER, clear } 240fd7d9bd3Smrg - selects a clipping mode. If "on", then use the most recently 241fd7d9bd3Smrg defined set of clipping rectangles; if "off", then do not do 242fd7d9bd3Smrg any clipping but keep the clipping rectangles for future 243fd7d9bd3Smrg reference; if "set", then add the rectangle specified by 244fd7d9bd3Smrg the remaining numeric arguments as X1 Y1 X2 Y2 relative to the 245fd7d9bd3Smrg cliporigin. 246fd7d9bd3Smrg 247fd7d9bd3Smrg planemask NUMBER 248fd7d9bd3Smrg - specifies the set of planes on to which graphics may be drawn 249fd7d9bd3Smrg in the GC. 250fd7d9bd3Smrg 251fd7d9bd3Smrg run 252fd7d9bd3Smrg - run the currently configured test. 253fd7d9bd3Smrg 254fd7d9bd3Smrg quit 255fd7d9bd3Smrg - exit the program 256