Next: Drawing Graphics, Previous: Opening and Closing of Graphics Devices, Up: Graphics

Each graphics device has two different coordinate systems associated
with it: device coordinates and virtual coordinates. Device
coordinates are generally defined by low-level characteristics of the
device itself, and often cannot be changed. Most device coordinate
systems are defined in terms of pixels, and usually the upper-left-hand
corner is the origin of the coordinate system, with `x` coordinates
increasing to the right and `y` coordinates increasing downwards.

In contrast, virtual coordinates are more flexible in the units employed, the position of the origin, and even the direction in which the coordinates increase. A virtual coordinate system is defined by assigning coordinates to the edges of a device. Because these edge coordinates are arbitrary real numbers, any Cartesian coordinate system can be defined.

All graphics procedures that use coordinates are defined on virtual coordinates. For example, to draw a line at a particular place on a device, the virtual coordinates for the endpoints of that line are given.

When a graphics device is initialized, its virtual coordinate system is
reset so that the left edge corresponds to an x-coordinate of `-1`

,
the right edge to x-coordinate `1`

, the bottom edge to y-coordinate
`-1`

, and the top edge to y-coordinate `1`

.

— procedure: **graphics-device-coordinate-limits**` graphics-device`

Returns (as multiple values) the device coordinate limits for

graphics-device. The values, which are exact non-negative integers, are:x-left,y-bottom,x-right, andy-top.

— procedure: **graphics-coordinate-limits**` graphics-device`

Returns (as multiple values) the virtual coordinate limits for

graphics-device. The values, which are real numbers, are:x-left,y-bottom,x-right, andy-top.

— procedure: **graphics-set-coordinate-limits**` graphics-device x-left y-bottom x-right y-top`

Changes the virtual coordinate limits of

graphics-deviceto the given arguments.X-left,y-bottom,x-right, andy-topmust be real numbers. Subsequent calls to`graphics-coordinate-limits`

will return the new limits. This operation has no effect on the device's displayed contents.Note: This operation usually resets the clip rectangle, although it is not guaranteed to do so. If a clip rectangle is in effect when this procedure is called, it is necessary to redefine the clip rectangle afterwards.