diff options
Diffstat (limited to 'nx-X11/lib/Xaw/TextP.h')
-rw-r--r-- | nx-X11/lib/Xaw/TextP.h | 321 |
1 files changed, 0 insertions, 321 deletions
diff --git a/nx-X11/lib/Xaw/TextP.h b/nx-X11/lib/Xaw/TextP.h deleted file mode 100644 index 0edbdd29b..000000000 --- a/nx-X11/lib/Xaw/TextP.h +++ /dev/null @@ -1,321 +0,0 @@ -/* -* $Xorg: TextP.h,v 1.4 2001/02/09 02:03:46 xorgcvs Exp $ -*/ - - -/*********************************************************** - -Copyright 1987, 1988, 1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - - -Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Digital not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -******************************************************************/ -/* $XFree86: xc/lib/Xaw/TextP.h,v 3.21 2001/12/14 19:54:44 dawes Exp $ */ - -#ifndef _XawTextP_h -#define _XawTextP_h - -#include <X11/Xfuncproto.h> - -#include <X11/Xaw/Text.h> -#include <X11/Xaw/SimpleP.h> - -_XFUNCPROTOBEGIN - -#define MAXCUT 30000 /* Maximum number of characters that can be cut */ - -#define XawTextGetLastPosition(ctx) \ - XawTextSourceScan((ctx)->text.source, 0, \ - XawstAll, XawsdRight, 1, True) -#define GETLASTPOS XawTextGetLastPosition(ctx) - -#define zeroPosition ((XawTextPosition)0) - -extern XtActionsRec _XawTextActionsTable[]; -extern Cardinal _XawTextActionsTableCount; - -#define XawLF 0x0a -#define XawCR 0x0d -#define XawTAB 0x09 -#define XawBS 0x08 -#define XawSP 0x20 -#define XawDEL 0x7f -#define XawESC 0x1b -#define XawBSLASH '\\' - -/* constants that subclasses may want to know */ -#define DEFAULT_TEXT_HEIGHT ((Dimension)~0) -#define DEFAULT_TAB_SIZE 8 - -/* displayable text management data structures */ -typedef struct { - XawTextPosition position; - Position y; -#ifndef OLDXAW - unsigned int textWidth; -#else - Dimension textWidth; -#endif -} XawTextLineTableEntry, *XawTextLineTableEntryPtr; - -typedef struct { - XawTextPosition left, right; - XawTextSelectType type; - Atom *selections; - int atom_count; - int array_size; -} XawTextSelection; - -typedef struct _XawTextSelectionSalt { - struct _XawTextSelectionSalt *next; - XawTextSelection s; - /* - * The element "contents" stores the CT string which is gotten in the - * function _XawTextSaltAwaySelection() - */ - char *contents; - int length; -} XawTextSelectionSalt; - -#ifndef OLDXAW -typedef struct _XawTextKillRing { - struct _XawTextKillRing *next; - char *contents; - int length; - unsigned refcount; - unsigned long format; -} XawTextKillRing; - -extern XawTextKillRing *xaw_text_kill_ring; -#endif - -/* Line Tables are n+1 long - last position displayed is in last lt entry */ -typedef struct { - XawTextPosition top; /* Top of the displayed text */ - int lines; /* How many lines in this table */ -#ifndef OLDXAW - int base_line; /* line number of first entry */ -#endif - XawTextLineTableEntry *info; /* A dynamic array, one entry per line */ -} XawTextLineTable, *XawTextLineTablePtr; - -typedef struct _XawTextMargin { - Position left, right, top, bottom; -} XawTextMargin; - -typedef struct _XmuScanline XmuTextUpdate; - -#define VMargins(ctx) ((ctx)->text.margin.top + (ctx)->text.margin.bottom) -#define HMargins(ctx) ((ctx)->text.left_margin + (ctx)->text.margin.right) -#define RVMargins(ctx) ((ctx)->text.r_margin.top + (ctx)->text.r_margin.bottom) -#define RHMargins(ctx) ((ctx)->text.r_margin.left + (ctx)->text.r_margin.right) - -#define IsPositionVisible(ctx, pos) \ -(pos >= ctx->text.lt.info[0].position && \ - pos < ctx->text.lt.info[ctx->text.lt.lines].position) - -/* - * Search & Replace data structure - */ -struct SearchAndReplace { - Boolean selection_changed; /* flag so that the selection cannot be - changed out from underneath query-replace.*/ - Widget search_popup; /* The poppup widget that allows searches.*/ - Widget label1; /* The label widgets for the search window. */ - Widget label2; - Widget left_toggle; /* The left search toggle radioGroup. */ - Widget right_toggle; /* The right search toggle radioGroup. */ - Widget rep_label; /* The Replace label string. */ - Widget rep_text; /* The Replace text field. */ - Widget search_text; /* The Search text field. */ - Widget rep_one; /* The Replace one button. */ - Widget rep_all; /* The Replace all button. */ -#ifndef OLDXAW - Widget case_sensitive; /* The "Case Sensitive" toggle */ -#endif -}; - -/* New fields for the Text widget class record */ -typedef struct { - XtPointer extension; -} TextClassPart; - -/* Full class record declaration */ -typedef struct _TextClassRec { - CoreClassPart core_class; - SimpleClassPart simple_class; - TextClassPart text_class; -} TextClassRec; - -extern TextClassRec textClassRec; - -/* New fields for the Text widget record */ -typedef struct _TextPart { - /* resources */ - Widget source, sink; - XawTextPosition insertPos; - XawTextSelection s; - XawTextSelectType *sarray; /* Array to cycle for selections */ - XawTextSelectionSalt *salt; /* salted away selections */ - int left_margin; - int dialog_horiz_offset, dialog_vert_offset; /* position for popup dialog */ - Boolean display_caret; /* insertion pt visible iff T */ - Boolean auto_fill; /* Auto fill mode? */ - XawTextScrollMode scroll_vert, scroll_horiz; - XawTextWrapMode wrap; /* The type of wrapping */ - XawTextResizeMode resize; - XawTextMargin r_margin; /* The real margins */ -#ifndef OLDXAW - XtCallbackList position_callbacks; -#else - XtPointer pad1; -#endif - - /* private state */ - XawTextMargin margin; /* The current margins */ - XawTextLineTable lt; - XawTextScanDirection extendDir; - XawTextSelection origSel; /* the selection being modified */ - Time lasttime; /* timestamp of last processed action */ - Time time; /* time of last key or button action */ - Position ev_x, ev_y; /* x, y coords for key or button action */ - Widget vbar, hbar; /* The scroll bars (none = NULL) */ - struct SearchAndReplace *search; /* Search and replace structure */ - Widget file_insert; /* The file insert popup widget */ - XmuTextUpdate *update; /* Position intervals to update */ -#ifndef OLDXAW - int line_number; - short column_number; - unsigned char kill_ring; - Boolean selection_state; -#else - XtPointer pad2; - int pad3; -#endif - int from_left; /* Cursor position */ - XawTextPosition lastPos; /* Last position of source */ - GC gc; - Boolean showposition; /* True if we need to show the position */ - Boolean hasfocus; /* TRUE if we currently have input focus*/ - Boolean update_disabled; /* TRUE if display updating turned off */ - Boolean clear_to_eol; /* Clear to eol when painting text? */ - XawTextPosition old_insert; /* Last insertPos for batched updates */ - short mult; /* Multiplier */ -#ifndef OLDXAW - XawTextKillRing *kill_ring_ptr; -#else - XtPointer pad4; -#endif - - /* private state, shared w/Source and Sink */ - Boolean redisplay_needed; /* in SetValues */ - XawTextSelectionSalt *salt2; /* salted away selections */ - -#ifndef OLDXAW - char numeric; - char source_changed; - Boolean overwrite; /* Overwrite mode */ - - /* new resources and states, for text edition - * Note: a fixed width font is required for these resources/states. - */ - short left_column, right_column; - XawTextJustifyMode justify; - XtPointer pad[4]; /* for future use and keep binary compatability */ -#endif -} TextPart; - -#define XtRWrapMode "WrapMode" -#define XtRScrollMode "ScrollMode" -#define XtRResizeMode "ResizeMode" -#define XtRJustifyMode "JustifyMode" - -/* full instance record */ -typedef struct _TextRec { - CorePart core; - SimplePart simple; - TextPart text; -} TextRec; - -/* - * Semi-private functions - * for use by other Xaw modules only - */ -void _XawTextBuildLineTable -( - TextWidget ctx, - XawTextPosition top_pos, - _XtBoolean force_rebuild - ); - -char *_XawTextGetSTRING -( - TextWidget ctx, - XawTextPosition left, - XawTextPosition right - ); - -void _XawTextSaltAwaySelection -( - TextWidget ctx, - Atom *selections, - int num_atoms - ); - -void _XawTextPosToXY -( - Widget w, - XawTextPosition pos, - Position *x, - Position *y - ); - -void _XawTextNeedsUpdating -( - TextWidget ctx, - XawTextPosition left, - XawTextPosition right - ); - -_XFUNCPROTOEND - -#endif /* _XawTextP_h */ |