4 Draw, Clear, and Flip Operations
The following are the basic graphics operations for drawing to a viewport. Each function takes a viewport as its argument and returns a function operating within that viewport. Further arguments, if any, are curried. For example, (draw-line viewport) returns a function, that can then be applied to the proper arguments to draw a line in the viewport corresponding to viewport descriptor viewport.
In general, draw- functions make pixels black or colored, clear- functions make them white, and flip- commands invert pixels (which makes black white, white black, and is otherwise ill-defined).
4.1 Viewports
((draw-viewport viewport) [color]) → void? | |||||||||||||
viewport : viewport? | |||||||||||||
|
Colors the entire contents of viewport with color.
((clear-viewport viewport)) → void? |
viewport : viewport? |
Whitens the entire contents of viewport.
((flip-viewport viewport)) → void? |
viewport : viewport? |
Inverts the entire contents of viewport.
(copy-viewport source dest) → void? |
source : viewport? |
dest : viewport? |
Copies the content of source into dest.
4.2 Pixels
((draw-pixel viewport) p [color]) → void? | |||||||||||||
viewport : viewport? | |||||||||||||
p : posn? | |||||||||||||
|
Colors the pixel in viewport at p.
((clear-pixel viewport) p) → void? |
viewport : viewport? |
p : posn? |
Whitens the pixel in viewport at p.
((flip-pixel viewport) p) → void? |
viewport : viewport? |
p : posn? |
4.3 Lines
((draw-line viewport) p1 p2 [color]) → void? | |||||||||||||
viewport : viewport? | |||||||||||||
p1 : posn? | |||||||||||||
p2 : posn? | |||||||||||||
|
Draws a line in viewport connecting positions p1 and
p2.
((clear-line viewport) p1 p2) → void? |
viewport : viewport? |
p1 : posn? |
p2 : posn? |
Whitens a line in viewport connecting positions p1
and p2.
4.4 Rectangles
| |||||||||||||||||||||||||||||||||||
viewport : viewport? | |||||||||||||||||||||||||||||||||||
p : posn? | |||||||||||||||||||||||||||||||||||
width : (and/c real? (not/c negative?)) | |||||||||||||||||||||||||||||||||||
height : (and/c real? (not/c negative?)) | |||||||||||||||||||||||||||||||||||
|
Draws a rectangle border in the viewport with the top-left of
the rectangle at the position p and with sides width
across and height tall.
((clear-rectangle viewport) p width height) → void? |
viewport : viewport? |
p : posn? |
width : (and/c real? (not/c negative?)) |
height : (and/c real? (not/c negative?)) |
Whitens a rectangle border in the viewport, analogous to
draw-rectangle.
((flip-rectangle viewport) p width height) → void? |
viewport : viewport? |
p : posn? |
width : (and/c real? (not/c negative?)) |
height : (and/c real? (not/c negative?)) |
| |||||||||||||||||||||||||||||||||||
viewport : viewport? | |||||||||||||||||||||||||||||||||||
p : posn? | |||||||||||||||||||||||||||||||||||
width : (and/c real? (not/c negative?)) | |||||||||||||||||||||||||||||||||||
height : (and/c real? (not/c negative?)) | |||||||||||||||||||||||||||||||||||
|
Draws a solid rectangle in the viewport with the top-left of
the rectangle at the position p and with sides width
across and height tall.
| ||||||||||||||||||||||||||||
viewport : viewport? | ||||||||||||||||||||||||||||
p : posn? | ||||||||||||||||||||||||||||
width : (and/c real? (not/c negative?)) | ||||||||||||||||||||||||||||
height : (and/c real? (not/c negative?)) |
Whitens a rectangle border in the viewport, analogous to
draw-solid-rectangle.
| ||||||||||||||||||||||||||||
viewport : viewport? | ||||||||||||||||||||||||||||
p : posn? | ||||||||||||||||||||||||||||
width : (and/c real? (not/c negative?)) | ||||||||||||||||||||||||||||
height : (and/c real? (not/c negative?)) |
4.5 Ellipses
((draw-ellipse viewport) p width height [color]) → void? | |||||||||||||
viewport : viewport? | |||||||||||||
p : posn? | |||||||||||||
width : (and/c real? (not/c negative?)) | |||||||||||||
height : (and/c real? (not/c negative?)) | |||||||||||||
|
Draws a ellipse border in the viewport. The ellipse is
inscribed with a rectangle whose top-left is at position p
and with sides width across and height tall.
((clear-ellipse viewport) p width height) → void? |
viewport : viewport? |
p : posn? |
width : (and/c real? (not/c negative?)) |
height : (and/c real? (not/c negative?)) |
Whitens a ellipse border in the viewport, analogous to
draw-ellipse.
((flip-ellipse viewport) p width height) → void? |
viewport : viewport? |
p : posn? |
width : (and/c real? (not/c negative?)) |
height : (and/c real? (not/c negative?)) |
| |||||||||||||||||||||||||||||||||||
viewport : viewport? | |||||||||||||||||||||||||||||||||||
p : posn? | |||||||||||||||||||||||||||||||||||
width : (and/c real? (not/c negative?)) | |||||||||||||||||||||||||||||||||||
height : (and/c real? (not/c negative?)) | |||||||||||||||||||||||||||||||||||
|
Draws a solid ellipse in the viewport. The ellipse is
inscribed with a rectangle whose top-left is at position p
and with sides width across and height tall.
| ||||||||||||||||||||||||||||
viewport : viewport? | ||||||||||||||||||||||||||||
p : posn? | ||||||||||||||||||||||||||||
width : (and/c real? (not/c negative?)) | ||||||||||||||||||||||||||||
height : (and/c real? (not/c negative?)) |
Whitens a ellipse border in the viewport, analogous to
draw-solid-ellipse.
| ||||||||||||||||||||||||||||
viewport : viewport? | ||||||||||||||||||||||||||||
p : posn? | ||||||||||||||||||||||||||||
width : (and/c real? (not/c negative?)) | ||||||||||||||||||||||||||||
height : (and/c real? (not/c negative?)) |
4.6 Polygons
((draw-polygon viewport) points offset [color]) → void? | |||||||||||||
viewport : viewport? | |||||||||||||
points : (listof posn?) | |||||||||||||
offset : posn? | |||||||||||||
|
Draws a polygon border in viewport using points for
the polygon vertices and offset as an offset added to all
points.
((clear-polygon viewport) points offset) → void? |
viewport : viewport? |
points : (listof posn?) |
offset : posn? |
Whitens a polygon border in viewport, analogous to
draw-polygon.
((flip-polygon viewport) points offset) → void? |
viewport : viewport? |
points : (listof posn?) |
offset : posn? |
| ||||||||||||||||||||||||||||
viewport : viewport? | ||||||||||||||||||||||||||||
points : (listof posn?) | ||||||||||||||||||||||||||||
offset : posn? | ||||||||||||||||||||||||||||
|
Draws a solid polygon in viewport using points for
the polygon vertices and offset as an offset added to all
points.
| |||||||||||||||||||||
viewport : viewport? | |||||||||||||||||||||
points : (listof posn?) | |||||||||||||||||||||
offset : posn? |
Whitens a polygon border in viewport, analogous to
draw-solid-polygon.
| |||||||||||||||||||||
viewport : viewport? | |||||||||||||||||||||
points : (listof posn?) | |||||||||||||||||||||
offset : posn? |
4.7 Strings
((draw-string viewport) p str [color]) → void? | |||||||||||||
viewport : viewport? | |||||||||||||
p : posn? | |||||||||||||
str : string? | |||||||||||||
|
Draws a string at a specified location in the viewport.
The lower left of the string begins at p.
((clear-string viewport) p str) → void? |
viewport : viewport? |
p : posn? |
str : string? |
Whitens a string at a specified location in the viewport.
The lower left of the string begins at p.
((flip-string viewport) p str) → void? |
viewport : viewport? |
p : posn? |
str : string? |
4.8 Pixmaps
| |||||||||||||||||||||||||||||||||||
file : path-string? | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
viewport : viewport? | |||||||||||||||||||||||||||||||||||
p : posn? | |||||||||||||||||||||||||||||||||||
|
Draws a pixmap into viewport with its upper left corner at
position p. If type is 'unknown or
'unknown/mask, then the content of the file is examined to
determine the type. All formats are supported on all platforms,
except 'pict which is only supported under Mac OS X. The
'gif/mask, 'png/mask, and 'unknown/mask
types draw the bitmap with a transparent background if
filename refers to a GIF/PNG file with a transparent
background.
The argument color is only used when the loaded pixmap is monochrome. In that case, the color is used instead of black in the drawn image.
((draw-pixmap viewport) file p [color]) → void? | |||||||||||||
viewport : viewport? | |||||||||||||
file : path-string? | |||||||||||||
p : posn? | |||||||||||||
|
((save-pixmap viewport) file [type]) → void? |
viewport : viewport? |
file : path-string? |
type : (one-of/c 'gif 'jpeg 'png 'xbm 'xpm 'bmp) = 'xpm |
Saves the current content of viewport to file.
The type argument determines the kind of file that is written.