home *** CD-ROM | disk | FTP | other *** search
- The Commands menu should contain the following items:
-
- Run [the selected benchmark]
- Benchmark Options.../Hide Benchmark Options [toggle]
- Graphics Options.../Hide Graphics Options [toggle]
- Describe Test.../Hide Test Description [toggle]
- Start Recording/Stop Recording [toggle]
- Playback [pop up a dialogue box asking for filename]
- --------
- Quit [pop up a dialogue box asking if we are really done]
-
-
- The Benchmark Options sheet should contain the information shown below. The
- list of graphics primitives was derived from the "Definition of the Porting
- Layer for the X v11 Sample Server" by Angebranndt et al. and from the Protocol
- document.
-
-
- Benchmark Options
-
-
- +-----------------------+-----------------------+
- Test | Copy Area | Copy Plane |
- +-----------------------+-----------------------+
- | Points | Lines |
- +-----------------------+-----------------------+
- | Segments | Rectangles |
- +-----------------------+-----------------------+
- | Arcs | Filled Polygons |
- +-----------------------+-----------------------+
- | Filled Rectangles | Filled Arcs |
- +-----------------------+-----------------------+
- | Put Image | Get Image |
- +-----------------------+-----------------------+
- | Text 8 | Image Text 8 |
- +-----------------------+-----------------------+
- | Text 16 | Image Text 16 |
- +-----------------------+-----------------------+
-
- +---------+
- Iterations | 10000 |
- +---------+
-
- +----+-----+ +----+-----+
- Record | on | off | Describe Test | on | off |
- +----+-----+ +----+-----+
-
- +-----------------------------------------------+
- Filename | ./xbench.log |
- +-----------------------------------------------+
-
-
- *******************************************************************************
-
-
- The Graphics Options area would contain the following entries:
-
- Function - one-of { clear, and, andReverse, copy, andInverted, noop, xor,
- or, nor, equiv, invert, orReverse, copyInverted,
- orInverted, nand, set }
- PlaneMask - unsigned value or many-of-n representing bits
- Foreground - unsigned value in range 0..2^nplanes
- Background - unsigned value in range 0..2^nplanes
- ForegroundColor - set rgb value of Foreground
- BackgroundColor - set rgb value of background
- LineWidth - unsigned number in range 0..65535
- LineStyle - oneof { Solid, OnOffDash, DoubleDash }
- CapStyle - one-of { NotLast, Butt, Round, Projecting }
- JoinStyle - one-of { Miter, Round, Bevel }
- FillStyle - one-of { Solid, Tiled, OpaqueStippled, Stippled }
- FillRule - one-of { EvenOdd, Winding }
- ArcMode - one-of { Chord, PieSlice }
- # Tile - pixmap [probably not edittable in first version]
- # Stipple - pixmap [probably not edittable in first version]
- TileStipXOrigin - signed number in range -32768..32767
- TileStipYOrigin - signed number in range -32768..32767
- Font - name of font
- ClipXOrigin - signed number in range -32768..32767
- ClipYOrigin - signed number in range -32768..32767
- ClipMask - one-of { None, select } [user selects by clicking in work area]
- DashOffset - unsigned number in range -32768..32767
- DashList - many-of-n of 8 boxes for defining dashes
-
-
-
-
- Graphics Options
-
-
- +--------------+--------------+--------------+--------------+
- Function | clear | and | andReverse | copy |
- +--------------+--------------+--------------+--------------+
- | andInverted | noop | xor | or |
- +--------------+--------------+--------------+--------------+
- | nor | equiv | invert | orReverse |
- +--------------+--------------+--------------+--------------+
- | copyInverted | orInverted | nand | set |
- +--------------+--------------+--------------+--------------+
-
- +-----+---------+
- Colormap | new | default |
- +-----+---------+
-
- +----------+ +--------+--------+--------+
- Foreground | 1 | ForegroundColor | ffff | ffff | ffff |
- +----------+ +--------+--------+--------+
-
- +----------+ +--------+--------+--------+
- Background | 0 | BackgroundColor | 0000 | 0000 | 0000 |
- +----------+ +--------+--------+--------+
-
- +------+ +-------+-----------+------------+
- LineWidth | 3 | LineStyle | Solid | OnOffDash | DoubleDash |
- +------+ +-------+-----------+------------+
-
- +---------+------+-------+------------+
- CapStyle | NotLast | Butt | Round | Projecting |
- +---------+------+-------+------------+
-
- +-------+-------+-------+
- JoinStyle | Miter | Round | Bevel |
- +-------+-------+-------+
-
- +-------+-------+----------+----------------+
- FillStyle | Solid | Tiled | Stippled | OpaqueStippled |
- +-------+-------+----------+----------------+
-
- +---------+---------+
- FillRule | EvenOdd | Winding |
- +---------+---------+
-
- +-------+----------+
- ArcMode | Chord | PieSlice |
- +-------+----------+
-
- +--------------+
- TStipOrigin | +####, +#### |
- +--------------+
-
- +-+-+-+-+-+-+-+-+ +-------+
- DashList | | |X|X| | |X|X| DashOffset | +#### |
- +-+-+-+-+-+-+-+-+ +-------+
-
- +----+-----+-----+-------+ +--------+
- ClipMask | on | off | set | clear | PlaneMask | ffff |
- +----+-----+-----+-------+ +--------+
-
-
- *******************************************************************************
-
- Grammar
-
-
- Both to support Record/Playback (used for debugging, demonstrations, and for
- creating benchmark scripts), there needs to be a command line language that
- can be used to set all options. Although we won't be doing anything as
- sophisticated as what is provided in many UIMS's, it would be nice to keep
- the application section of the benchmark as separate as possible from the
- user interface.
-
- test { CopyArea, CopyPlane, PolyPoint, PolyLine, PolySegment,
- PolyRectangle, PolyArc, FillPolygon, PolyFillRect, PolyFillArc,
- PutImage, GetImage, ImageText8, PolyText8, ImageText16,
- PolyText16 }
- - selects the test to be performed.
-
- colormap { new, default }
- - selects which colormap should be used for test
-
- iterations UNSIGNEDNUMBER
- - specifies the number of times that the test should be run.
-
- record BOOLEAN
- - indicates whether or not to record commands into the record-file.
-
- record-file FILENAME
- - specifies the name of the file into which commands are recorded.
-
- describe BOOLEAN
- - indicates whether or not a description of the test should be
- displayed whenever a test is selected (or when this option is
- specified).
-
- function { clear, and, andReverse, copy, andInverted, noop, xor, or, nor,
- equiv, invert, orReverse, copyInverted, orInverted, nand, set }
- - selects the alu function to use in the GC.
-
- foreground UNSIGNEDNUMBER
- - selects the foreground pixel value to use in the GC; if a new
- colormap is being used, the RGB value for this slot may be changed.
-
- background UNSIGNEDNUMBER
- - selects the background pixel value to use in the GC; if a new
- colormap is being used, the RGB value for this slot may be changed.
-
- forecolor COLORNAME
- - specifies the RGB value or name of the color to be used for the
- foreground pixel, if settable.
-
- backcolor COLORNAME
- - specifies the RGB value or name of the color to be used for the
- background pixel, if settable.
-
- linewidth NUMBER
- - specifies width of lines to use in the GC.
-
- linestyle { Solid, OnOffDash, DoubleDash }
- - selects the type of lines to use in the GC.
-
- capstyle { NotLast, Butt, Round, Projecting }
- - selects the type of caps to use in the GC.
-
- joinstyle { Miter, Round, Bevel }
- - selects the type of joins to use in the GC.
-
- fillstyle { Solid, Tiled, Stippled, OpaqueStippled }
- - selects the type of fills to use in the GC.
-
- fillrule { EvenOdd, Winding }
- - selects the fill rule to be used in the GC.
-
- arcmode { Chord, PieSlice }
- - selects the type of arcs to be drawn in the GC.
-
- tsorigin NUMBER NUMBER
- - specifies the X and Y values of the TileStippleOrigin in the GC.
-
- dashlist DASHPATTERN
- - specifies a pattern of 8 binary digits to use in the dashlist
- in the GC; the characters are given in big-endian order such that
- they may be read in binary to form a number between 0 and 255.
-
- dashoffset NUMBER
- - specifies the dashoffset to use in the GC.
-
- cliporigin NUMBER NUMBER
- - specifies the X and Y values of the cliporigin in the GC.
-
- clipmask { on, off, set NUMBER NUMBER NUMBER NUMBER, clear }
- - selects a clipping mode. If "on", then use the most recently
- defined set of clipping rectangles; if "off", then do not do
- any clipping but keep the clipping rectangles for future
- reference; if "set", then add the rectangle specified by
- the remaining numeric arguments as X1 Y1 X2 Y2 relative to the
- cliporigin.
-
- planemask NUMBER
- - specifies the set of planes on to which graphics may be drawn
- in the GC.
-
- run
- - run the currently configured test.
-
- quit
- - exit the program
-