7.10 Creating and Installing Colormaps
In discussing colormaps earlier in this chapter, we mentioned that there are hardware colormaps and virtual colormaps, but we did not discuss the ramifications of this fact.
A hardware colormap is a physical register from which the screen hardware reads the RGB intensity values that generate the colors on the screen. Most workstations have only one hardware colormap, in which case all windows on the screen are interpreted using the same colormap. Some high performance workstations have multiple hardware colormaps, in which case separate windows may have their own independent hardware colormaps.
If the hardware colormap cannot be changed, it is termed
immutable. Monochrome systems normally have an
immutable colormap, since it does little good to swap the two entries or
make them both black or white. Some low-cost color systems and some X
terminals have immutable hardware colormaps. The
StaticColor
, StaticGray
, and
TrueColor
visuals are the only visuals that can
possibly work on systems that have immutable hardware colormaps. In
immutable colormaps, no client can allocate private colorcells and all
RGB values are preset. On these systems,
XCreateColormap()
succeeds, but it just gives you
another copy of the default colormap (or one of the default colormaps if
there are multiple immutable colormaps). The application should check
for this when creating colormaps.
On most color workstations, you can write new values into the hardware colormap or colormaps ...
Get XLIB Programming Manual, Rel. 5, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.