This file is indexed.

/usr/include/Xm/TextOutP.h is in lesstif2-dev 1:0.95.2-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
/**
 *
 * $Header: /cvsroot/lesstif/lesstif/include/Motif-2.1/Xm/TextOutP.h,v 1.2 2005/03/29 15:28:00 dannybackx Exp $
 *
 * Copyright (C) 1995 Free Software Foundation, Inc.
 * Copyright © 1995, 1997, 1999, 2000, 2001, 2002 LessTif Development Team
 *
 * This file is part of the GNU LessTif Library.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 **/

#ifndef _XM_TEXTOUTP_H
#define _XM_TEXTOUTP_H

#include <Xm/XmP.h>
#include <Xm/Text.h>
#include <limits.h>  /* for INT_MAX */

#ifdef __cplusplus
extern "C" {
#endif

#define NOLINE		30000
#define PASTENDPOS	INT_MAX

typedef struct _LineTableExtraRec {
  Dimension width;
  Boolean wrappedbychar;
} LineTableExtraRec, *LineTableExtra;

typedef unsigned int LineNum;
typedef enum {
	on,
	off
} OnOrOff;

typedef struct _OutputDataRec {
	XmFontList fontlist;
	unsigned int blinkrate;
	Boolean wordwrap;
	Boolean cursor_position_visible;
	Boolean autoshowinsertpoint;
	Boolean hasfocus;
	Boolean has_rect;
	Boolean handlingexposures;
	Boolean exposevscroll;
	Boolean exposehscroll;
	Boolean resizewidth, resizeheight;
	Boolean scrollvertical, scrollhorizontal;
	Boolean scrollleftside, scrolltopside;
	Boolean ignorevbar;
	Boolean ignorehbar;
	short int cursor_on;
	Boolean refresh_ibeam_off;
	Boolean suspend_hoffset;
	Boolean use_fontset;
	Boolean have_inverted_image_gc;
	OnOrOff blinkstate;
	Position insertx, inserty;
	int number_lines;
	int leftmargin, rightmargin;
	int topmargin, bottommargin;
	int scrollwidth;
	int vsliderSize;
	int hoffset;
	int averagecharwidth;
	int tabwidth;
	short columns, rows;
	Dimension lineheight;
	Dimension minwidth, minheight;
	Dimension prevW;
	Dimension prevH;
	Dimension cursorwidth, cursorheight;
	Dimension font_ascent;
	Dimension font_descent;
	XtIntervalId timerid;
	Pixmap cursor;
	Pixmap add_mode_cursor;
	Pixmap ibeam_off;
	Pixmap stipple_tile;
	GC gc, imagegc;
	Widget vbar, hbar;
	XFontStruct *font;
	GC save_gc;
	short columns_set, rows_set;

	/* rwmcm: Extra stuff that I'm not sure I will need */
	Boolean fontlist_created;

	/* Stuff to support anti-aliased fonts through Xft */
	XmFontType	font_type;
	XtPointer	xft_font;	/* Should be 'XftFont *' but this would require an
					 * additional include file. */
	Boolean		check_set_render_table;
} OutputDataRec, *OutputData;

typedef void (*OutputCreateProc)(Widget, ArgList, Cardinal);
typedef XmTextPosition (*XYToPosProc)(XmTextWidget, Position, Position);
typedef void (*GetPreferredSizeProc)(Widget, Dimension *, Dimension *);
typedef void (*GetValuesProc)(Widget, ArgList, Cardinal);
typedef Boolean (*SetValuesProc)(Widget, Widget, Widget, ArgList, Cardinal *);
typedef void (*DrawInsertionPointProc)(XmTextWidget, XmTextPosition, OnOrOff);
typedef void (*MakePositionVisibleProc)(XmTextWidget, XmTextPosition);
typedef Boolean (*MoveLinesProc)(XmTextWidget, LineNum, LineNum, LineNum);
typedef Boolean (*PosToXYProc)(XmTextWidget, XmTextPosition, Position *, Position *);
typedef Boolean (*MeasureLineProc)(XmTextWidget,
		LineNum,
		XmTextPosition,
		XmTextPosition *,
		LineTableExtraRec **);
typedef void (*DrawProc)(XmTextWidget,
		LineNum,
		XmTextPosition,
		XmTextPosition,
		XmHighlightMode) ;
typedef void (*InvalidateProc)(XmTextWidget,
		XmTextPosition,
		XmTextPosition,
		long);


typedef struct _OutputRec {
	struct _OutputDataRec *data;
	XYToPosProc XYToPos;
	PosToXYProc PosToXY;
	MeasureLineProc MeasureLine;
	DrawProc Draw;
	DrawInsertionPointProc DrawInsertionPoint;
	MakePositionVisibleProc MakePositionVisible;
	MoveLinesProc MoveLines;
	InvalidateProc Invalidate;
	GetPreferredSizeProc GetPreferredSize;
	GetValuesProc GetValues;
	SetValuesProc SetValues;
	XmRealizeOutProc realize;
	XtWidgetProc destroy;
	XmResizeFlagProc resize;
	XtExposeProc expose;
} OutputRec;


void _XmTextDrawDestination(XmTextWidget widget);
void _XmTextClearDestination(XmTextWidget widget, Boolean ignore_sens);
void _XmTextDestinationVisible(Widget w, Boolean turn_on);
void _XmTextChangeBlinkBehavior(XmTextWidget widget, Boolean newvalue);
void _XmTextOutputCreate(Widget wid, ArgList args, Cardinal num_args);
void _XmTextAdjustGC(XmTextWidget tw);
Boolean _XmTextShouldWordWrap(XmTextWidget widget);
Boolean _XmTextScrollable(XmTextWidget widget);
void _XmTextOutputGetSecResData(XmSecondaryResourceData *secResDataRtn);
int _XmTextGetNumberLines(XmTextWidget widget);
Boolean _XmTextGetDisplayRect(Widget w, XRectangle *display_rect);
void _XmTextMarginsProc(Widget w, XmBaselineMargins *margins_rec);
void _XmTextChangeHOffset(XmTextWidget widget, int length);
void _XmTextToggleCursorGC(Widget widget);
void _XmTextFreeContextData(Widget w,
		XtPointer clientData,
		XtPointer callData);
void _XmTextResetClipOrigin(XmTextWidget tw,
		XmTextPosition position,
		Boolean clip_mask_reset) ;
XmTextPosition _XmTextFindLineEnd(XmTextWidget w,
		XmTextPosition pos,
		LineTableExtra *extra);
void _XmTextMovingCursorPosition(XmTextWidget w, XmTextPosition pos);
Boolean _XmTextGetBaselines(Widget widget,
		Dimension **baselines,
		int *line_count) ;
int _XmOut_FontTextWidth(OutputData o, char *s, int l);
int _XmOut_FontMaxWidth(OutputData o);


#define Out_XOffset(o) (o->hoffset)
/*CP:The next 2 macros are badly named and are not used correctly in the sources */
#define Out_XDraw(o) (o->prevW)
#define Out_YDraw(o) (o->prevH)
#define Out_PrevW(o) (o->prevW)
#define Out_PrevH(o) (o->prevH)
/*
	#define Out_FontHeight(o) (o->lineheight)
 */
#ifdef	USE_XFT
# define Out_FontHeight(o)	\
	(Out_XftFont(o) ? Out_XftFont(o)->height : o->lineheight)
#define Out_FontAscent(o)	\
	(Out_XftFont(o) ? Out_XftFont(o)->ascent : o->font->max_bounds.ascent)
#define Out_FontDescent(o)	\
	(Out_XftFont(o) ? Out_XftFont(o)->descent : o->font->max_bounds.descent)
#else
# define Out_FontHeight(o) (o->lineheight)
# define Out_FontAscent(o) (o->font->max_bounds.ascent)
# define Out_FontDescent(o) (o->font->max_bounds.descent)
#endif
#define Out_CursorSave(o) (o->ibeam_off)
#define Out_CursorSaveValid(o) (o->refresh_ibeam_off)
#define Out_CursorIBeam(o) (o->cursor)
#define Out_CursorAddMode(o) (o->add_mode_cursor)
#define Out_CursorStipple(o) (o->stipple_tile)
#define Out_CursorX(o) (o->insertx)
#define Out_CursorY(o) (o->inserty)
#define Out_CursorPositionVisible(o) (o->cursor_position_visible)
#define Out_CursorHeight(o) (o->cursorheight)
#define Out_CursorWidth(o) (o->cursorwidth)

#define Out_Font(o) (o->font)
#define Out_FontList(o) (o->fontlist)
#define Out_FontListCreated(o) (o->fontlist_created)
#define	Out_FontType(o)		(o->font_type)
/*
 * This macro is obsolete
 * #define Out_FontTextWidth(o,s,l) (int)XTextWidth(Out_Font(o), s, l)
 */
#define Out_FontAverageWidth(o) (o->averagecharwidth)
#define Out_Font_Ascent(o) (o->font_ascent)
#define Out_Font_Descent(o) (o->font_descent)
#define Out_DrawGC(o) (o->gc)		/* drawing and copying */
#define Out_DrawGCInverted(o) (o->have_inverted_image_gc)
#define Out_CursorGC(o) (o->imagegc)	/* highlighting text */
#define Out_CopyGC(o) (o->save_gc) /* cursor (not clipped) */

#define Out_BlinkRate(o) (o->blinkrate)
#define Out_BlinkState(o) (o->blinkstate)
#define Out_BlinkOn(o) (o->cursor_on)
#define Out_Columns(o) (o->columns)
#define Out_ColumnsSet(o) (o->columns_set)
#define Out_HasFocus(o) (o->hasfocus)
#define Out_ResizeWidth(o) (o->resizewidth)
#define Out_ResizeHeight(o) (o->resizeheight)
#define Out_MinWidth(o) (o->minwidth)
#define Out_MinHeight(o) (o->minheight)
#define Out_OldLength(o) (o->old_length)
#define Out_Rows(o) (o->rows)
#define Out_RowsSet(o) (o->rows_set)
#define Out_TimerId(o) (o->timerid)
#define Out_TabWidth(o) (o->tabwidth)
#define Out_ScrollVertical(o) (o->scrollvertical)
#define Out_ScrollHorizontal(o) (o->scrollhorizontal)
#define Out_ScrollLeftSide(o) (o->scrollleftside)
#define Out_ScrollTopSide(o) (o->scrolltopside)
#define Out_Vbar(o) (o->vbar)
#define Out_Hbar(o) (o->hbar)
#define Out_ScrollWidth(o) (o->scrollwidth)
#define Out_NumberLines(o) (o->number_lines)
#define Out_WordWrap(o) (o->wordwrap)
#define Out_LeftMargin(o) (o->leftmargin)
#define Out_RightMargin(o) (o->rightmargin)
#define Out_TopMargin(o) (o->topmargin)
#define Out_BottomMargin(o) (o->bottommargin)
#define Out_ExposeVScroll(o) (o->exposevscroll)
#define Out_ExposeHScroll(o) (o->exposehscroll)
#define Out_HandlingExposures(o) (o->handlingexposures)
#define Out_UseFontSet(o) (o->use_fontset)
#define	Out_XftFont(o)	((XftFont *)(o->xft_font))

#ifdef __cplusplus
}
#endif

#endif /* _XM_TEXTOUTP_H */