This file is indexed.

/usr/include/xview_private/panel_impl.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
/*	@(#)panel_impl.h 20.90 93/06/28 SMI	*/

/*
 *	(c) Copyright 1989 Sun Microsystems, Inc. Sun design patents 
 *	pending in the U.S. and foreign countries. See LEGAL_NOTICE 
 *	file for terms of the license.
 */

#ifndef panel_impl_defined
#define panel_impl_defined

#ifndef FILE
#if !defined(SVR4) && !defined(__linux__)
#undef NULL
#endif /* SVR4 */
#include <stdio.h>
#endif /* FILE */
#include <sys/types.h>
#include <X11/Xlib.h>
#include <xview_private/i18n_impl.h>
#include <xview_private/portable.h>
#include <olgx/olgx.h>
#ifdef OW_I18N
#include <xview/xv_i18n.h>
#endif /* OW_I18N */
#include <xview/pkg.h>
#include <xview/attrol.h>
#include <xview/font.h>
#include <xview/frame.h>
#include <xview/openwin.h>
#include <xview/panel.h>
#include <xview/sel_pkg.h>
#include <xview/svrimage.h>
#include <xview/dragdrop.h>
#include <xview_private/item_impl.h>

/* panels and panel_items are both of type Xv_panel_or_item so that we
 * can pass them to common routines.
 */
#define PANEL_PRIVATE(p)	XV_PRIVATE(Panel_info, Xv_panel, p)
#define PANEL_PUBLIC(panel)     XV_PUBLIC(panel)

#define rect_copy(to, from)		to.r_left = from.r_left; \
                                to.r_top = from.r_top;   \
                                to.r_width = from.r_width; \
                                to.r_height = from.r_height; 
                                
#define	set(value)	((value) != -1) 


#define PANEL_MORE_TEXT_WIDTH 16
#define PANEL_MORE_TEXT_HEIGHT 14
#define PANEL_PULLDOWN_MENU_WIDTH 16
#define PANEL_PULLDOWN_MENU_HEIGHT 8

#define PANEL_SEL_PRIMARY	0
#define PANEL_SEL_SECONDARY	1
#define PANEL_SEL_CLIPBOARD	2
#define NBR_PANEL_SELECTIONS	3


/* 			structures                                      */


/***************************** panel **************************************/
/* *** NOTE: The first three fields of the panel_info struct must match those
 * of the item_info struct, since these are used interchangably in some
 * routines.
 */
