|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T c
Length: 1432 (0x598) Types: TextFile Names: »colorplanes.fr«
└─⟦8648bda34⟧ Bits:30007244 EUUGD5_II: X11R5 └─⟦2ca9b63e1⟧ »./contrib-1/contrib-1.00« └─⟦a8392fb20⟧ └─⟦this⟧ »contrib/examples/OReilly/Vol1/basicwin/color/colorplanes.fr«
#define PIXELS 256 Display *display; int screen; int contig = False; /* non-contiguous planes */ unsigned long pixels[PIXELS]; /* return of pixel values */ /* number of independent pixel values allocate */ unsigned int ncolors = PIXELS; XColor defs[2048]; /* PIXELS * 2^maxplanes where maxplanes * is the largest of nred, ngreen, and nblue */ /* number of planes to allocate for each primary */ unsigned int nreds = 3, ngreens = 3, nblues = 2; /* returned masks, which bits of pixel value for each primary */ unsigned long red_mask, green_mask, blue_mask; Colormap colormap; Status status; /* open display, etc. */ /* get or create large DirectColor colormap */ while (status = XAllocColorPlanes(display, colormap, contig, pixels, ncolors, nreds, ngreens, nblues, &red_mask, &green_mask, &blue_mask) == 0) { { /* Make contig False if it was True, * reduce value of ncolors, * reduce value of nreds, ngreens and/or nblues, * or try allocating new map, * break when you give up */ break; } if (status == 0) { fprintf(stderr, "%s: couldn't allocate requested colorcells", argv[0]); exit(-1); } /* define desired colors in defs */ while (status = XStoreColors(display, colormap, defs, ncolors) == 0) { fprintf(stderr, "%s: can't store colors", argv[0]); /* try to fix problem here, exit or break */ exit(-1); } /* draw your shaded stuff! */