/usr/include/Xm/TextP.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 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 | /**
*
* $Id: TextP.h,v 1.1 2004/08/28 19:23:26 dannybackx Exp $
*
* Copyright (C) 1995 Free Software Foundation, Inc.
* Copyright (C) 1995-2001 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_TEXTP_H
#define _XM_TEXTP_H
#include <Xm/PrimitiveP.h>
#include <Xm/Text.h>
#include <Xm/TextOutP.h>
#include <Xm/TextInP.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _InputRec *Input;
typedef struct _OutputRec *Output;
#define MAXINT INT_MAX
#define NODELTA MAXINT
#define TEXTWIDGETCLASS "Text"
#define GetSrc(widget) (((XmTextWidget)(widget))->text.source)
typedef struct {
XmTextPosition start;
Boolean changed;
XmTextPosition changed_position;
Boolean past_end;
LineTableExtra extra;
} LineRec, *Line;
typedef struct _XmTextLineTableRec {
unsigned int start_pos : 31,
virt_line : 1;
} XmTextLineTableRec, *XmTextLineTable;
typedef struct {
XmTextPosition from, to;
} RangeRec;
typedef struct {
Cardinal number;
Cardinal maximum;
RangeRec *range;
} Ranges;
typedef struct {
XmTextSource source;
XtCallbackList activate_callback;
XtCallbackList focus_callback;
XtCallbackList losing_focus_callback;
XtCallbackList value_changed_callback;
XtCallbackList modify_verify_callback;
XtCallbackList wcs_modify_verify_callback;
XtCallbackList motion_verify_callback;
XtCallbackList gain_primary_callback;
XtCallbackList lose_primary_callback;
char *value;
wchar_t *wc_value;
Dimension margin_height;
Dimension margin_width;
Dimension cursor_position_x;
OutputCreateProc output_create;
InputCreateProc input_create;
XmTextPosition top_character;
XmTextPosition bottom_position;
XmTextPosition cursor_position;
int max_length;
int edit_mode;
Boolean auto_show_cursor_position;
Boolean editable;
Boolean verify_bell;
Boolean add_mode;
Boolean traversed;
Boolean in_redisplay;
Boolean needs_redisplay;
Boolean in_refigure_lines;
Boolean needs_refigure_lines;
Boolean in_setvalues;
Boolean in_resize;
Boolean in_expose;
Boolean highlight_changed;
Boolean pendingoff;
char char_size;
OnOrOff on_or_off;
Output output;
Input input;
XmTextPosition first_position;
XmTextPosition last_position;
XmTextPosition forget_past;
XmTextPosition force_display;
XmTextPosition new_top;
XmTextPosition last_top_char;
XmTextPosition dest_position;
int disable_depth;
int pending_scroll;
int total_lines;
int top_line;
int vsbar_scrolling;
Cardinal number_lines;
Cardinal maximum_lines;
Line line;
Ranges repaint;
_XmHighlightData highlight;
_XmHighlightData old_highlight;
Widget inner_widget;
XmTextLineTable line_table;
unsigned int table_size;
unsigned int table_index;
} XmTextPart;
/* Define the full instance record */
typedef struct _XmTextRec {
CorePart core;
XmPrimitivePart primitive;
XmTextPart text;
} XmTextRec;
/* Define class part structure */
typedef struct {
XtPointer extension;
} XmTextClassPart;
/* Define the full class record */
typedef struct _XmTextClassRec {
CoreClassPart core_class;
XmPrimitiveClassPart primitive_class;
XmTextClassPart text_class;
} XmTextClassRec;
/* External definition for class record */
XMLIBEXPORT extern XmTextClassRec xmTextClassRec;
/* Inner Widget: base object for the Output and Input "subparts". This really
* is only to hold the values for resource specification. An Output and an
* input object will be created later that will copy the information from
* these records into their own.
*/
typedef struct {
OutputDataRec out;
InputDataRec in;
} XmTextInnerPart;
/* Define the full instance record */
typedef struct _XmTextInnerRec {
ObjectPart object;
XmTextInnerPart inner;
} XmTextInnerRec;
/* Define the full class record */
typedef struct _XmTextInnerClassRec {
ObjectClassPart object_class;
XmTextClassPart text_src_class; /* just a dummy */
} XmTextInnerClassRec;
/* External definition for class record */
XMLIBEXPORT extern XmTextInnerClassRec xmTextInnerClassRec;
typedef struct _XmTextInnerRec *XmTextInnerWidget;
XMLIBEXPORT extern int _XmTextGetTotalLines(Widget widget);
XMLIBEXPORT extern XmTextLineTable _XmTextGetLineTable(Widget widget,
int *total_lines);
XMLIBEXPORT extern void _XmTextRealignLineTable(XmTextWidget widget,
XmTextLineTable *temp_table,
int *temp_table_size,
register unsigned int cur_index,
register XmTextPosition cur_start,
register XmTextPosition cur_end);
XMLIBEXPORT extern unsigned int _XmTextGetTableIndex(XmTextWidget widget,
XmTextPosition pos);
XMLIBEXPORT extern void _XmTextUpdateLineTable(Widget widget,
XmTextPosition start,
XmTextPosition end,
XmTextBlock block,
Boolean update);
XMLIBEXPORT extern void _XmTextSetCursorPosition(Widget w,
XmTextPosition pos);
XMLIBEXPORT extern void _XmTextLineInfo(XmTextWidget widget,
LineNum line,
XmTextPosition *startpos,
LineTableExtra *extra);
XMLIBEXPORT extern LineNum _XmTextPosToLine(XmTextWidget widget,
XmTextPosition position);
XMLIBEXPORT extern void _XmTextMarkRedraw(XmTextWidget widget,
XmTextPosition left,
XmTextPosition right);
XMLIBEXPORT extern void _XmTextDisableRedisplay(XmTextWidget widget,
Boolean losesbackingstore);
XMLIBEXPORT extern void _XmTextEnableRedisplay(XmTextWidget widget) ;
XMLIBEXPORT extern void _XmTextDelete(XmTextWidget w, XEvent *ev,
XmTextPosition start, XmTextPosition end);
XMLIBEXPORT extern void _XmTextSetTopCharacter ( Widget w, XmTextPosition position);
XMLIBEXPORT extern LineNum _XmTextNumLines( XmTextWidget widget);
void _XmTextInvalidate(XmTextWidget w, XmTextPosition position,
XmTextPosition topos, long delta);
#define Text_Source(w) (((XmTextWidget)(w))->text.source)
#define Text_ActivateCallback(w) (((XmTextWidget)(w))->text.activate_callback)
#define Text_FocusCallback(w) (((XmTextWidget)(w))->text.focus_callback)
#define Text_LosingFocusCallback(w) (((XmTextWidget)(w))->text.losing_focus_callback)
#define Text_ValueChangedCallback(w) (((XmTextWidget)(w))->text.value_changed_callback)
#define Text_ModifyVerifyCallback(w) (((XmTextWidget)(w))->text.modify_verify_callback)
#define Text_WcsModifyVerifyCallback(w) (((XmTextWidget)(w))->text.wcs_modify_verify_callback)
#define Text_MotionVerifyCallback(w) (((XmTextWidget)(w))->text.motion_verify_callback)
#define Text_GainPrimaryCallback(w) (((XmTextWidget)(w))->text.gain_primary_callback)
#define Text_LosePrimaryCallback(w) (((XmTextWidget)(w))->text.lose_primary_callback)
#define Text_Value(w) (((XmTextWidget)(w))->text.value)
#define Text_WcsValue(w) (((XmTextWidget)(w))->text.wc_value)
#define Text_MarginWidth(w) (((XmTextWidget)(w))->text.margin_width)
#define Text_MarginHeight(w) (((XmTextWidget)(w))->text.margin_height)
#define Text_CursorPositionX(w) (((XmTextWidget)(w))->text.cursor_position_x)
#define Text_OutputCreate(w) (((XmTextWidget)(w))->text.output_create)
#define Text_InputCreate(w) (((XmTextWidget)(w))->text.input_create)
#define Text_TopPos(w) (((XmTextWidget)(w))->text.top_character)
#define Text_BottomPos(w) (((XmTextWidget)(w))->text.bottom_position)
#define Text_CursorPos(w) (((XmTextWidget)(w))->text.cursor_position)
#define Text_FirstPos(w) (((XmTextWidget)(w))->text.first_position)
#define Text_LastPos(w) (((XmTextWidget)(w))->text.last_position)
#define Text_MaxLength(w) (((XmTextWidget)(w))->text.max_length)
#define Text_EditMode(w) (((XmTextWidget)(w))->text.edit_mode)
#define Text_AutoShowCursorPosition(w) (((XmTextWidget)(w))->text.auto_show_cursor_position)
#define Text_Editable(w) (((XmTextWidget)(w))->text.editable)
#define Text_VerifyBell(w) (((XmTextWidget)(w))->text.verify_bell)
#define Text_AddMode(w) (((XmTextWidget)(w))->text.add_mode)
#define Text_Traversed(w) (((XmTextWidget)(w))->text.traversed)
#define Text_InRedisplay(w) (((XmTextWidget)(w))->text.in_redisplay)
#define Text_NeedsRedisplay(w) (((XmTextWidget)(w))->text.needs_redisplay)
#define Text_InRefigureLines(w) (((XmTextWidget)(w))->text.in_refigure_lines)
#define Text_NeedsRefigureLines(w) (((XmTextWidget)(w))->text.needs_refigure_lines)
#define Text_InSetValues(w) (((XmTextWidget)(w))->text.in_setvalues)
#define Text_InResize(w) (((XmTextWidget)(w))->text.in_resize)
#define Text_InExpose(w) (((XmTextWidget)(w))->text.in_expose)
#define Text_HighlightChanged(w) (((XmTextWidget)(w))->text.highlight_changed)
#define Text_PendingOff(w) (((XmTextWidget)(w))->text.pendingoff)
#define Text_CharSize(w) (((XmTextWidget)(w))->text.char_size)
#define Text_OnOrOff(w) (((XmTextWidget)(w))->text.on_or_off)
#define Text_Output(w) (((XmTextWidget)(w))->text.output)
#define Text_OutputData(w) (Text_Output(w)->data)
#define Text_Input(w) (((XmTextWidget)(w))->text.input)
#define Text_InputData(w) (Text_Input(w)->data)
#define Text_ForgetPast(w) (((XmTextWidget)(w))->text.forget_past)
#define Text_ForceDisplay(w) (((XmTextWidget)(w))->text.force_display)
#define Text_NewTop(w) (((XmTextWidget)(w))->text.new_top)
#define Text_LastTopChar(w) (((XmTextWidget)(w))->text.last_top_char)
#define Text_DestPosition(w) (((XmTextWidget)(w))->text.dest_position)
#define Text_DisableDepth(w) (((XmTextWidget)(w))->text.disable_depth)
#define Text_PendingScroll(w) (((XmTextWidget)(w))->text.pending_scroll)
#define Text_TotalLines(w) (((XmTextWidget)(w))->text.total_lines)
#define Text_TopLine(w) (((XmTextWidget)(w))->text.top_line)
#define Text_VSBarScrolling(w) (((XmTextWidget)(w))->text.vsbar_scrolling)
#define Text_Line(w) (((XmTextWidget)(w))->text.line)
#define Text_LineCount(w) (((XmTextWidget)(w))->text.number_lines)
#define Text_LineMax(w) (((XmTextWidget)(w))->text.maximum_lines)
#define Text_Repaint(w) (((XmTextWidget)(w))->text.repaint)
#define Text_Highlight(w) (((XmTextWidget)(w))->text.highlight)
#define Text_OldHighlight(w) (((XmTextWidget)(w))->text.old_highlight)
#define Text_InnerWidget(w) (XmTextInnerWidget)(((XmTextWidget)(w))->text.inner_widget)
#define Text_LineTable(w) (((XmTextWidget)(w))->text.line_table)
#define Text_TableSize(w) (((XmTextWidget)(w))->text.table_size)
#define Text_TableIndex(w) (((XmTextWidget)(w))->text.table_index)
#ifdef __cplusplus
};
#endif
#endif /* _XM_TEXTP_H */
|