typedef struct panel_info {
    /****  DO NOT CHANGE THE ORDER OR PLACEMENT OF THESE THREE FIELDS ****/
    Panel_ops		ops;		/* panel specific operations */
    unsigned int	flags;		/* default item flags */
	/*  N.B.:  panel->flags uses the "Item status flags" definitions
	 * found in "item_impl.h". */
    Panel		public_self;	/* back pointer to object */
    /**** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ****/

    int			active_caret_ascent;
    int			active_caret_height;
    int			active_caret_width;
    struct {
	Atom		delete;
	Atom		length;
	Atom		null;
	Atom		secondary;
	Atom		selection_end;
	Atom		seln_yield;
#ifdef OW_I18N
	Atom		compound_text;
	Atom		length_chars;
#endif /* OW_I18N */
    } atom;
    Xv_Font		bold_font;
#ifdef OW_I18N
    XFontSet		bold_fontset_id;
#else
    Font		bold_font_xid;
#endif /* OW_I18N */
    int			caret;		/* current caret character index */
    int			caret_ascent;	/* # of pixels above baseline */
    Pixmap		caret_bg_pixmap; /* used to restore the pixels
					  * underneath the caret */
    int			caret_height;
    int			caret_on;	/* caret is painted */
    int			caret_width;
    Xv_opaque		client_data;	/* for client use */
    Item_info		*current;
    int			current_col_x;	/* left position of current column */
    Cursor		cursor;		/* panel's default (basic) cursor */
    Panel_item		default_item;
    Item_info		*default_drop_site_item;
    int			drag_threshold;
	/* # of pixels the mouse may move with a button down and still be
	 * considered a click.  If it moves more than this, it is considered
	 * to be a press-drag-release gesture instead of a click.  Drag-and-drop
	 * is initiated after the mouse is dragged 'drag_threshold' pixels.
	 * Default is 5.
	 */
    int			duplicate_shiftmask;
	/* Event shiftmask for DUPLICATE modifier key. Default is CTRLMASK. */
    int			(*event_proc)();
    int			extra_height;
    int			extra_width;
    Xv_Window		focus_pw;
	/* Current or last input focus paint window.  (The
	 * panel->status.has_input_focus flag indicates whether
	 * the panel currently has the input focus.) Initially,
	 * focus_pw is set to the first paint window created.
	 */
    Graphics_info	*ginfo;		/* olgx graphics information */
    int			h_margin;	/* horizontal margin */
    int			inactive_caret_ascent;
    int			inactive_caret_height;
    int			inactive_caret_width;
    int			item_x;
    int			item_x_offset;
    int			item_y;
    int			item_y_offset;
    Item_info		*items;
    Item_info		*last_item;
    Item_info		*kbd_focus_item;/* panel item with the keyboard focus */
    Panel_setting	layout;		/* HORIZONTAL, VERTICAL */
    int			(*layout_proc)(); /* interposed window layout proc */
    int			lowest_bottom;	/* lowest bottom of any item */
    int			max_item_y;	/* lowest item on row ??? */
    int			multiclick_timeout;  /* in msec */
    int			no_redisplay_item; /* Don't call panel_redisplay_item
					    * from item_set_generic */
    Panel_paint_window	*paint_window;
    Item_info		*primary_focus_item; /* current or last panel item
					      * that is/was a primary
					      * (First-Class) focus item */
    Panel_setting	repaint;	/* default repaint behavior  */
    int			(*repaint_proc)();
    int			rightmost_right; /* rightmost right of any item */
    Item_info		*sel_holder[NBR_PANEL_SELECTIONS];
#ifdef OW_I18N
    _xv_pswcs_t         clipboard;	  /* none sel_item version of clipb */
#else
    Selection_item	sel_item[NBR_PANEL_SELECTIONS];
#endif
    Selection_owner	sel_owner[NBR_PANEL_SELECTIONS];
    Atom		sel_rank[NBR_PANEL_SELECTIONS];
    Selection_requestor	sel_req;
    Panel_status	status;
    Xv_Font		std_font;	/* standard font */
#ifdef OW_I18N
    XFontSet		std_fontset_id;
#else
    Font		std_font_xid;
#endif /* OW_I18N */
    struct itimerval	timer_full;	/* initial secs & usecs */
    int			v_margin;	/* vertical margin */
#ifdef OW_I18N
    XIC                  ic;
    Item_info		 *preedit_item; /* panel item with the keyboard focus */
    XIMPreeditDrawCallbackStruct  *preedit; /*Save full preedit information*/
    Bool		 preedit_own_by_others;
		/*
		 * When panel text being used by canvas for preedit
		 * rendering, preedit data structure is owned by the
		 * canvas, not panel. So that, panel should not free
		 * the data structure upon destory (note, however,
		 * panel still create the preedit data structure once
		 * created, first canvas in the given frame will use
		 * that data structure, see cnvs_view.c,
		 * canvas_paint_set, XV_END_CREATE).
		 */
#ifdef FULL_R5
    XIMStyle		xim_style;
#endif /* FULL_R5 */
#endif /* OW_I18N */
    int			show_border;
    unsigned short	old_width;
    unsigned short	old_height;
} Panel_info;


