### 17.1 Opening and Closing of Graphics Devices ¶

procedure: graphics-type-available? graphics-device-type ¶

  This predicate returns `#t` if the graphics system named by the symbol graphics-device-type is implemented by the Scheme system. Otherwise it returns `#f`, in which case it is an error to attempt to make a graphics device using graphics-device-type.

procedure: enumerate-graphics-types ¶

  This procedure returns a list of symbols which are the names of all the graphics device types that are supported by the Scheme system. The result is useful in deciding what additional arguments to supply to `make-graphics-device`, as each device type typically has a unique way of specifying the initial size, shape and other attributes.

procedure: make-graphics-device graphics-device-type object … ¶

  This operation creates and returns a graphics device object. Graphics-device-type is a symbol naming a graphics device type, and both the number and the meaning of the remaining arguments is determined by that type (see the description of each device type for details); graphics-device-type must satisfy `graphics-type-available?`. Graphics-device-type may also be `#f`, in which case the graphics device type is chosen by the system from what is available. This allows completely portable graphics programs to be written provided no custom graphics operations are used. When graphics-device-type is `#f` no further arguments may be given; each graphics device type will use some “sensible” defaults. If more control is required then the program should use one of the two procedures above to dispatch on the available types.

  This procedure opens and initializes the device, which remains valid until explicitly closed by the procedure `graphics-close`. Depending on the implementation of the graphics device, if this object is reclaimed by the garbage collector, the graphics device may remain open or it may be automatically closed. While a graphics device remains open the resources associated with it are not released.

procedure: graphics-close graphics-device ¶

  Closes graphics-device, releasing its resources. Subsequently it is an error to use graphics-device.