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
We can use the following to produce a cms with the same colors:
static Xv_singlecolor colors[ ] = {
{ 255, 255, 255, }, /* white */
{ 255, 0, 0 }, /* red */
{ 0, 255 0, }, /* green */
{ 0, 0, 255 }, /* blue */
};
cms = xv_create(NULL, CMS,
CMS_SIZE, 4,
CMS_COLORS, colors,
NULL);
Alternatively, you can use the attribute CMS_X_COLORS to specify an array of XColor struc-
tures, defined in <X11/Xlib.h> as:
typedef struct {
unsigned long pixel;
unsigned short red, green, blue;
char flags; /* do_red, do_green, do_blue */
char pad;
} XColor;
Here is a way to produce a colormap segment with the same colors but using an array of
XColors:
static XColor colors[ ] = {
/* white */ { 0, 255<<8, 255<<8, 255<<8, DoRed|DoGreen|DoBlue, 0 },
/* red */ { 0, 255<<8, 0, 0, DoRed|DoGreen|DoBlue, 0 },
/* green */ { 0, 0, 255<<8, 0, DoRed|DoGreen|DoBlue, 0 },
/* blue */ { 0, 0, 0, 255<<8, DoRed|DoGreen|DoBlue, 0 },
};
cms = xv_create(NULL, CMS,
CMS_SIZE, 4,
CMS_X_COLORS, colors,
NULL);
Note that the color values in the red, green, and blue fields of the XColor data structure are
left-shifted by 8. For more details on specifying colors with Xlib, see Volume One, Xlib Pro-
gramming Manual.
When storing colors, if the colormap segment type is static, XView uses XAllocColor().
If the colormap segment type is dynamic, XView uses XAllocColorCells() and
XStoreColors() to allocate a dynamic colormap and store the requested colors in it.
After setting colors in a cms, the pixel values for the colors can be retrieved. These pixel val-
ues are indices ...
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