#define	PANEL_EACH_PAINT_WINDOW(panel, pw)	\
   {Panel_paint_window *_next; \
    for (_next = (panel)->paint_window; _next != NULL; _next = _next->next) { \
    	(pw) = _next->pw;

#define	PANEL_END_EACH_PAINT_WINDOW	}}

/***********************************************************************/
/* external declarations of private variables                          */
/***********************************************************************/

Pkg_private Attr_attribute	panel_context_key;
Pkg_private Attr_attribute	panel_pw_context_key;


/***********************************************************************/
/* Pkg_private declarations of private functions                          */
/***********************************************************************/

Pkg_private void		panel_accept_kbd_focus();
Pkg_private void              	panel_adjust_label_size();
Pkg_private void		panel_append();
Pkg_private void		panel_btn_accepted();
Pkg_private void		panel_check_item_layout();
Pkg_private void          	panel_clear_item();
Pkg_private void		panel_clear_pw_rect();
Pkg_private void		panel_clear_rect();
Pkg_private int		 	panel_col_to_x();
Pkg_private void		panel_display();
Pkg_private Notify_value	panel_default_event();
Pkg_private int			panel_duplicate_key_is_down();
Pkg_private Rect		panel_enclosing_rect();
Pkg_private int			panel_erase_action();
Pkg_private void		panel_find_default_xy();
Pkg_private int 		panel_fonthome();
Pkg_private void		panel_free_image();
Pkg_private Xv_opaque	 	panel_get_attr();
Pkg_private int			panel_height();
Pkg_private void                panel_image_set_font();
Pkg_private void		panel_invert();
Pkg_private void		panel_invert_polygon();
Pkg_private int			panel_is_multiclick();
Pkg_private void		panel_item_layout();
Pkg_private void		panel_itimer_set();
Pkg_private struct pr_size 	panel_make_image();
Pkg_private int			panel_navigation_action();
Pkg_private Item_info	       *panel_next_kbd_focus();
Pkg_private int		        panel_normalize_scroll();
Pkg_private Notify_value	panel_notify_event();
Pkg_private Notify_value	panel_notify_panel_event();
Pkg_private Notify_value	panel_notify_view_event();
Pkg_private int 		panel_nullproc();
Pkg_private void		panel_paint_image();
Pkg_private void		panel_paint_svrim();
Pkg_private void		panel_paint_text();
Pkg_private Item_info	       *panel_previous_kbd_focus();
Pkg_private int			panel_printable_char();
Pkg_private void		panel_pw_invert();
Pkg_private void		panel_redisplay();
Pkg_private void		panel_redisplay_item();
Pkg_private void		panel_refont();
Pkg_private void		panel_register_view();
Pkg_private int			panel_resize();
Pkg_private int			panel_round();
Pkg_private int		 	panel_row_to_y();
Pkg_private void		panel_sel_init();
Pkg_private Xv_opaque 		panel_set_avlist();
Pkg_private void		panel_set_bold_label_font();
Pkg_private Panel_item		panel_set_kbd_focus();
Pkg_private char               *panel_strsave();
Pkg_private Item_info 	       *panel_successor();
Pkg_private void		panel_text_caret_on();
Pkg_private void		panel_text_paint_label();
Pkg_private void		panel_unlink();
Pkg_private void		panel_update_extent();
Pkg_private void		panel_update_scrollbars();
Pkg_private void		panel_user_error();
Pkg_private int			panel_viewable_height();
Pkg_private Rect	       *panel_viewable_rect();
Pkg_private int			panel_viewable_width();
Pkg_private int			panel_wants_focus();
Pkg_private int			panel_width();
Pkg_private void		panel_yield_kbd_focus();
Pkg_private void                panel_autoscroll_start_itimer();
Pkg_private void                panel_autoscroll_stop_itimer();
Pkg_private void		panel_paint_border();
#ifdef OW_I18N
Xv_private  void		ml_panel_display_interm();
Pkg_private void 		ml_panel_saved_caret();
Pkg_private void 		panel_implicit_commit();
Pkg_private wchar_t	       *panel_strsave_wc();
Xv_private void	        	panel_preedit_display();
Xv_private void	        	panel_text_start();
Xv_private void	        	panel_text_draw();
Xv_private void	        	panel_text_done();
#endif /* OW_I18N */

#endif