#ifndef lint static char SccsCgraphdefId[] = "%W% %G%"; #endif /* Module: Cgraph.def * Purpose: Declare the struct for color graph parameters * Modified: {0} Michael VanHilst initial version 11 June 1989 * {n} -- -- */ struct colbarRec colorbar = { /* parameters for display color bar */ NULL, /* Display *display; display handle of colorbox */ NULL, /* Window ID; handle of bar subwindow */ 0, 0, /* int ref_width, ref_height; colorbox size when last checked */ 0, 0, /* unsigned int width,height; dimensions of bar subwindow */ 0, /* int ncolors; number of shades represented */ NULL, /* XImage *image; uses image struct of colorbox */ 0, /* int data_size; data allocated (both byte and bit) */ 0, /* int bytes_per_bit_line; bytes per line for bitmap */ NULL, /* char *byte_data; one byte per pixel */ NULL /* char *bit_data; one bit per pixel (after byte_data */ }; struct cgraphRec cgraph = { 1, /* int inactive; do-not-draw-graph */ 0, /* int vertical; 1=vertical sweep, else horizontal */ 0, /* int ncolors; number of image color cells */ 0, /* int point_cnt; applies to all color lines */ 0, /* int bargraph; use-bar-type-instead-of-line */ NULL, /* Font font; font id for XDrawImageString */ NULL, /* XFontStruct *fontstruct; struct for font size info */ NULL, /* GCspec *disp; gc info to draw bar */ NULL, /* GCspec *menu; gc info for text */ NULL, /* GCspec *black; gc info for black text and lines */ { /* struct colbarRec bar; parameters for graph color bar */ NULL, /* Display *display; display handle of colorbox */ NULL, /* Window ID; handle of bar subwindow */ 0, 0, /* int ref_width, ref_height; colorbox size when last checked */ 0, 0, /* unsigned int width,height; dimensions of bar subwindow */ 0, /* int ncolors; number of shades represented */ NULL, /* XImage *image; uses image struct of colorbox */ 0, /* int data_size; data allocated (both byte and bit) */ 0, /* int bytes_per_bit_line; bytes per line for bitmap */ NULL, /* char *byte_data; one byte per pixel */ NULL /* char *bit_data; one bit per pixel (after byte_data */ }, { /* struct { parameters to label the bar */ NULL, /* Window min_ID; lowest color (0) subwindow */ NULL, /* Window max_ID; highest color (ncolors-1) subwindow */ 0, 0, /* int min_x, min_y; lowest color label placement */ 0, 0, /* int max_x, max_y; highest color label placement */ 0, 0, /* int width, height; size of both label subwindows */ 0, /* int base_width; dimension of basic label to center */ 0 /* int base_height; */ }, /* } barlabel; */ { /* struct { parameters for color graph */ NULL, /* Display *display; display handle of graphbox */ NULL, /* Window ID; handle of graph subwindow */ 0, 0, /* int ref_width, ref_height; size of graphbox when last checked */ 0, /* int ncolors; number of shades represented */ 0, 0, /* int width, height; size of graph subwindow */ 0, 0, /* int xzero, yzero; graph area offset */ 0, 0, /* int xwidth, yheight; graph area dimensions */ 0, 0, /* int xmax, ymax; maximum drawing coordinate */ 0.0,0.0, /* double Xwidth, Yheight; often used double version */ 0.0,0.0 /* double Xinc, Yinc; color spacing (ncolors/wdth;hght) */ }, /* } graph; */ { /* struct { parameters to label the graph */ NULL, /* Window gamma_ID; window in which to label gamma */ NULL, /* Window minmax_ID; window in which to label min & max */ 0, 0, /* int width, height; size of both label subwindows */ NULL, /* Window geq_ID; borderless box with "g=" */ NULL, /* Window red_ID; red border box for red gamma */ NULL, /* Window green_ID; green border box for green gamma */ NULL, /* Window blue_ID; blue border box for blue gamma */ 0, 0, /* int box_width, box_height; size of each gamma val boxes */ 0, 0, /* int box_x, box_y; text string coord in box */ 0, 0, /* int geq_width, geq_height; size of "g=" box */ 0, 0, /* int geq_text_x, geq_text_y;text string coord in "g=" box */ 0, /* int three_limit; minimum size to hold 3 gamma vals */ 0, /* int four_limit; three_limit plus the "g=" */ 0, 0, /* int geq_x, geq_y; placement of "g=" box */ 0, 0, /* int red_x, red_y; placement of red box */ 0, 0, /* int green_x, green_y; placement of green box */ 0, 0, /* int blue_x, blue_y; placement of blue box */ 0, 0, /* int min_x, min_y; placement of "min" text string */ 0, 0, /* int max_x, max_y; placement of "max" text string */ 0, /* int minmax_xoff; coordinate offset from right */ 0, /* int minmax_yoff; coordinate offset from bottom */ 0, /* int active; label the color bar and graph */ 0 /* int geq_active; include "g=" in gamma label */ }, /* } graphlabel; */ { /* struct { special values for hash marks */ 0.0,0.0, /* double Xzero, Yzero; offset by HASH_RAY */ 0.0,0.0, /* double Xwidth, Yheight; decremented by inc */ 0.0 /* double Ymax; perceptually, y goes upward from max */ }, /* } hash; */ { /* struct colgRec red; ensemble for red */ 0, /* int active; this-color-is-being-manipulated */ 1, /* int unset; line-does-not-match-current-state */ NULL, /* struct subtableRec *table; color information */ NULL, /* GCspec *draw; gc info to draw graph this color */ -1, /* int active_vertex; vertex being manipulated */ -1, /* int active_hash; hash mark being manipulated */ 0, /* int hash_0; index in table of hash[0] */ 0, /* int queue_index; position in drawing queue */ 0, /* int hash_cnt; number of hash marks */ 0, /* int pad; allignment space */ /* XRectangle hash[PSEUDOSZ]; hash marks for X (PSEUDOSZ = 64) */ { { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ } }, { 0 } /* XPoint line[MAXPOINTS]; graph line for this color */ }, { /* struct colgRec green; ensemble for green */ 0, /* int active; this-color-is-being-manipulated */ 1, /* int unset; line-does-not-match-current-state */ NULL, /* struct subtableRec *table; color information */ NULL, /* GCspec *draw; gc info to draw graph this color */ -1, /* int active_vertex; vertex being manipulated */ -1, /* int active_hash; hash mark being manipulated */ 0, /* int hash_0; index in table of hash[0] */ 1, /* int queue_index; position in drawing queue */ 0, /* int hash_cnt; number of hash marks */ 0, /* int pad; allignment space */ { /* XRectangle hash[PSEUDOSZ]; hash marks for X (PSEUDOSZ = 64) */ { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ } }, { 0 } /* XPoint line[MAXPOINTS]; graph line for this color */ }, { /* struct colgRec blue; ensemble for blue */ 0, /* int active; this-color-is-being-manipulated */ 1, /* int unset; line-does-not-match-current-state */ NULL, /* struct subtableRec *table; color information */ NULL, /* GCspec *draw; gc info to draw graph this color */ -1, /* int active_vertex; vertex being manipulated */ -1, /* int active_hash; hash mark being manipulated */ 0, /* int hash_0; index in table of hash[0] */ 2, /* int queue_index; position in drawing queue */ 0, /* int hash_cnt; number of hash marks */ 0, /* int pad; allignment space */ { /* XRectangle hash[PSEUDOSZ]; hash marks for X (PSEUDOSZ = 64) */ { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ }, { 0, 0, HASH_SZ, HASH_SZ } }, { 0 } /* XPoint line[MAXPOINTS]; graph line for this color */ }, 3, /* int queue_cnt; number of color ensembles in queue */ { 0 } /* struct colgRec *queue[3]; order of drawing */ };