racket/collects/tests/gracket/draw-info.txt
Eli Barzilay fcedc30ee4 Rename "collects/tests/mred" -> ".../gracket".
Some additional mred-related tweaks.
2010-05-17 01:44:27 -04:00

303 lines
14 KiB
Plaintext

The drawing area should have the following features:
At the top-left, when the window is opened for the first time, you
should see a hollow box with a line sticking out to the bottom
left. Repainting the canvas should produce instead a solid box and
no line. Repainting with Pixmap or Bitmap should always produce
the hollow box and line.
At the top, "Pen 0 x 0" in a consistent font (i.e., re-painting
should not change the font; clicking *2 should make it twice
a big, and unclicking should restore it)
"Pen 1 x 1" in a possibly different font
"Pen 2 x 2" in a bold red font (bold version of 1x1 font) on yellow
A line should appear across each of "Pen 0 x 0" and "Pen 1 x 1"
(if the line is missing, it was probably erased when the text
was repainted, and that is bad)
A little bit of a black line should appear before "Pen 2 x 2", but
the yellow background should have covered up the rest of the line
To the right of the Pen text, a black and red pair of splines should
form a squashed "S", twice as wide as high. The "S" is formed by
two splines.
Under the splines should be two blue polygons, the top with a square
hole (odd-even fill) and the bottom all solid (winding fill). The
black lines forming the polygon should be the same in each shape
(strictly on borders for the top polygon, drawn over blue in the
bottom polygon).
Toward the right should be three columns of boxes, with a fourth
column that starts with a box. All boxes should have a red border.
In the first three columns, the boxes should contain lines on a
background that matches the normal background (i.e., either white
or cyan). The lines should be black for the left column, and green
for the second and third columns. In the fourth column, the shapes
should be filled with the platform-specific panel background
pattern; the third shape should be a semi-circle with no outline
on the bottom edge.
Further right (to the right of the columns) should appear an
X, a cross, and an narrow X tilted NW. Each should be drawn in
green (5 pixels wide) with a thin black line centered along each
green line. Scaling the picture should make the green line thicker,
but not the black line, and the black line should stay centered.
Under the columns of boxes, a black box should be filled with an 25%
black B&W bitmap, and a red box frame should be draw with a 50%
red stipple.
To the right of those two boxes should appear two little boxes,
black pixels on a tan background, the top one 8x8 and the bottom
on 6x10. The black pixels in the top one should form a vertical
line right or center with a kind of semi-spring on the left
edge. The black pixels in 6x10 should be just a longer semi-spring
to the left.
At the far right should appear six stars, drawn once as lines (left
column) and once as a polygon outline (right column). The first row
uses 'projecting cap and 'miter join, the second uses 'round and
'round, and the last uses 'butt and 'bevel.
The drawings under "0 x 0" and "1 x 1" should look nearly the same:
TopLeft: h-line should be left-aligned with box below it, but
extend 1 extra pixel. v-line similarly should be
top-aligned and 1 pixel longer. The lines should not
touch the box - there should be 2 pixels of space.
Top: Lines for the rotated L's should join in a sharp corner
Second from Top: like top-left, but lines should touch the box (so
only the vertical overhang is visible)
Second from top, right: For 0x0, the X should never be more than 1
pixel wide; this is a case where 1x1 may
be different (i.e., it may have areas
two-pixels wide)
Four shape rows: First (solid brush, solid pen) and second (solid
brush, solid pen) columns should be the same shape, with
the first hollow and the second filled. Third (solid
brush, no pen) column should look like the second column.
The fourth column should be the xor of the first and
third columns. The precise results are ill-defined for
the "2 x 2 Pen" shapes.
Octagons: two hollow octagons exactly the same shape.
Dot (after octagons): a single pixel (uses draw-point)
Another Dot (below the first one): a single pixel (created as a
0-length line from draw-line)
Line: actually two lines, but they should form a single
unbroken line
Arcs: The leftmost should be the top half of an ellipse (it's
formed via two arcs); the rightmost should be a filled wedge
from 90 degrees to 180 degrees. The arcs are part of an
ellipse 40 tall and 30 wide (i.e., stretched slightly in the
vertical direction from a circle).
The drawings under 2x2 should be reasonable extensions of the
0x0 and 1x1 pictures for a double-wide pen.
Big octagon: The octagon defines the region for octagon clipping.
Also, it's drawn in xor mode, so it should flip black to
white wherever the octagon line runs over the shapes of the
middle section. The bitmaps of the bottom region are drawn
afterwards, and will therefore hide parts of the octagon
line, although the MrEd logo is also drawn in XOR mode so it
shouldn't obscure the octagon line.
Bottom section:
Images: MrEd logo (b & w), drawn in XOR mode, so the octagon line
should be toggled where the black part of the MrEd logo
intersects with the line. This changes with the
"MrEd XOR" choice control (see below).
BB logo (color)
Top subrow:
Down-left arrow (with a thin horizontal line), black on
background
Down-left arrow, red on background
Down-left arrow, red on background
Bottom subrow, on blue field in black-bordered roundrect:
Down-left arrow (with a thin horizontal line), black on
blue
Down-left arrow, red on blue
Down-left arrow, red on background (cyan or white)
BB logo, same as before
Down-left arrow - red on black
Stippled boxes, in a blue box w/black border, four black-outlined
shapes:
Sqaure - green down-arrows on blue field
Circle - green down-arrows on background (cyan or white) field
Square - bb logo
Square - green cross-hatch on blue
Dashed lines: each half green and half black with the background
color (white or cyan) between the dots/dashes, two of each:
Solid line
Dot line
Long Dash line
Short Dash line
Dot Dash line
Long line: On the screen in unsmoothed or aligned mode, the line
should be 1 pixel wide, except that the last 1/9th should be
two pixels wide. In postscript or smooth mode, the line should
consist of 9 segments, growing in width from 0.0 to 2.0
(inclusive) in 0.25 increments. When the image is scaled by a
factor of 2, the first 1/9th on the screen should still be 1
pixel, the next 7/9ths should be 2 pixels, and the last 1/9
should be 4 pixels wide.
Red shapes with black outlines (below long line): square, round
square, circle, and triangle without a top line; these are drawn
as paths.
Four lines (to right of red shapes): in 'unsmoothed or 'aligned
mode, the lines should appear equally spaced at scale 1, but
scale 2 should show the middle lines closer by two pixels; the
'smoothed mode should approximate this at scale 1. At scale 2,
'unsmoothed and 'aligned should look the same.
Thick blue-line round rects with red center: the left one has pen
size 7, and the right pen size 8. At scale 1, the two should be
separated by a blank column of pixels in 'unsmoothed and
'smoothed mode, but in 'smoothed mode or at scale 2, they should
touch.
Four squares with overbar (bottom of drawing): the squares,
which are stretched bitmaps, should touch, and the four squares
should have the same span as the overbar line.
The image should look the same regardless of the top radio button
setting --- Canvas, Pixmap, or Bitmap --- except that the Bitmap
setting must produce a black-and-white image. When you go from Pixmap
+ *2 ("*2" is described next) back to Pixmap, there may be junk from
the *2 drawing left around the right and bottom. That's ok. Same for
going from Canvas + Cyan ("Cyan" is described later) to Pixmap + Cyan.
Clicking on the "*2" checkbox should double the size of everything,
including the pen widths, but not the bitmaps. The 0x0 pen should be
the same width as before (1 pixel).
Clicking on "+10" should shift everything 10 pixels down and across.
(Even when "*2" is checked, it should be a 10 pixel offset).
Clicking on "Cyan" should change the background to cyan instead of
white. When Pixmap or Bitmap is used, the background will be set in
the Pixmap/Bitmap, not the canvas, so a white background should frame
the cyan area to the right and bottom (if you make the window big
enough).
Clipping should slip the drawing to a particular shape:
rectangle - a 10-pixel strip 100 pixels from the left
octagon - the content of the big outlined octagon; some
part of the octagon outline is clipped
circle - a circle inscribed in the octagon's bounding
box
wedge - pi/4 to 3pi/4 of circle
round rectangle - a rounded rect inscribed in the blue box for
testing stipples
unions, intersects, subtracts - hopefully obvious
polka - purple field with holes showing the normal drawing
lambda - a region in the shape of a lambda
When the "Clip Pre-Scale" checkbox is not checked, then when a scale
such as "*2" is selected, the clipping region should scale
accordingly. "+10" should move the clipping region. (In either the
"*2" or "+10" case, the content of the clipped region should be the
same.) When the "Clip Pre-Scale" checkbox is checked, then the
clipping region should not scale with the rest of the drawing. Be sure
to try both scaling modes with smoothing both on and off.
The "Clock" button tests a range of wedges. Each wedge has a 1-pixel
black background and orange filling. A sequence of wedges is
produced. Imagine the following:
The two hands of a clock start at 0 radians (i.e., 3:15). For each
step, the minute hand is moved back (counter-clockwise) pi/4
radians, while the hour hand moves back pi/8 radians, and
everything between the minute hand moving counter-clockwise to the
hour hand is filled in. So after drawing the full circle on the 0th
step, the wedge includes everything except a small slice on the 1st
step. The empty slice grows ever larger while shifting
counter-clockwise. By the time the minute hand wraps to 0 radians
(at which point the hour hand is a pi radians), the wedge covers
only the top half of the clock. It keeps going until the wedge
nearly disappears (but instead of disappearing, the whole circle is
filled in again). The same pattern is then repeated, but reversing
the wedge part and empty part (so the wedge starts small and grows
larger this time around).
The orange wedge is drawn just before the bitmaps, so they appear on
top of the orange wedge, but the wedge paints over other things. If
the "Pixmap" box is checked and the "Polka" clipping region is
selected, the result is an animation where you can only see the
wedge grow and move through the polka-dot holes in the purple field.
The "Clip Clock" button is similar to "Clock", except that all drawing
is clipped to the area to be painted orange. "Clip Clock" clipping
overrides any other clipping setting.
Clicking on "PostScript" should produce the image described above in a
PostScript file.
The "icons" and "stipple" boxes enable those parts of the
drawing. These checkboxes are provided because PostScript drawing of
icons and stipples can be slow.
The "MrEd XOR" menu selects a icon:
- "MrEd XOR" : initial icon, as described above
- "PLT Middle" : middle area of the PLT logo (used when starting
DrRacket), same size as the MrEd icon. Make sure scaling works
right (i.e., same section shown and scaled).
- "PLT ^ MrEd" : "PLT Middle" masked by the MrEd icon.
- "MrEd ^ PLT" : MrEd icon masked by the "PLT Middle" image (so it's
translucent).
- "MrEd ^ MrEd" : MrEd icon masked by itself... non-black parts
should be transparent.
- "MrEd~" - Upside-down MrEd icon. Besides PLT Middle, this
one should blank out whatever is behind it (using cyan in
cyan mode)
- "MrEd ^ MrEd~" - MrEd icons masked by upside-down MrEd icon.
Note that the parens should be fully intact.
- "M^M~ Opaque" - Same as previous; drawn with 'opaque, but that
should have no visible effect.
- "M^M~ Red" - Same as two previous, but drawn red instead of black.
- "PLT^PLT" - The PLT Middle image, but translucent
----------
Finally, print these instructions by hitting the "Print" button at the
top of the "What Should I See?" window. The following lines are for
the printing test; they should wrap around neatly on the printed
page. (Don't add any newlines.) Check to make sure no lines are
skipped or duplicated across page breaks. Try different page
orientations.
0 1 2 3 4 5 6 7 8 9 X O T T F
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789