#ifndef lint static char SccsColdefId[] = "%W% %G%"; #endif /* Module: Color.def * Purpose: Declare and initialize color parameters * Modified: {0} Michael VanHilst initial version 19 May 1989 * {n} -- -- */ struct colorRec color = { NULL, /* Display *display; display server */ -1, /* int screen; screen id for display server */ 0, /* int screen_depth; number of hardware planes */ NULL, /* Visual *visual; visual of the colormap */ 0, /* int monochrome; one color with fixed values */ 0, /* int single_plane; one plane dither or diffuse */ 0, /* Colormap colormap; server colormap being used */ 0, /* int cursor_overlay; overlay plane in use flag */ 0, /* int ncolors; num of reserved image colors */ 0, /* int inverse; forward or inverse values */ /* int colormap_mode; halftone, pseudo, fixed */ VOP_PseudoColor, MOP_GrayScale, /* int color_tableID; id of predefined colorset */ VOP_ContBias, /* int control_mode; ContBias, ThreshSat, gamma */ 0, /* int control_mode_ext; R_G_B -R|G|B, or RGB -R&G&B */ 0, /* int colors_alloced; if colors were alloc'ed */ 0, /* int old_mode; previous mode (when change) */ 0, /* int image_plane_mask; mask for image planes only */ 0, /* unsigned long overlay_mask; mask bit for overlay cursor */ { /* struct scalemodeRec scale; for image scaling modes */ SOP_Linear, /* int mode; */ 10, /* int wrap_cnt; */ 2.0, /* double root_power; */ 10.0 }, /* double log_expo; */ { /* struct colmapRec map; describe colormaps to use */ 0, /* int private_used; flag using private colormap */ 0, /* int private_installed; if private map is installed */ 1, /* int default_permit; user permit to use default */ 0, /* int default_enable; possible to use default */ 0, /* int private_permit; user permit to use private */ 0, /* int private_enable; possible to use private */ 0, /* Colormap default_colormap; default colormap of root */ 0, /* Colormap private_colormap; private created colormap */ NULL, /* XVisualInfo *default_vinfo; default visual info */ NULL }, /* XVisualInfo *private_vinfo; private visual info */ { /* struct cellspecRec cells; request for cells */ 0, /* int overlay; request for overlay plane */ 200, /* int wanted; desired number of cells */ 20, /* int min; minimum number of cells */ 0 }, /* int got; actual number of cells */ { /* struct palletteRec hard; read-only basic colors */ 0, /* int std_black; from BlackPixel */ 0, /* int std_white; from WhitePixel */ 0, /* int true_black; true 0,0,0 black */ 0, /* int true_white; true max,max,max white */ 0, /* int red; */ 0, /* int green; */ 0, /* int blue; */ 0 }, /* int yellow; */ { /* struct halftoneRec halftone; halftoning stuff */ BOP_Dither, /* int mode; dither, diffuse */ BOP_Matrix1, /* int matrixID; Matrix1, Matrix2 */ 0, /* int inverse; halftone's own flag */ 0, /* int pad; */ NULL, /* short *matrix; dithering weight matrix */ NULL }, /* short *errbuf; error diffusion error buffer */ { /* struct curcolorRec cur; cursor drawing stuff */ 0, /* int disp_one; color map slots for graphics */ 0, /* int disp_two; */ "green", /* char *default_cur; default cursor color name */ "yellow", /* char *default_one; default graphics color names */ "red", /* char *default_two; */ NULL, /* char *desired_cur; user's cursor color name */ NULL, /* char *desired_one; user's graphics colors names */ NULL, /* char *desired_two; */ { 0 }, /* XColor color_cur; cursor color description */ { 0 }, /* XColor color_one; graphics color description */ { 0 } }, /* XColor color_two; */ { /* struct gcsetRec gcset; specifications of gc's used */ { /* GCspec disp; image display parameters */ U_DONT_CARE, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* Cspec draw; cursor drawing parameters */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* Cspec track; cursor tracking parameters */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* Cspec undraw; cursor erasing parameters */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* Cspec incl; include region parameters */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* Cspec excl; exclude region parameters */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* Cspec menu; std_black on white */ 0, /* unsigned long foreground; */ 0, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* GCspec red; for drawing red lines */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* GCspec green; for drawing green lines */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* GCspec blue; for drawing blue lines */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* GCspec black; for drawing black lines */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes }, /* unsigned long mask; */ { /* GCspec white; for drawing white lines */ 0, /* unsigned long foreground; */ U_DONT_CARE, /* unsigned long background; */ GXcopy, /* int func; */ AllPlanes } }, /* unsigned long mask; */ { /* struct colorTable ctable; pseudocolor vertex table */ { /* struct subtableRec red; */ 0, /* int fixed_cells; direct cellmap (no table) */ 2, /* int vertex_cnt; number of vertices defined */ 0, /* int map_sz; number of cells in map */ 0, /* int do_gamma; if gamma correction != 1 */ 0, /* int invert_order; order inverted */ 0, /* int pad; space for allignment */ 1.0, /* double contrast; cell=(base*contrast)+bias */ 0.5, /* double bias; base=(cell-bias)/contrast */ 1.0, /* double gamma; gamma correction factor */ { 0.0, 1.0 }, /* double cell_level[PSEUDOSZ]; cell levels */ {-0.5, 0.5 }, /* double base_level[PSEUDOSZ]; original levels */ { 0.0, 1.0 }, /* double intensity[PSEUDOSZ]; intensity by level */ { 0.0 }, /* double cellmap[COLMAPSZ]; intensity by cell */ { 0.0 } }, /* double gammamap[COLMAPSZ]; gamma corrected map */ { /* struct subtableRec green; */ 0, /* int fixed_cells; direct cellmap (no table) */ 2, /* int vertex_cnt; number of vertices defined */ 0, /* int map_sz; number of cells in map */ 0, /* int do_gamma; if gamma correction != 1 */ 0, /* int invert_order; order inverted */ 0, /* int pad; space for allignment */ 1.0, /* double contrast; cell=(base*contrast)+bias */ 0.5, /* double bias; base=(cell-bias)/contrast */ 1.0, /* double gamma; gamma correction factor */ { 0.0, 1.0 }, /* double cell_level[PSEUDOSZ]; cell levels */ {-0.5, 0.5 }, /* double base_level[PSEUDOSZ]; original levels */ { 0.0, 1.0 }, /* double intensity[PSEUDOSZ]; intensity by level */ { 0.0 }, /* double cellmap[COLMAPSZ]; intensity by cell */ { 0.0 } }, /* double gammamap[COLMAPSZ]; gamma corrected map */ { /* struct subtableRec blue; */ 0, /* int fixed_cells; direct cellmap (no table) */ 2, /* int vertex_cnt; number of vertices defined */ 0, /* int map_sz; number of cells in map */ 0, /* int do_gamma; if gamma correction != 1 */ 0, /* int invert_order; order inverted */ 0, /* int pad; space for allignment */ 1.0, /* double contrast; cell=(base*contrast)+bias */ 0.5, /* double bias; base=(cell-bias)/contrast */ 1.0, /* double gamma; gamma correction factor */ { 0.0, 1.0 }, /* double cell_level[PSEUDOSZ]; cell levels */ {-0.5, 0.5 }, /* double base_level[PSEUDOSZ]; original levels */ { 0.0, 1.0 }, /* double intensity[PSEUDOSZ]; intensity by level */ { 0.0 }, /* double cellmap[COLMAPSZ]; intensity by cell */ { 0.0 } } }, /* double gammamap[COLMAPSZ]; gamma corrected map */ { 0 }, /* unsigned long pixvalmap[COLMAPSZ]; byte to hardware val */ { 0 } /* XColor cellstore[COLMAPSZ]; for setting colors */ };