21.7 Canvases and Colormaps
When the colormap segment associated with a canvas is changed, the contents of the canvas
must be repainted to reflect the new colors. If the boolean attribute CANVAS_CMS_REPAINT is
set to TRUE, the library automatically calls the canvas’s repaint procedure each time a new
colormap segment is set on the canvas. The damage list passed to the routine contains the
dimensions of the entire paint window.
Note that the application itself must track any changes in the contents of a colormap segment.
CANVAS_CMS_REPAINT enables the library to generate a synthetic repaint event only when
the actual colormap segment is switched.
For dynamic colormap segments, when a color changes, the pixel value remains the same but
the color represented by the index into the colormap segment changes. Therefore, the repaint
routine is not called and the window’s appearance changes automatically. This method of
colormap manipulation is commonly used to implement color animation.
21.8 Multi-visual Support
XView allows you to create windows and colormap segments using arbitrary visuals (See
Chapter 7 of Volume One, Xlib Programming Manual for a description of visuals in X11).
You can use this functionality to access any visual that the X11 server supports. The attri-
butes described in this section allow you to indicate visuals you want associated with your
windows and colormap segments.
The attribute
XV_VISUAL specifies the exact visual that will be used in the creation of a win-
dow or colormap