This file is indexed.

/usr/include/olgx/olgx.h is in xviewg-dev 3.2p1.4-28.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
/* 
 * @(#) olgx.h 1.48 93/06/28 
 */

/*
 * OPEN LOOK object drawing package
 * Sun Microsystems, Inc.,
 */

#ifndef OL_PUBLIC_DEFINED
#define OL_PUBLIC_DEFINED

#include <X11/Xlib.h>
#ifdef OW_I18N
#if ! defined(XlibSpecificationRelease) || XlibSpecificationRelease < 5
#include <X11/XlibR5.h>          
#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 */