This file is indexed.

/usr/include/Xm/IconGP.h is in libmotif-dev 2.3.4-10.

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
/* $XConsortium: IconGP.h /main/9 1995/10/25 20:06:59 cde-sun $ */
/*
 * Motif
 *
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
 *
 * These libraries and programs are free software; you can
 * redistribute them and/or modify them under the terms of the GNU
 * Lesser General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option)
 * any later version.
 *
 * These libraries and programs are distributed in the hope that
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 * PURPOSE. See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with these librararies and programs; if not, write
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
 * Floor, Boston, MA 02110-1301 USA
 */
/*
 * HISTORY
 */
#ifndef _XmIconGP_h
#define _XmIconGP_h

#include <Xm/XmP.h>
#include <Xm/ManagerP.h>
#include <Xm/GadgetP.h>
#include <Xm/IconG.h>
#include <Xm/ExtObjectP.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef Widget (*XmGetContainerParentProc)(Widget) ;

#define XmInheritGetContainerParentProc ((XmGetContainerParentProc) _XtInherit)


/* IconGadget class record */
typedef struct _XmIconGadgetClassPart
	{
	XmGetContainerParentProc	get_container_parent;
	XtPointer extension ;
	} 	XmIconGadgetClassPart;


/* Full class record declaration */
typedef struct _XmIconGadgetClassRec
	{
	RectObjClassPart	rect_class;
	XmGadgetClassPart	gadget_class;
	XmIconGadgetClassPart	icong_class;
	} 	XmIconGadgetClassRec;

extern	XmIconGadgetClassRec 	xmIconGadgetClassRec;

/*****************************************************************/
/* The Icon Gadget Cache Object's class and instance records*/
/*****************************************************************/

typedef struct _XmIconGCacheObjClassPart
{
    XtPointer extension;
} XmIconGCacheObjClassPart;


typedef struct _XmIconGCacheObjClassRec  /* Icon cache class record */
{
    ObjectClassPart                     object_class;
    XmExtClassPart                      ext_class;
    XmIconGCacheObjClassPart            icon_class_cache;
} XmIconGCacheObjClassRec;

externalref XmIconGCacheObjClassRec xmIconGCacheObjClassRec;

/*  The Icon Gadget Cache instance record  */

typedef struct _XmIconGCacheObjPart
{
   XmRenderTable    render_table;		/* XmNrenderTable */
   GC               selected_GC;
   GC               inverse_GC;
 	
   Pixel            background;
   Pixel            foreground;
   Pixel            top_shadow_color;
   Pixel            bottom_shadow_color;
   Pixel            highlight_color;

   Pixmap           background_pixmap;
   Pixmap           top_shadow_pixmap;
   Pixmap           bottom_shadow_pixmap;
   Pixmap           highlight_pixmap;

   GC               normal_GC;
   GC               background_GC;
   GC               insensitive_GC;
   GC               top_shadow_GC;
   GC               bottom_shadow_GC;
   GC               highlight_GC;
  
   unsigned char    alignment;
   Dimension        spacing;
   Dimension        margin_width;
   Dimension        margin_height;
#ifdef FIX_1381
   GC               shadow_GC;
#endif
} XmIconGCacheObjPart;

typedef struct _XmIconGCacheObjRec
{
  ObjectPart                object;
  XmExtPart		    ext;
  XmIconGCacheObjPart       icon_cache;
} XmIconGCacheObjRec;

typedef struct _XmIconGCacheObjRec   * XmIconGCacheObject;

/* IconGadget instance record */
typedef struct _XmIconGadgetPart
	{
	XmString	label_string;		/* XmNlabelString */
	Pixmap		large_icon_mask;	/* XmNlargeIconMask */
	Pixmap		large_icon_pixmap;	/* XmNlargeIconPixmap */
	Pixmap		small_icon_mask;	/* XmNsmallIconMask */
	Pixmap		small_icon_pixmap;	/* XmNsmallIconPixmap */
	unsigned char	viewtype;		/* XmNviewType */
	unsigned char	visual_emphasis;	/* XmNvisualEmphasis */
	XmString *	detail;	                /* XmNdetail */
	Cardinal	detail_count;	        /* XmNdetailCount */
	/* Private variables */
	Dimension	label_rect_width ;
	Dimension	label_rect_height ;
	Dimension	large_icon_rect_width;
	Dimension	large_icon_rect_height;
	Dimension	small_icon_rect_width;
	Dimension	small_icon_rect_height;
	String          large_pixmap_name ;
	String          small_pixmap_name ;

	XmIconGCacheObjPart  *cache;
   	Boolean	        check_set_render_table;
} XmIconGadgetPart;

/* Full instance record declaration */
typedef struct _XmIconGadgetRec
	{
	ObjectPart	object;
	RectObjPart	rectangle;
	XmGadgetPart	gadget;
	XmIconGadgetPart icong;
	} 	XmIconGadgetRec;


/* Useful macros */
#define	IG_LabelString(w)	(((XmIconGadget)(w))->icong.label_string)
#define	IG_LargeIconMask(w)	(((XmIconGadget)(w))->icong.large_icon_mask)
#define	IG_LargeIconPixmap(w)	(((XmIconGadget)(w))->icong.large_icon_pixmap)
#define	IG_SmallIconMask(w)	(((XmIconGadget)(w))->icong.small_icon_mask)
#define IG_SmallIconPixmap(w)	(((XmIconGadget)(w))->icong.small_icon_pixmap)
#define	IG_ViewType(w)		(((XmIconGadget)(w))->icong.viewtype)
#define	IG_VisualEmphasis(w)	(((XmIconGadget)(w))->icong.visual_emphasis)
#define	IG_Detail(w)	        (((XmIconGadget)(w))->icong.detail)
#define	IG_DetailCount(w)	(((XmIconGadget)(w))->icong.detail_count)
#define	IG_LabelRectWidth(w)	(((XmIconGadget)(w))->icong.label_rect_width)
#define	IG_LabelRectHeight(w)	(((XmIconGadget)(w))->icong.label_rect_height)
#define	IG_LargeIconRectWidth(w) \
                (((XmIconGadget)(w))->icong.large_icon_rect_width)
