summaryrefslogtreecommitdiff
path: root/Written/Jim
diff options
context:
space:
mode:
Diffstat (limited to 'Written/Jim')
-rw-r--r--Written/Jim255
1 files changed, 255 insertions, 0 deletions
diff --git a/Written/Jim b/Written/Jim
new file mode 100644
index 0000000..e370cd5
--- /dev/null
+++ b/Written/Jim
@@ -0,0 +1,255 @@
+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