diff options
Diffstat (limited to 'X11/Xaw/TextSinkP.h')
-rw-r--r-- | X11/Xaw/TextSinkP.h | 600 |
1 files changed, 300 insertions, 300 deletions
diff --git a/X11/Xaw/TextSinkP.h b/X11/Xaw/TextSinkP.h index 7c86d4b4f..78f41d29c 100644 --- a/X11/Xaw/TextSinkP.h +++ b/X11/Xaw/TextSinkP.h @@ -1,300 +1,300 @@ -/***********************************************************
-
-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.
-
-******************************************************************/
-
-#ifndef _XawTextSinkP_h
-#define _XawTextSinkP_h
-
-/*
- * TextSink Object Private Data
- */
-#include <X11/Xaw/TextSink.h>
-#include <X11/Xaw/TextP.h> /* This sink works with the Text widget */
-#include <X11/Xaw/TextSrcP.h> /* This sink works with the Text Source */
-#include <X11/Xmu/Xmu.h>
-
-#ifndef OLDXAW
-/* font/fontset defined? */
-#define XAW_TPROP_FONT (1<<0)
-#define XAW_TPROP_FONTSET (1<<1)
-
-/* extra attributes */
-#define XAW_TPROP_FOREGROUND (1<<2)
-#define XAW_TPROP_BACKGROUND (1<<3)
-#define XAW_TPROP_FPIXMAP (1<<4)
-#define XAW_TPROP_BPIXMAP (1<<5)
-#define XAW_TPROP_UNDERLINE (1<<6)
-#define XAW_TPROP_OVERSTRIKE (1<<7)
-#define XAW_TPROP_SUBSCRIPT (1<<8)
-#define XAW_TPROP_SUPERSCRIPT (1<<9)
-
-/* xlfd attributes */
-#define XAW_TPROP_FOUNDRY (1<<0)
-#define XAW_TPROP_FAMILY (1<<1)
-#define XAW_TPROP_WEIGHT (1<<2)
-#define XAW_TPROP_SLANT (1<<3)
-#define XAW_TPROP_SETWIDTH (1<<4)
-#define XAW_TPROP_ADDSTYLE (1<<5)
-#define XAW_TPROP_PIXELSIZE (1<<6)
-#define XAW_TPROP_POINTSIZE (1<<7)
-#define XAW_TPROP_RESX (1<<8)
-#define XAW_TPROP_RESY (1<<9)
-#define XAW_TPROP_SPACING (1<<10)
-#define XAW_TPROP_AVGWIDTH (1<<11)
-#define XAW_TPROP_REGISTRY (1<<12)
-#define XAW_TPROP_ENCODING (1<<13)
-struct _XawTextProperty { /* to be extended/modified */
- XrmQuark identifier, code;
- unsigned long mask;
- XFontStruct *font;
- XFontSet fontset;
- Pixel foreground, background;
- Pixmap foreground_pixmap, background_pixmap;
- XrmQuark xlfd;
-
- unsigned long xlfd_mask;
- XrmQuark foundry, family, weight, slant, setwidth, addstyle, pixel_size,
- point_size, res_x, res_y, spacing, avgwidth, registry, encoding;
-
- short underline_position, underline_thickness;
-};
-
-struct _XawTextPropertyList {
- XrmQuark identifier;
- Screen *screen;
- Colormap colormap;
- int depth;
- XawTextProperty **properties;
- Cardinal num_properties;
- XawTextPropertyList *next;
-};
-
-typedef struct _XawTextPaintStruct XawTextPaintStruct;
-struct _XawTextPaintStruct {
- XawTextPaintStruct *next;
- int x, y, width;
- char *text; /* formatted text */
- Cardinal length; /* length of text */
- XawTextProperty *property;
- int max_ascent, max_descent;
- XmuArea *backtabs;
- Boolean highlight;
-};
-
-typedef struct {
- XmuArea *clip, *hightabs; /* clip list */
- XawTextPaintStruct *paint, *bearings; /* drawing information */
-} XawTextPaintList;
-
-typedef struct {
- XtPointer next_extension;
- XrmQuark record_type;
- long version;
- Cardinal record_size;
- Bool (*BeginPaint)(Widget);
- void (*PreparePaint)(Widget, int, int,
- XawTextPosition, XawTextPosition, Bool);
- void (*DoPaint)(Widget);
- Bool (*EndPaint)(Widget);
-} TextSinkExtRec, *TextSinkExt;
-#endif
-
-typedef void (*_XawSinkDisplayTextProc)
- (Widget, int, int, XawTextPosition, XawTextPosition, Bool);
-
-typedef void (*_XawSinkInsertCursorProc)
- (Widget, int, int, XawTextInsertState);
-
-typedef void (*_XawSinkClearToBackgroundProc)
- (Widget, int, int, unsigned int, unsigned int);
-
-typedef void (*_XawSinkFindPositionProc)
- (Widget, XawTextPosition, int, int, Bool, XawTextPosition*, int*, int*);
-
-typedef void (*_XawSinkFindDistanceProc)
- (Widget, XawTextPosition, int, XawTextPosition, int*,
- XawTextPosition*, int*);
-
-typedef void (*_XawSinkResolveProc)
- (Widget, XawTextPosition, int, int, XawTextPosition*);
-
-typedef int (*_XawSinkMaxLinesProc)
- (Widget, unsigned int);
-
-typedef int (*_XawSinkMaxHeightProc)
- (Widget, int);
-
-typedef void (*_XawSinkSetTabsProc)
- (Widget, int, short*);
-
-typedef void (*_XawSinkGetCursorBoundsProc)
- (Widget, XRectangle*);
-
-typedef struct _TextSinkClassPart {
- _XawSinkDisplayTextProc DisplayText;
- _XawSinkInsertCursorProc InsertCursor;
- _XawSinkClearToBackgroundProc ClearToBackground;
- _XawSinkFindPositionProc FindPosition;
- _XawSinkFindDistanceProc FindDistance;
- _XawSinkResolveProc Resolve;
- _XawSinkMaxLinesProc MaxLines;
- _XawSinkMaxHeightProc MaxHeight;
- _XawSinkSetTabsProc SetTabs;
- _XawSinkGetCursorBoundsProc GetCursorBounds;
-#ifndef OLDXAW
- TextSinkExt extension;
-#endif
-} TextSinkClassPart;
-
-/* Full class record */
-typedef struct _TextSinkClassRec {
- ObjectClassPart object_class;
- TextSinkClassPart text_sink_class;
-} TextSinkClassRec;
-
-extern TextSinkClassRec textSinkClassRec;
-
-/* New fields for the TextSink object */
-typedef struct {
- /* resources */
- Pixel foreground; /* Foreground color */
- Pixel background; /* Background color */
-
- /* private */
- Position *tabs; /* The tab stops as pixel values */
- short *char_tabs; /* The tabs stops as character values */
- int tab_count; /* number of items in tabs */
-
-#ifndef OLDXAW
- /* more resources */
- Pixel cursor_color;
- XawTextPropertyList *properties;
- XawTextPaintList *paint;
- XtPointer pad[2]; /* for future use and keep binary compatability */
-#endif
-} TextSinkPart;
-
-/* Full instance record */
-typedef struct _TextSinkRec {
- ObjectPart object;
- TextSinkPart text_sink;
-} TextSinkRec;
-
-/* Semi private routines */
-#ifndef OLDXAW
-XawTextPropertyList *XawTextSinkConvertPropertyList
-(
- String name,
- String spec,
- Screen *screen,
- Colormap Colormap,
- int depth
- );
-
-XawTextProperty *XawTextSinkGetProperty
-(
- Widget w,
- XrmQuark property
- );
-
-XawTextProperty *XawTextSinkCopyProperty
-(
- Widget w,
- XrmQuark property
- );
-
-XawTextProperty *XawTextSinkAddProperty
-(
- Widget w,
- XawTextProperty *property
- );
-
-XawTextProperty *XawTextSinkCombineProperty
-(
- Widget w,
- XawTextProperty *result_in_out,
- XawTextProperty *property,
- Bool override
- );
-
-Bool XawTextSinkBeginPaint
-(
- Widget w
- );
-
-void XawTextSinkPreparePaint
-(
- Widget w,
- int y,
- int line,
- XawTextPosition from,
- XawTextPosition to,
- Bool highlight
-);
-
-void XawTextSinkDoPaint
-(
- Widget w
- );
-
-Bool XawTextSinkEndPaint
-(
- Widget w
- );
-#endif
-
-#define XtInheritDisplayText ((_XawSinkDisplayTextProc)_XtInherit)
-#define XtInheritInsertCursor ((_XawSinkInsertCursorProc)_XtInherit)
-#define XtInheritClearToBackground ((_XawSinkClearToBackgroundProc)_XtInherit)
-#define XtInheritFindPosition ((_XawSinkFindPositionProc)_XtInherit)
-#define XtInheritFindDistance ((_XawSinkFindDistanceProc)_XtInherit)
-#define XtInheritResolve ((_XawSinkResolveProc)_XtInherit)
-#define XtInheritMaxLines ((_XawSinkMaxLinesProc)_XtInherit)
-#define XtInheritMaxHeight ((_XawSinkMaxHeightProc)_XtInherit)
-#define XtInheritSetTabs ((_XawSinkSetTabsProc)_XtInherit)
-#define XtInheritGetCursorBounds ((_XawSinkGetCursorBoundsProc)_XtInherit)
-
-#endif /* _XawTextSinkP_h */
+/*********************************************************** + +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. + +******************************************************************/ + +#ifndef _XawTextSinkP_h +#define _XawTextSinkP_h + +/* + * TextSink Object Private Data + */ +#include <X11/Xaw/TextSink.h> +#include <X11/Xaw/TextP.h> /* This sink works with the Text widget */ +#include <X11/Xaw/TextSrcP.h> /* This sink works with the Text Source */ +#include <X11/Xmu/Xmu.h> + +#ifndef OLDXAW +/* font/fontset defined? */ +#define XAW_TPROP_FONT (1<<0) +#define XAW_TPROP_FONTSET (1<<1) + +/* extra attributes */ +#define XAW_TPROP_FOREGROUND (1<<2) +#define XAW_TPROP_BACKGROUND (1<<3) +#define XAW_TPROP_FPIXMAP (1<<4) +#define XAW_TPROP_BPIXMAP (1<<5) +#define XAW_TPROP_UNDERLINE (1<<6) +#define XAW_TPROP_OVERSTRIKE (1<<7) +#define XAW_TPROP_SUBSCRIPT (1<<8) +#define XAW_TPROP_SUPERSCRIPT (1<<9) + +/* xlfd attributes */ +#define XAW_TPROP_FOUNDRY (1<<0) +#define XAW_TPROP_FAMILY (1<<1) +#define XAW_TPROP_WEIGHT (1<<2) +#define XAW_TPROP_SLANT (1<<3) +#define XAW_TPROP_SETWIDTH (1<<4) +#define XAW_TPROP_ADDSTYLE (1<<5) +#define XAW_TPROP_PIXELSIZE (1<<6) +#define XAW_TPROP_POINTSIZE (1<<7) +#define XAW_TPROP_RESX (1<<8) +#define XAW_TPROP_RESY (1<<9) +#define XAW_TPROP_SPACING (1<<10) +#define XAW_TPROP_AVGWIDTH (1<<11) +#define XAW_TPROP_REGISTRY (1<<12) +#define XAW_TPROP_ENCODING (1<<13) +struct _XawTextProperty { /* to be extended/modified */ + XrmQuark identifier, code; + unsigned long mask; + XFontStruct *font; + XFontSet fontset; + Pixel foreground, background; + Pixmap foreground_pixmap, background_pixmap; + XrmQuark xlfd; + + unsigned long xlfd_mask; + XrmQuark foundry, family, weight, slant, setwidth, addstyle, pixel_size, + point_size, res_x, res_y, spacing, avgwidth, registry, encoding; + + short underline_position, underline_thickness; +}; + +struct _XawTextPropertyList { + XrmQuark identifier; + Screen *screen; + Colormap colormap; + int depth; + XawTextProperty **properties; + Cardinal num_properties; + XawTextPropertyList *next; +}; + +typedef struct _XawTextPaintStruct XawTextPaintStruct; +struct _XawTextPaintStruct { + XawTextPaintStruct *next; + int x, y, width; + char *text; /* formatted text */ + Cardinal length; /* length of text */ + XawTextProperty *property; + int max_ascent, max_descent; + XmuArea *backtabs; + Boolean highlight; +}; + +typedef struct { + XmuArea *clip, *hightabs; /* clip list */ + XawTextPaintStruct *paint, *bearings; /* drawing information */ +} XawTextPaintList; + +typedef struct { + XtPointer next_extension; + XrmQuark record_type; + long version; + Cardinal record_size; + Bool (*BeginPaint)(Widget); + void (*PreparePaint)(Widget, int, int, + XawTextPosition, XawTextPosition, Bool); + void (*DoPaint)(Widget); + Bool (*EndPaint)(Widget); +} TextSinkExtRec, *TextSinkExt; +#endif + +typedef void (*_XawSinkDisplayTextProc) + (Widget, int, int, XawTextPosition, XawTextPosition, Bool); + +typedef void (*_XawSinkInsertCursorProc) + (Widget, int, int, XawTextInsertState); + +typedef void (*_XawSinkClearToBackgroundProc) + (Widget, int, int, unsigned int, unsigned int); + +typedef void (*_XawSinkFindPositionProc) + (Widget, XawTextPosition, int, int, Bool, XawTextPosition*, int*, int*); + +typedef void (*_XawSinkFindDistanceProc) + (Widget, XawTextPosition, int, XawTextPosition, int*, + XawTextPosition*, int*); + +typedef void (*_XawSinkResolveProc) + (Widget, XawTextPosition, int, int, XawTextPosition*); + +typedef int (*_XawSinkMaxLinesProc) + (Widget, unsigned int); + +typedef int (*_XawSinkMaxHeightProc) + (Widget, int); + +typedef void (*_XawSinkSetTabsProc) + (Widget, int, short*); + +typedef void (*_XawSinkGetCursorBoundsProc) + (Widget, XRectangle*); + +typedef struct _TextSinkClassPart { + _XawSinkDisplayTextProc DisplayText; + _XawSinkInsertCursorProc InsertCursor; + _XawSinkClearToBackgroundProc ClearToBackground; + _XawSinkFindPositionProc FindPosition; + _XawSinkFindDistanceProc FindDistance; + _XawSinkResolveProc Resolve; + _XawSinkMaxLinesProc MaxLines; + _XawSinkMaxHeightProc MaxHeight; + _XawSinkSetTabsProc SetTabs; + _XawSinkGetCursorBoundsProc GetCursorBounds; +#ifndef OLDXAW + TextSinkExt extension; +#endif +} TextSinkClassPart; + +/* Full class record */ +typedef struct _TextSinkClassRec { + ObjectClassPart object_class; + TextSinkClassPart text_sink_class; +} TextSinkClassRec; + +extern TextSinkClassRec textSinkClassRec; + +/* New fields for the TextSink object */ +typedef struct { + /* resources */ + Pixel foreground; /* Foreground color */ + Pixel background; /* Background color */ + + /* private */ + Position *tabs; /* The tab stops as pixel values */ + short *char_tabs; /* The tabs stops as character values */ + int tab_count; /* number of items in tabs */ + +#ifndef OLDXAW + /* more resources */ + Pixel cursor_color; + XawTextPropertyList *properties; + XawTextPaintList *paint; + XtPointer pad[2]; /* for future use and keep binary compatability */ +#endif +} TextSinkPart; + +/* Full instance record */ +typedef struct _TextSinkRec { + ObjectPart object; + TextSinkPart text_sink; +} TextSinkRec; + +/* Semi private routines */ +#ifndef OLDXAW +XawTextPropertyList *XawTextSinkConvertPropertyList +( + String name, + String spec, + Screen *screen, + Colormap Colormap, + int depth + ); + +XawTextProperty *XawTextSinkGetProperty +( + Widget w, + XrmQuark property + ); + +XawTextProperty *XawTextSinkCopyProperty +( + Widget w, + XrmQuark property + ); + +XawTextProperty *XawTextSinkAddProperty +( + Widget w, + XawTextProperty *property + ); + +XawTextProperty *XawTextSinkCombineProperty +( + Widget w, + XawTextProperty *result_in_out, + XawTextProperty *property, + Bool override + ); + +Bool XawTextSinkBeginPaint +( + Widget w + ); + +void XawTextSinkPreparePaint +( + Widget w, + int y, + int line, + XawTextPosition from, + XawTextPosition to, + Bool highlight +); + +void XawTextSinkDoPaint +( + Widget w + ); + +Bool XawTextSinkEndPaint +( + Widget w + ); +#endif + +#define XtInheritDisplayText ((_XawSinkDisplayTextProc)_XtInherit) +#define XtInheritInsertCursor ((_XawSinkInsertCursorProc)_XtInherit) +#define XtInheritClearToBackground ((_XawSinkClearToBackgroundProc)_XtInherit) +#define XtInheritFindPosition ((_XawSinkFindPositionProc)_XtInherit) +#define XtInheritFindDistance ((_XawSinkFindDistanceProc)_XtInherit) +#define XtInheritResolve ((_XawSinkResolveProc)_XtInherit) +#define XtInheritMaxLines ((_XawSinkMaxLinesProc)_XtInherit) +#define XtInheritMaxHeight ((_XawSinkMaxHeightProc)_XtInherit) +#define XtInheritSetTabs ((_XawSinkSetTabsProc)_XtInherit) +#define XtInheritGetCursorBounds ((_XawSinkGetCursorBoundsProc)_XtInherit) + +#endif /* _XawTextSinkP_h */ |