Skip to Main Content
Volume 7A: XView Programming Manual
book

Volume 7A: XView Programming Manual

by Dan Heller
October 1994
Intermediate to advanced content levelIntermediate to advanced
770 pages
22h 58m
English
O'Reilly Media, Inc.
Content preview from Volume 7A: XView Programming Manual
The following code fragment creates a canvas with a fixed-size paint window that is not
affected by resizing:
Canvas canvas;
canvas = (Canvas)xv_create(frame, CANVAS,
CANVAS_AUTO_SHRINK, FALSE,
CANVAS_AUTO_EXPAND, FALSE,
CANVAS_WIDTH, 1000,
CANVAS_HEIGHT, 1000,
NULL);
This call sets the initial size of the paint window to 1000 by 1000 pixels. The origin of the
paint window’s coordinate system is the upper-left corner (0,0) and the lower-right corner
(CANVAS_WIDTH-1, CANVAS_HEIGHT-1). Note that we did not set the size of the
canvas subwindow. Instead, we allowed it to be determined by the frame size. The size of
the paint window remains constant regardless of how the frame and canvas subwindow is
resized. If the frame or the canvas subwindow resizes, the subwindow merely changes its
view of the underlying paint window, which remains constant.
In the following code fragment, we set the size of the canvas subwindow, using generic attri-
butes:
Canvas canvas;
canvas = (Canvas)xv_create(frame, CANVAS,
CANVAS_AUTO_SHRINK, FALSE,
CANVAS_AUTO_EXPAND, FALSE,
CANVAS_WIDTH, 1000,
CANVAS_HEIGHT, 1000,
XV_WIDTH, 200,
XV_HEIGHT, 100,
NULL);
Here, a canvas subwindow is created that is 200 pixels wide and 100 pixels high. All other
attributes about this canvas object are the same as the previous example: the paint window is
going to be 1000x1000 in width and height. The problem with this canvas is that the user has
no way to view different parts of the paint window. To handle that, scrollbars should be atta-
ched to the canvas ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Volume 6A: Motif Programming Manual

Volume 6A: Motif Programming Manual

David Brennan, Dan Heller, Paula Ferguson
Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization

Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization

Alejandro Terrazas, John Ostuni, Michael Barlow

Publisher Resources

ISBN: 9780937175873