
5
Canvases and Openwin
Perhaps the most important object in the XView Toolkit is a canvas—the area in which an
application displays graphics and handles input. The canvas object is similar to that of a
painter’s canvas. The artist’s painting is drawn onto the canvas and the canvas is mounted in
a frame. The canvas may be larger than the frame, but the person looking at the canvas only
sees what is within the boundaries of the frame. If the canvas is larger than what is viewable,
the painting can be moved around making different portions of the canvas visible.
An XView canvas object allows the user to view a graphic image that is too large for the
window or even the display screen. The viewable portion of the graphic image is part of the
viewport or view window of the image. Many different views of the image can use the same
canvas object. While each view maintains its own idea of what it is displaying, the canvas
object manages all the view windows as well as the graphic image that all views share. The
ability for the canvas to maintain different views of the graphic image is a property that is
inherited from the canvas’s superclass, the OPENWIN package. These properties provide for
splitting and scrolling views. You cannot create a canvas object with multiple views; views
are split and joined generally by the user via the attached scrollbars. It is possible to pro-
grammatically split and scroll ...