
A custom dialog
4.4.5 Pixmaps
In this section, we are going to take a closer look at how Motif supports graphic images. The Motif Label widget and
all of its subclasses can display pixmaps as their labels. The MessageBox provides the XmNsymbolPixmap resource
for specifying the image that is displayed in a dialog.
The Motif toolkit provides a number of routines for manipulating pixmaps. XmGetPixmapByDepth() and
XmGetPixmap() both create a pixmap and cache it, so that it can be reused by an application.
XmGetPixmapByDepth() is new in Motif 1.2; it provides a way to specify the depth of the pixmap that is created.
XmGetPixmap() always creates a pixmap that has the same depth as the screen on which image is created. The
caching mechanism provided by these routines is on a per−client basis; different processes cannot share pixmaps.
Whenever a new pixmap is created using one of these functions, the toolkit retains a handle to the pixmap in case
another call is made requesting the same image. If this occurs, the function returns the exact same pixmap that was
returned to the original requestor and increments an internal reference counter. In order to keep a clean house,
whenever you retrieve a pixmap using either XmGetPixmap() or XmGetPixmapByDepth(), you should call
XmDestroyPixmap() when you no longer need the image. This function decrements the reference count for the
4 Overview of the Motif Toolkit ...