1 /* 2 * Motif 3 * 4 * Copyright (c) 1987-2012, The Open Group. All rights reserved. 5 * 6 * These libraries and programs are free software; you can 7 * redistribute them and/or modify them under the terms of the GNU 8 * Lesser General Public License as published by the Free Software 9 * Foundation; either version 2 of the License, or (at your option) 10 * any later version. 11 * 12 * These libraries and programs are distributed in the hope that 13 * they will be useful, but WITHOUT ANY WARRANTY; without even the 14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 15 * PURPOSE. See the GNU Lesser General Public License for more 16 * details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with these librararies and programs; if not, write 20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth 21 * Floor, Boston, MA 02110-1301 USA 22 * 23 */ 24 25 #ifndef _XmColorSelectorP_h 26 #define _XmColorSelectorP_h 27 28 #if defined(VMS) || defined(__VMS) 29 #include <X11/apienvset.h> 30 #endif 31 32 /************************************************************ 33 * INCLUDE FILES 34 *************************************************************/ 35 36 #include <Xm/ManagerP.h> 37 #include <Xm/ColorS.h> 38 39 /************************************************************ 40 * TYPEDEFS AND DEFINES 41 *************************************************************/ 42 43 #ifdef __cplusplus 44 extern "C" { 45 #endif 46 47 #define XmColorSelector_COLOR_NAME_SIZE 100 48 #define XmColorSelector_NUM_TOGGLES 2 49 50 typedef struct _ColorSelStrings { 51 XmString slider_labels[3]; 52 53 XmString tog_labels[XmColorSelector_NUM_TOGGLES]; 54 XmString no_cell_error, file_read_error; 55 } ColorSelStrings; 56 57 typedef struct _ColorInfo { 58 char name[XmColorSelector_COLOR_NAME_SIZE], no_space_lower_name[XmColorSelector_COLOR_NAME_SIZE]; 59 unsigned short red, green, blue; 60 } ColorInfo; 61 62 typedef struct _ColorSelectorClassPart { 63 XtPointer extension; 64 } ColorSelectorClassPart; 65 66 typedef struct _XmColorSelectorClassRec 67 { 68 CoreClassPart core_class; 69 CompositeClassPart composite_class; 70 ConstraintClassPart constraint_class; 71 XmManagerClassPart manager_class; 72 ColorSelectorClassPart color_selector_class; 73 } XmColorSelectorClassRec; 74 75 typedef struct _XmColorSelectorPart 76 { 77 /* resources */ 78 79 XmColorMode color_mode; /* selector mode */ 80 char *color_name; /* the colorname we select */ 81 String rgb_file; /* where to look for */ 82 Dimension margin_width; /* for geom management */ 83 Dimension margin_height; /* for geom management */ 84 85 ColorSelStrings strings; /* strings for I18N. */ 86 87 /* private state */ 88 89 int slider_red; /* slider values */ 90 int slider_green; /* slider values */ 91 int slider_blue; /* slider values */ 92 Widget bb; /* area to hold all the sliders */ 93 Widget sliders[3]; /* red,green,blue sliders(slider) */ 94 Widget scrolled_list; /* list (scrolled window) */ 95 Widget list; /* list (simple) */ 96 Widget color_window; /* label to show selected color */ 97 Widget chose_radio; /* selector type radio box */ 98 Widget chose_mode[2]; /* selector type toggles */ 99 100 Pixel color_pixel; /* pixel value for colors */ 101 Boolean good_cell; /* does color_pixel contain 102 * a good value? */ 103 ColorInfo *colors; /* infomation about all color names */ 104 short num_colors; /* The number of colors. */ 105 } XmColorSelectorPart; 106 107 typedef struct _XmColorSelectorRec 108 { 109 CorePart core; 110 CompositePart composite; 111 ConstraintPart constraint; 112 XmManagerPart manager; 113 XmColorSelectorPart cs; 114 } XmColorSelectorRec; 115 116 typedef struct _XmColorSelectorConstraintPart 117 { 118 XtPointer extension; 119 } XmColorSelectorConstraintPart; 120 121 typedef struct _XmColorSelectorConstraintRec 122 { 123 XmManagerConstraintPart manager; 124 XmColorSelectorConstraintPart cs; 125 } XmColorSelectorConstraintRec; 126 127 /************************************************************ 128 * MACROS 129 *************************************************************/ 130 131 #define XmColorSelectorIndex (XmManagerIndex + 1) 132 133 #define XmColorS_color_mode(w) (((XmColorSelectorWidget)(w))->cs.color_mode) 134 #define XmColorS_color_name(w) (((XmColorSelectorWidget)(w))->cs.color_name) 135 #define XmColorS_rgb_file(w) (((XmColorSelectorWidget)(w))->cs.rgb_file) 136 #define XmColorS_margin_width(w) (((XmColorSelectorWidget)(w))->cs.margin_width) 137 #define XmColorS_margin_height(w) (((XmColorSelectorWidget)(w))->cs.margin_height) 138 #define XmColorS_strings(w) (((XmColorSelectorWidget)(w))->cs.strings) 139 #define XmColorS_slider_red(w) (((XmColorSelectorWidget)(w))->cs.slider_red) 140 #define XmColorS_slider_green(w) (((XmColorSelectorWidget)(w))->cs.slider_green) 141 #define XmColorS_slider_blue(w) (((XmColorSelectorWidget)(w))->cs.slider_blue) 142 #define XmColorS_bb(w) (((XmColorSelectorWidget)(w))->cs.bb) 143 #define XmColorS_sliders(w) (((XmColorSelectorWidget)(w))->cs.sliders) 144 #define XmColorS_scrolled_list(w) (((XmColorSelectorWidget)(w))->cs.scrolled_list) 145 #define XmColorS_list(w) (((XmColorSelectorWidget)(w))->cs.list) 146 #define XmColorS_color_window(w) (((XmColorSelectorWidget)(w))->cs.color_window) 147 #define XmColorS_chose_radio(w) (((XmColorSelectorWidget)(w))->cs.chose_radio) 148 #define XmColorS_chose_mode(w) (((XmColorSelectorWidget)(w))->cs.chose_mode) 149 #define XmColorS_color_pixel(w) (((XmColorSelectorWidget)(w))->cs.color_pixel) 150 #define XmColorS_good_cell(w) (((XmColorSelectorWidget)(w))->cs.good_cell) 151 #define XmColorS_colors(w) (((XmColorSelectorWidget)(w))->cs.colors) 152 #define XmColorS_num_colors(w) (((XmColorSelectorWidget)(w))->cs.num_colors) 153 154 /************************************************************ 155 * GLOBAL DECLARATIONS 156 *************************************************************/ 157 158 /************************************************************ 159 * EXTERNAL DECLARATIONS 160 ************************************************************/ 161 162 extern XmColorSelectorClassRec xmColorSelectorClassRec; 163 164 /************************************************************ 165 * STATIC DECLARATIONS 166 ************************************************************/ 167 168 #ifdef __cplusplus 169 } /* Closes scope of 'extern "C"' declaration */ 170 #endif 171 172 #if defined(VMS) || defined(__VMS) 173 #include <X11/apienvrst.h> 174 #endif 175 176 #endif /* _XmColorSelectP_h DON'T ADD STUFF AFTER THIS #endif */ 177