1 /***********************************************************************/
2 /* Open Visualization Data Explorer                                    */
3 /* (C) Copyright IBM Corp. 1989,1999                                   */
4 /* ALL RIGHTS RESERVED                                                 */
5 /* This code licensed under the                                        */
6 /*    "IBM PUBLIC LICENSE - Open Visualization Data Explorer"          */
7 /***********************************************************************/
8 
9 #include <dxconfig.h>
10 
11 
12 
13 #ifndef _XmColorMapEditorP_H
14 #define _XmColorMapEditorP_H
15 
16 #include <X11/StringDefs.h>
17 #include <X11/IntrinsicP.h>
18 #include <X11/Intrinsic.h>
19 #include <X11/CoreP.h>
20 #include <X11/CompositeP.h>
21 #include <X11/Composite.h>
22 #include <X11/Constraint.h>
23 #include <Xm/BulletinBP.h>
24 #include <Xm/FormP.h>
25 #include <Xm/Form.h>
26 #include "Stepper.h"
27 #include "ControlField.h"
28 #include "ColorMapEditor.h"
29 #include <Xm/XmP.h>
30 #include "Color.h"
31 
32 #define NUM_LEVELS 225
33 
34 /*  New fields for the ColorMapEditor widget class record  */
35 
36 typedef struct _XmColorMapEditorClassPart
37 {
38     ControlPoint *cut_points;
39     int num_cut_points;
40     ControlColor* color;
41     XtPointer extension;
42 } XmColorMapEditorClassPart;
43 
44 
45 /* Full class record declaration */
46 
47 typedef struct _XmColorMapEditorClassRec
48 {
49 	CoreClassPart       core_class;
50 	CompositeClassPart  composite_class;
51 	ConstraintClassPart constraint_class;
52 	XmManagerClassPart  manager_class;
53 	XmBulletinBoardClassPart  bulletin_board_class;
54 	XmFormClassPart     form_class;
55 	XmColorMapEditorClassPart color_map_editor_class;
56 } XmColorMapEditorClassRec;
57 
58 extern XmColorMapEditorClassRec xmColorMapEditorClassRec;
59 
60 typedef struct _XmColorMapEditorPart
61 {
62     double		value_minimum;
63     double		value_maximum;
64     double		value_current;
65     Boolean		min_editable;
66     Boolean		max_editable;
67     XtPointer		user_data;
68     String		default_colormap;
69     struct  groupRec
70 	{
71 	ControlField* field[4];
72 	ControlColor* color;
73 	ColorBar *colorbar;
74 	ControlField* rgb;
75 	Widget open_filesb, save_filesb;	/* file selection widgets */
76     	XtCallbackProc activate_callback;
77 	}g;
78     Widget controlpointdialog;
79     XmStepperWidget stepper;
80     XmNumberWidget min_num, max_num;		/* Min and max data values */
81     char *save_filename;
82     char *open_filename;
83     Boolean add_hue_cp;				/* Flags used in Set Values */
84     Boolean add_sat_cp;
85     Boolean add_val_cp;
86     Boolean add_op_cp;
87     Boolean constrain_vert;
88     Boolean constrain_hor;
89     Boolean trigger_callback;
90     Boolean display_opacity;
91     int color_bar_background_style;
92     Widget label[30];
93     Cursor field_cursor_id;
94     int draw_mode;
95     int *bins;
96     int *log_bins;
97     int num_bins;
98     Widget grid_w;
99     Pixmap grid_pixmap;
100     XFontStruct *font;
101     GC		fontgc;
102     Boolean     first_grid_expose;
103     int         print_points;
104 } XmColorMapEditorPart;
105 
106 typedef struct _XmColorMapEditorRec
107 {
108 	CorePart       core;
109 	CompositePart  composite;
110 	ConstraintPart constraint;
111 	XmManagerPart  manager;
112 	XmBulletinBoardPart  bulletin_board;
113 	XmFormPart     form;
114 	XmColorMapEditorPart	color_map_editor;
115 } XmColorMapEditorRec;
116 
117 #endif
118