#define	IG_LargeIconRectHeight(w) \
		(((XmIconGadget)(w))->icong.large_icon_rect_height)
#define	IG_SmallIconRectWidth(w) \
		(((XmIconGadget)(w))->icong.small_icon_rect_width)
#define	IG_SmallIconRectHeight(w) \
		(((XmIconGadget)(w))->icong.small_icon_rect_height)
#define	IG_LargePixmapName(w) (((XmIconGadget)(w))->icong.large_pixmap_name)
#define	IG_SmallPixmapName(w) (((XmIconGadget)(w))->icong.small_pixmap_name)

/* XmNrecomputeSize didn't make it as a resource, but since the
   code is already written, I'll keep it and force its value here.
   If it's ever wanted back, just replace that macro by:
 #define IG_RecomputeSize(w)	(((XmIconGadget)(w))->icong.recompute_size) */
#define	IG_RecomputeSize(w)	(True) 

#define	IG_LayoutDirection(w)	(((XmIconGadget)(w))->gadget.layout_direction)
#define	IG_Highlighted(w)	(((XmIconGadget)(w))->gadget.highlighted)
#define	IG_HLThickness(w)     (((XmIconGadget)(w))->gadget.highlight_thickness)
#define	IG_ShadowThickness(w)	(((XmIconGadget)(w))->gadget.shadow_thickness)
#define	IG_Depth(w)		(((XmManagerWidget) \
			      (((XmGadget)(w))->object.parent))->core.depth)

/* cached resources for IconGadget */
#define	IG_RenderTable(w)	(((XmIconGadget)(w))-> \
				 icong.cache->render_table)
#define	IG_SelectedGC(w)	(((XmIconGadget)(w))-> \
				 icong.cache->selected_GC)
#define	IG_InverseGC(w)	        (((XmIconGadget)(w))-> \
				 icong.cache->inverse_GC)

/** These are gadget resources really. hopefully in 2.1,
    that will be replaced by stuff like:
    #define	IG_Background(w)    Gad_Background(w)
    #define	IG_BackgroundGC(w)  Gad_BackgroundGC(w)
    etc, etc ***/
#define	IG_Background(w)	(((XmIconGadget)(w))-> \
				 icong.cache->background)
#define	IG_Foreground(w)	(((XmIconGadget)(w))-> \
				 icong.cache->foreground)
#define	IG_TopShadowColor(w)	(((XmIconGadget)(w))-> \
				 icong.cache->top_shadow_color)
#define	IG_BottomShadowColor(w)	(((XmIconGadget)(w))-> \
				 icong.cache->bottom_shadow_color)
#define	IG_HighlightColor(w)	(((XmIconGadget)(w))-> \
				 icong.cache->highlight_color)

#define	IG_BackgroundPixmap(w)	(((XmIconGadget)(w))-> \
				 icong.cache->background_pixmap)
#define	IG_TopShadowPixmap(w)	(((XmIconGadget)(w))-> \
				 icong.cache->top_shadow_pixmap)
#define	IG_BottomShadowPixmap(w)	(((XmIconGadget)(w))-> \
				 icong.cache->bottom_shadow_pixmap)
#define	IG_HighlightPixmap(w)	(((XmIconGadget)(w))-> \
				 icong.cache->highlight_pixmap)

#define	IG_NormalGC(w)	        (((XmIconGadget)(w))-> \
				 icong.cache->normal_GC)
#define	IG_BackgroundGC(w)	(((XmIconGadget)(w))-> \
				 icong.cache->background_GC)
#define	IG_InsensitiveGC(w)	(((XmIconGadget)(w))-> \
				 icong.cache->insensitive_GC)
#ifdef FIX_1381
#define	IG_ShadowGC(w)	(((XmIconGadget)(w))-> \
				 icong.cache->shadow_GC)
#endif
#define	IG_TopShadowGC(w)	(((XmIconGadget)(w))-> \
				 icong.cache->top_shadow_GC)
#define	IG_BottomShadowGC(w)	(((XmIconGadget)(w))-> \
				 icong.cache->bottom_shadow_GC)
#define	IG_HighlightGC(w)	(((XmIconGadget)(w))-> \
				 icong.cache->highlight_GC)
#define	IG_Alignment(w) 	(((XmIconGadget)(w))-> \
				 icong.cache->alignment)
#define	IG_Spacing(w) 	 	(((XmIconGadget)(w))-> \
				 icong.cache->spacing)
#define	IG_MarginWidth(w) 	(((XmIconGadget)(w))-> \
				 icong.cache->margin_width)
#define	IG_MarginHeight(w) 	(((XmIconGadget)(w))-> \
				 icong.cache->margin_height)


/* Convenience Macros */
#define IG_Cache(w)            (((XmIconGadget)(w))->icong.cache)
#define IG_ClassCachePart(w)   (((XmIconGadgetClass)xmIconGadgetClass)->\
				gadget_class.cache_part)

#ifdef __cplusplus
}  /* Close scope of 'extern "C"' declaration which encloses file. */
#endif

#endif /* _XmIconGP_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */