/* * @(#) olgx.h 1.48 93/06/28 */ /* * OPEN LOOK object drawing package * Sun Microsystems, Inc., */ #ifndef OL_PUBLIC_DEFINED #define OL_PUBLIC_DEFINED #include #ifdef OW_I18N #if ! defined(XlibSpecificationRelease) || XlibSpecificationRelease < 5 #include #endif /* XlibSpecificationRelease != 5 */ #endif /* OW_I18N */ /* * Package constant definitions */ /* * Monitor dependent definitons */ #define OLGX_2D 0 #define OLGX_3D_COLOR 1 #define OLGX_3D_MONO 2 /* GC number definitions */ #define NONE -1 /* means "don't draw in this color" */ #define OLGX_WHITE 0 #define OLGX_BLACK 1 #define OLGX_BG1 2 #define OLGX_BG2 3 #define OLGX_BG3 4 #define OLGX_NUM_COLORS 5 /* 1 more than last *color* GC */ #define OLGX_TEXTGC 5 #define OLGX_GREY_OUT 6 /* Inactive GC */ #define OLGX_BUSYGC 7 #define OLGX_SCROLL_GREY_GC 8 /* Special GC for 50% black cable */ #define OLGX_NUM_GCS 9 /* always 1 more than last GC */ /* 2D gc definitions */ #define OLGX_TEXTGC_REV 2 /* Is used only for 2D hence substituted for OLGX_BG1 */ /* * State Flag Definitions */ #define OLGX_NORMAL 0x0000 /* normal button */ #define OLGX_INVOKED 0x0001 /* invoked button */ #define OLGX_MENU_ITEM 0x0002 /* menu item */ #define OLGX_ERASE 0x0004 /* erase first (only for menu items) */ #define OLGX_BUSY 0x0008 /* busy item */ #define OLGX_DEFAULT 0x0010 /* default item */ #define OLGX_INACTIVE 0x0020 /* inactive item */ #define OLGX_VERT_MENU_MARK 0x0040 /* include a vertical menu mark */ #define OLGX_HORIZ_MENU_MARK 0x0080 /* include a horizontal menu mark */ #define OLGX_VERT_BACK_MENU_MARK 0x2000 /* include a vertical menu mark */ #define OLGX_HORIZ_BACK_MENU_MARK 0x4000/* include a horizontal menu mark */ #define OLGX_DIAMOND_MARK 0x8000 /* include a diamond mark */ #define OLGX_MENU_MARK 0x00c0 /* VERT_MENU_MARK | HORIZ_MENU_MARK */ #define OLGX_LABEL_IS_PIXMAP 0x0200 /* button label is a pixmap */ #define OLGX_LABEL_IS_XIMAGE 0x2000 /* button label is an ximage */ #define OLGX_LABEL_HAS_UNDERLINE 0x0800 /* button label has underline */ #define OLGX_LABEL_HAS_HIGHLIGHT 0x1000 /* button label has highlight */ #ifdef OW_I18N #define OLGX_LABEL_IS_WCS 0x10000 /* button label is a wide char str */ #endif #define OLGX_VERTICAL 0x0800 /* orientation is vertical */ #define OLGX_HORIZONTAL 0x1000 /* orientation is horizontal */ #define OLGX_PUSHPIN_OUT 0x2000 /* pushpin is in */ #define OLGX_PUSHPIN_IN 0x4000 /* pushpin is out */ #define OLGX_UPDATE 0x8000 /* object is to be updated */ #define OLGX_ABBREV 0x0100 /* object is abbreviated */ #define OLGX_CHECKED 0x0002 /* object is checked (check boxes) */ #define OLGX_MORE_ARROW 0x0400 /* more arrow added for truncated text */ /* scrollbar -2d stateflag defns */ #define OLGX_SCROLL_FORWARD 0x0002 /*scroll forward */ #define OLGX_SCROLL_BACKWARD 0x2000 /*scroll backward */ #define OLGX_SCROLL_ABSOLUTE 0x4000 /*scroll absolute- center darkened */ #define OLGX_SCROLL_NO_FORWARD 0x0040 /* no scroll forward */ #define OLGX_SCROLL_NO_BACKWARD 0x0080 /* no scroll backward */ /* * corner definitions */ #define OLGX_UPPER_LEFT 0 #define OLGX_UPPER_RIGHT 1 #define OLGX_LOWER_RIGHT 2 #define OLGX_LOWER_LEFT 3 /* * Special Definition !! * */ #define OLGX_SPECIAL 1 /* * character definitions */ #define OLG_VSB_ELEVATOR 1 #define OLG_VSB_ELEVATOR_LINE_BACKWARD 2 #define OLG_VSB_ELEVATOR_ABSOLUTE 3 #define OLG_VSB_ELEVATOR_LINE_FORWARD 4 #define OLG_VSB_REDUCED_ELEVATOR 5 #define OLG_VSB_REDUCED_ELEVATOR_LINE_BACKWARD 6 #define OLG_VSB_REDUCED_ELEVATOR_LINE_FORWARD 7 #define OLG_VSB_ANCHOR 8 #define OLG_VSB_ANCHOR_INVERTED 9 #define OLG_HSB_ELEVATOR 10 #define OLG_HSB_ELEVATOR_LINE_BACKWARD 11 #define OLG_HSB_ELEVATOR_ABSOLUTE 12 #define OLG_HSB_ELEVATOR_LINE_FORWARD 13 #define OLG_HSB_REDUCED_ELEVATOR 14 #define OLG_HSB_REDUCED_ELEVATOR_LINE_BACKWARD 15 #define OLG_HSB_REDUCED_ELEVATOR_LINE_FORWARD 16 #define OLG_HSB_ANCHOR 17 #define OLG_HSB_ANCHOR_INVERTED 18 #define OLG_MENU_PIN_OUT 19 #define OLG_MENU_PIN_IN 20 #define OLG_MENU_DEFAULT_PIN_OUT 21 #define OLG_ABBREV_MENU_BUTTON 22 #define OLG_ABBREV_MENU_BUTTON_INVERTED 23 /* new extension */ #define BUTTON_UL 24 #define BUTTON_LL 25 #define BUTTON_LEFT_ENDCAP_FILL 26 #define BUTTON_LR 27 #define BUTTON_UR 28 #define BUTTON_RIGHT_ENDCAP_FILL 29 #define BUTTON_TOP_1 30 #define BUTTON_TOP_2 31 #define BUTTON_TOP_4 32 #define BUTTON_TOP_8 33 #define BUTTON_TOP_16 34 #define BUTTON_BOTTOM_1 35 #define BUTTON_BOTTOM_2 36 #define BUTTON_BOTTOM_4 37 #define BUTTON_BOTTOM_8 38 #define BUTTON_BOTTOM_16 39 #define BUTTON_FILL_1 40 #define BUTTON_FILL_2 41 #define BUTTON_FILL_4 42 #define BUTTON_FILL_8 43 #define BUTTON_FILL_16 44 #define VERT_MENU_MARK_UL 45 #define VERT_MENU_MARK_LR 46 #define VERT_MENU_MARK_FILL 47 #define HORIZ_MENU_MARK_UL 48 #define HORIZ_MENU_MARK_LR 49 #define HORIZ_MENU_MARK_FILL 50 #define ABBREV_MENU_UL 51 #define ABBREV_MENU_LR 52 #define ABBREV_MENU_FILL 53 #define VERT_SB_UL 54 #define VERT_SB_LR 55 #define VERT_SB_TOPBOX_FILL 56 #define HORIZ_SB_UL 57 #define HORIZ_SB_LR 58 #define VERT_SB_BOTBOX_FILL 59 #define HORIZ_SLIDER_CONTROL_UL 60 #define HORIZ_SLIDER_CONTROL_LR 61 #define HORIZ_SLIDER_CONTROL_FILL 62 #define HORIZ_SLIDER_UL 63 #define HORIZ_SLIDER_LL 64 #define HORIZ_SLIDER_UR 65 #define HORIZ_SLIDER_LR 66 #define HORIZ_SLIDER_BOTTOM_1 67 #define HORIZ_SLIDER_BOTTOM_2 68 #define HORIZ_SLIDER_BOTTOM_4 69 #define HORIZ_SLIDER_BOTTOM_8 70 #define HORIZ_SLIDER_BOTTOM_16 71 #define HORIZ_SLIDER_FILL_1 72 #define HORIZ_SLIDER_FILL_2 73 #define HORIZ_SLIDER_FILL_4 74 #define HORIZ_SLIDER_FILL_8 75 #define HORIZ_SLIDER_FILL_16 76 #define HORIZ_SLIDER_LEFT_ENDCAP_FILL 77 #define HORIZ_SLIDER_RIGHT_ENDCAP_FILL 78 #define VERT_SLIDER_UL 79 #define VERT_SLIDER_UR 80 #define VERT_SLIDER_TOP_ENDCAP_FILL 81 #define VERT_SLIDER_LL 82 #define VERT_SLIDER_LR 83 #define VERT_SLIDER_BOTTOM_ENDCAP_FILL 84 #define VERT_SLIDER_CONTROL_UL 85 #define VERT_SLIDER_CONTROL_LR 86 #define VERT_SLIDER_CONTROL_FILL 87 #define UL_RESIZE_UL 88 #define UL_RESIZE_LR 89 #define UL_RESIZE_FILL 90 #define UR_RESIZE_UL 91 #define UR_RESIZE_LR 92 #define UR_RESIZE_FILL 93 #define LR_RESIZE_UL 94 #define LR_RESIZE_LR 95 #define LR_RESIZE_FILL 96 #define LL_RESIZE_UL 97 #define LL_RESIZE_LR 98 #define LL_RESIZE_FILL 99 #define PUSHPIN_OUT_TOP 100 #define PUSHPIN_OUT_BOTTOM 101 #define PUSHPIN_OUT_MIDDLE 102 #define PUSHPIN_IN_TOP 103 #define PUSHPIN_IN_BOTTOM 104 #define PUSHPIN_IN_MIDDLE 105 #define DFLT_BUTTON_LEFT_ENDCAP 106 #define DFLT_BUTTON_RIGHT_ENDCAP 107 #define DFLT_BUTTON_MIDDLE_1 108 #define DFLT_BUTTON_MIDDLE_2 109 #define DFLT_BUTTON_MIDDLE_4 110 #define DFLT_BUTTON_MIDDLE_8 111 #define DFLT_BUTTON_MIDDLE_16 112 #define BASE_OFF_SPECIALCHAR 113 /*special char */ #define UNCHECKED_BOX_UL 114 #define UNCHECKED_BOX_LR 115 #define UNCHECKED_BOX_FILL 116 #define CHECK_MARK 117 #define CHECKED_BOX_FILL 118 #define UNCHECKED_BOX_OUTLINE 119 #define HORIZ_GAUGE_UL 120 #define HORIZ_GAUGE_LL 121 #define HORIZ_GAUGE_UR 122 #define HORIZ_GAUGE_LR 123 #define HORIZ_GAUGE_BOTTOM_1 124 #define HORIZ_GAUGE_BOTTOM_2 125 #define HORIZ_GAUGE_BOTTOM_4 126 #define HORIZ_GAUGE_BOTTOM_8 127 #define HORIZ_GAUGE_BOTTOM_16 128 #define VERT_GAUGE_UL 129 #define VERT_GAUGE_UR 130 #define VERT_GAUGE_LL 131 #define VERT_GAUGE_LR 132 #define VERT_ABBREV_SB_UL 133 #define VERT_ABBREV_SB_LR 134 #define HORIZ_SB_RIGHTBOX_FILL 135 #define HORIZ_ABBREV_SB_UL 136 #define HORIZ_ABBREV_SB_LR 137 #define HORIZ_SB_LEFTBOX_FILL 138 #define BUTTON_OUTLINE_LEFT_ENDCAP 139 #define BUTTON_OUTLINE_RIGHT_ENDCAP 140 #define BUTTON_OUTLINE_MIDDLE_1 141 #define BUTTON_OUTLINE_MIDDLE_2 142 #define BUTTON_OUTLINE_MIDDLE_4 143 #define BUTTON_OUTLINE_MIDDLE_8 144 #define BUTTON_OUTLINE_MIDDLE_16 145 #define BUTTON_FILL_2D_LEFTENDCAP 146 #define BUTTON_FILL_2D_RIGHTENDCAP 147 #define BUTTON_FILL_2D_MIDDLE_1 148 #define BUTTON_FILL_2D_MIDDLE_2 149 #define BUTTON_FILL_2D_MIDDLE_4 150 #define BUTTON_FILL_2D_MIDDLE_8 151 #define BUTTON_FILL_2D_MIDDLE_16 152 #define MENU_DFLT_OUTLINE_LEFT_ENDCAP 153 #define MENU_DFLT_OUTLINE_RIGHT_ENDCAP 154 #define MENU_DFLT_OUTLINE_MIDDLE_1 155 #define MENU_DFLT_OUTLINE_MIDDLE_2 156 #define MENU_DFLT_OUTLINE_MIDDLE_4 157 #define MENU_DFLT_OUTLINE_MIDDLE_8 158 #define MENU_DFLT_OUTLINE_MIDDLE_16 159 #define PIXLABEL_BUTTON_UL 160 #define PIXLABEL_BUTTON_LL 161 #define UL_RESIZE_OUTLINE 162 #define UR_RESIZE_OUTLINE 163 #define LR_RESIZE_OUTLINE 164 #define LL_RESIZE_OUTLINE 165 #define VERT_SB_NO_BACK_OUTLINE 166 #define VERT_SB_NO_FWD_OUTLINE 167 #define VERT_SB_INACTIVE_OUTLINE 168 #define HORIZ_SB_NO_BACK_OUTLINE 169 #define HORIZ_SB_NO_FWD_OUTLINE 170 #define HORIZ_SB_INACTIVE_OUTLINE 171 #define HORIZ_SLIDER_CONTROL_OUTLINE 172 #define HORIZ_SLIDER_LEFT_ENDCAP_OUTLINE 173 #define HORIZ_SLIDER_RIGHT_ENDCAP_OUTLINE 174 #define HORIZ_SLIDER_OUTLINE_1 175 #define HORIZ_SLIDER_OUTLINE_2 176 #define HORIZ_SLIDER_OUTLINE_4 177 #define HORIZ_SLIDER_OUTLINE_8 178 #define HORIZ_SLIDER_OUTLINE_16 179 #define VERT_SLIDER_TOP_ENDCAP_OUTLINE 180 #define VERT_SLIDER_BOTTOM_ENDCAP_OUTLINE 181 #define VERT_SLIDER_CONTROL_OUTLINE 182 #define PUSHPIN_OUT_DEFAULT_TOP 183 #define PUSHPIN_OUT_DEFAULT_BOTTOM 184 #define PUSHPIN_OUT_DEFAULT_MIDDLE 185 #define HORIZ_GAUGE_LEFT_ENDCAP_OUTLINE 186 #define HORIZ_GAUGE_RIGHT_ENDCAP_OUTLINE 187 #define HORIZ_GAUGE_OUTLINE_MIDDLE_1 188 #define HORIZ_GAUGE_OUTLINE_MIDDLE_2 189 #define HORIZ_GAUGE_OUTLINE_MIDDLE_4 190 #define HORIZ_GAUGE_OUTLINE_MIDDLE_8 191 #define HORIZ_GAUGE_OUTLINE_MIDDLE_16 192 #define CHECK_BOX_CLEAR_FILL 193 #define VERT_SB_BOX_UL 194 #define VERT_SB_BOX_LR 195 #define DIMPLE_UL 196 #define DIMPLE_LR 197 #define DIMPLE_FILL 198 #define SLIDER_CHANNEL_OFFSET 199 /* special char */ #define HORIZ_SB_BOX_UL 200 #define HORIZ_SB_BOX_LR 201 #define VERT_BACK_MENU_MARK_UL 202 #define VERT_BACK_MENU_MARK_LR 203 #define VERT_BACK_MENU_MARK_FILL 204 #define HORIZ_BACK_MENU_MARK_UL 205 #define HORIZ_BACK_MENU_MARK_LR 206 #define HORIZ_BACK_MENU_MARK_FILL 207 #define OLGX_ACTIVE_CARET 208 #define OLGX_INACTIVE_CARET 209 #define VERT_GAUGE_TOPENDCAP 210 #define VERT_GAUGE_BOTENDCAP 211 #define PIXLABEL_BUTTON_UR 212 #define PIXLABEL_BUTTON_LR 213 #define PIXLABEL_BUTTON_2D_LR 214 #define PIXLABEL_DEF_BUTTON_UL 215 #define PIXLABEL_DEF_BUTTON_LL 216 #define PIXLABEL_DEF_BUTTON_UR 217 #define PIXLABEL_DEF_BUTTON_LR 218 #define HORIZ_GAUGE_LEFT_ENDFILL 219 #define HORIZ_GAUGE_MIDDLE_FILL_1 220 #define HORIZ_GAUGE_MIDDLE_FILL_2 221 #define HORIZ_GAUGE_MIDDLE_FILL_4 222 #define HORIZ_GAUGE_MIDDLE_FILL_8 223 #define HORIZ_GAUGE_MIDDLE_FILL_16 224 #define HORIZ_GAUGE_RIGHT_ENDFILL 225 #define VERT_GAUGE_TOP_FILL 226 #define VERT_GAUGE_BOT_FILL 227 #define TEXTSCROLLBUTTON_LEFT 228 #define TEXTSCROLLBUTTON_RIGHT 229 #define TEXTSCROLLBUTTON_LEFT_INV 230 #define TEXTSCROLLBUTTON_RIGHT_INV 231 #define NUMERIC_SCROLL_BUTTON_NORMAL 232 #define NUMERIC_SCROLL_BUTTON_LEFT_INV 233 #define NUMERIC_SCROLL_BUTTON_RIGHT_INV 234 /* * Definitions needed for XView */ #define OLGX_VAR_HEIGHT_BTN_MARGIN 10 #define OLGX_CHOICE_MARGIN 10 #define OLGX_VAR_HEIGHT_BTN_ENDCAP_WIDTH 5 #ifdef OW_I18N /* * Definision for the Graphics Info flag (Olgx_Flags) */ #define OLGX_FONTSET (1<<0) #endif /* OW_I18N */ /* * Type and Structure Definitions */ typedef struct _GC_rec { GC gc; short ref_count; int num_cliprects; /* Information to set clip rectangles XID clipmask; * or clipmasks on the GCs int clip_flag; */ unsigned long valuemask; /* what fields are being used */ XGCValues values; /* Values stored */ struct _GC_rec * next; /* Pointer to the next gc_info in the list */ int depth; } GC_rec; typedef struct pixlabel { Pixmap pixmap; int width,height; } Pixlabel; typedef struct ximlabel { XImage *ximage; int width,height; } Ximlabel; typedef struct underlinelabel { void *label; int position; } Underlinelabel; #ifdef OW_I18N typedef union olgx_font_or_fs{ XFontSet fontset; /* ptr to text font set info */ XFontStruct *fontstruct; /* ptr to text font info */ } Olgx_font_or_fs; #endif /* * Graphics information structure */ typedef struct graphics_info { Display *dpy; int scrn; unsigned int depth; /* depth in which we are drawing */ XFontStruct *glyphfont; /* ptr to glyph font info*/ #ifdef OW_I18N Olgx_font_or_fs utextfont; #else XFontStruct *textfont; /* ptr to text font info */ #endif short three_d; /* Either one of OLGX_2D, * OLGX_3D_COLOR,OLGX_3D_MONO */ GC_rec * gc_rec[OLGX_NUM_GCS]; /* OLGX_3D_MONO has been nuked.... * info->stipple_pixmaps[3] has been changed to info->drawable[3] * and info->drawable[0] is used for storing the drawable associated * with the ginfo. In other words, since stipple_pixmaps is no * longer going to be used, we are using up this space to * avoid binary compatiblity problem between 2.0 and 3.0 * info->drawable[1-2] are still blank. */ #ifdef OW_I18N /* * with OW_I18N, info->drawable[1] is redefined to be Olgx_Flags * (macro). This Olgx_Flags being used to distinguish between * i18n/fontset and main/fontstruct instance. */ #define _Olgx_Flags drawable[1] #endif /* OW_I18N */ Pixmap drawable[3]; unsigned long pixvals[OLGX_NUM_COLORS]; /* * important OPEN LOOK values associated with this glyph font */ short button_height; /* height of buttons */ short endcap_width; /* size of button endcap */ short sb_width, sb_height; /* scrollbar elevator size */ short abbrev_width; /* abbrev menu button size */ short slider_width, slider_height; /* slider control size */ short se_width, se_height; /* slider endcap size */ short mm_width, mm_height; /* menu mark size */ short base_off ; /* Text base_off */ short slider_offset ; /*SliderChanneloffset */ short cb_width, cb_height; /* check box size */ short pp_width, pp_height; /* push pin size*/ short gauge_width,gauge_height ; /* gauge width& height*/ short textscbu_width ; /* text scroll button width */ short gauge_endcapOffset ; /* Offset between the endcap and gauge * channel */ short numscbu_width; /* Number Scrolling button Width */ short resize_arm_width; /* Resize Corner Width */ short abbsb_height ; /* Abbreviated Scrollbar Height */ short cable_offset ; /* Cable offset distance from * the Scrollbar origin */ short cable_width ; /* Width of the Cable */ short point_size ; /* Pixel Point size of the Font */ short dtarget_height; /* Drop Target Height */ short dtarget_width; /* Drop Target Width */ short dtarget_swidth; /* Drop Target Stroke Width */ short dtarget_ewidth; /* Drop Target Edge Width */ } Graphics_info; /* Public macro definitions to get info from the Ginfo struct */ #define ScrollbarElevator_Height(info) \ (info->three_d)?((info)->sb_height-1):((info)->sb_height) #define ScrollbarElevator_Width(info) \ (info->three_d)?((info)->sb_width-1):((info) ->sb_width) #define HorizSliderControl_Width(info) ((info)->slider_width) #define HorizSliderControl_Height(info) ((info)->slider_height) #define SliderEndCap_Width(info) ((info)->se_width) #define SliderEndCap_Height(info) ((info)->se_height) #define CheckBox_Height(info) ((info)->cb_height) #define CheckBox_Width(info) ((info)->cb_width) #define PushPinIn_Width(info) ((info)->pp_height) #define PushPinOut_Width(info) ((info)->pp_width) #define PushPinOut_Height(info) ((info)->pp_height) #define ButtonEndcap_Width(info) ((info)->endcap_width) #define Button_Height(info) \ ((info->three_d)?((info)->button_height-1):((info)->button_height)) #define MenuMark_Width(info) ((info)->mm_width) #define MenuMark_Height(info) ((info)->mm_height) #define Abbrev_MenuButton_Height(info) ((info)->abbrev_width -1) #define Abbrev_MenuButton_Width(info) ((info)->abbrev_width) #define Gauge_EndCapWidth(info) ((info)->gauge_width) #define Gauge_EndCapHeight(info) ((info)->gauge_height) #define Gauge_EndCapOffset(info) ((info)->gauge_endcapOffset) #define TextScrollButton_Width(info) ((info)->textscbu_width) #define TextScrollButton_Height(info) ((info)->textscbu_width) #define NumScrollButton_Width(info) ((info)->numscbu_width) #define NumScrollButton_Height(info) ((info)->textscbu_width) #define ResizeArm_Width(info) ((info)->resize_arm_width) #define ResizeArm_Height(info) ((info)->resize_arm_width) #ifdef OW_I18N #define Ascent_of_TextFont(info) ((info)->utextfont.fontstruct->ascent) #define Descent_of_TextFont(info) ((info)->utextfont.fontstruct->descent) #else #define Ascent_of_TextFont(info) ((info)->textfont->ascent) #define Descent_of_TextFont(info) ((info)->textfont->descent) #endif #define Ascent_of_GlyphFont(info) ((info)->glyphfont->ascent) #define Descent_of_GlyphFont(info) ((info)->glyphfont->descent) #define Pointsize_Glyph(info) ((info)->point_size) #define Vertsb_Endbox_Height(info) (SliderEndCap_Height(info) + 1) #define Vertsb_Endbox_Width(info) (ScrollbarElevator_Width(info)) #define Dimension(info) ((info)->three_d) #ifdef OW_I18N #define TextFont_Struct(info) ((info)->utextfont.fontstruct) #define TextFont_Set(info) ((info)->utextfont.fontset) #define Olgx_Flags(info) ((info)->_Olgx_Flags) #else #define TextFont_Struct(info) ((info)->textfont) #endif #define GlyphFont_Struct(info) ((info)->glyphfont) #define AbbScrollbar_Height(ginfo) ((info)->abbsb_height) #define DropTarget_Width(info) ((info)->dtarget_width) #define DropTarget_Height(info) ((info)->dtarget_height) /* * Public macros to calculate the positions for menu accelerators` */ #define ButtonSpace_Width(info) ((info)->mm_width) #define MainLabel_Pos(info,x) (x + (info)->endcap_width) #define ButtonMark_Pos(info,m_pos,max_mlabel_length,max_qlabel_length) \ (m_pos+ButtonSpace_Width(info)*3+(max_mlabel_length)+(max_qlabel_length)) #define KeyLabel_Pos(info,mark_pos) (mark_pos + ButtonSpace_Width(info)*2) #define QualifierLabel_Pos(info,mark_pos,qlabel_length) \ (mark_pos - ButtonSpace_Width(info) - qlabel_length) #define Button_Width(info,x,key_pos,max_klabel_length) \ (key_pos + (info)->endcap_width + max_klabel_length -x) /* * Public function declarations */ Graphics_info * olgx_main_initialize(); #ifdef OW_I18N Graphics_info * olgx_i18n_initialize(); #endif Graphics_info * olgx_initialize(); void olgx_calculate_3Dcolors(); unsigned long olgx_get_single_color(); void olgx_closedown(); void olgx_destroy(); #define olgx_draw_accel_text olgx_draw_accel_label void olgx_set_text_font(), #ifdef OW_I18N olgx_set_text_fontset(), #endif olgx_set_glyph_font(), olgx_set_single_color(), olgx_stipple_rect(), olgx_scroll_stipple_rects(), olgx_draw_accel_button(), olgx_draw_accel_choice_item(), olgx_draw_accel_label(), olgx_draw_elevator(), olgx_draw_button(), olgx_draw_choice_item(), olgx_draw_scrollbar(), olgx_draw_menu_mark(), olgx_draw_abbrev_button(), olgx_draw_slider(), olgx_draw_horizontal_slider(), olgx_draw_vertical_slider(), olgx_draw_resize_corner(), olgx_draw_textscroll_button(), olgx_draw_numscroll_button(), olgx_draw_gauge(), olgx_draw_horiz_gauge(), olgx_draw_vertical_gauge(), olgx_draw_pushpin(), olgx_draw_box(), olgx_draw_text(), olgx_draw_text_ledge(), olgx_draw_check_box(); #endif /* !OL_PUBLIC_DEFINED */