access ColorObject desktop and pixel data
Format
#include <Xm/ColorObjP.h> Boolean XmeGetColorObjDataint*screenint*coloruseXmPixelSet*pixel_setunsigned shortpixel_set_sizeshort*active, *inactive, *primary, *secondary, *text
typedef struct { Pixel fg; Pixel bg; Pixel ts; Pixel bs; Pixel sc; } XmPixelSet;
DESCRIPTION
The Motif library creates and maintains a ColorObject at application initialization time (first VendorShell creation) which holds color information coming from a Color Server running on the desktop (see Color Server protocol, documented as part of the new revision of the X/Open XCSA specification).
This ColorObject is not directly available to programmers, but an API is provided to access most of the information it contains.
The ColorObject itself makes use of this information internally to default most color setting for the Motif widgets (e.g. it will add *background: <PIXEL> in the in memory resource database for the application)
This function returns color information maintained by the ColorObject in Motif, which comes from the color server using the Color Server protocol (see above sections) The color_use possible returned values are:
enum { XmCO_BLACK_WHITE, XmCO_LOW_COLOR, XmCO_MEDIUM_COLOR, XmCO_HIGH_COLOR };
which correspond to the type of monitor in use by the desktop.
There is a maximum of 8 pixel sets returned. Each pixel set consists of the five fundamental motif colors maintained by the ColorObject for this screen: background, foreground, top_shadow_color, bottom_shadow_color, and select_color.
The function also returns the color set id number used by the ColorObject.
RETURN VALUE
False if the color server is not running, if the useColorObj XmScreen resource is set to False, or if the screen number is out of the range managed by the color server; otherwise True.
STRUCTURES
XmPixelSet is used to specify the pixel allocated by the Color Server.
ENVIRONMENT
The information returned by this function depends on the presence of an active Color Server.
RESOURCES
This function is affected by the resources set on the Color Server and useColorObj on XmScreen.
ACTIONS/MESSAGES
None.
ERRORS/WARNINGS
None.
EXAMPLES
On return, one can use:
primary_background = pixelSet[primary_id].bg;
SEE ALSO