Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
242
cde/lib/DtHelp/DisplayAreaP.h
Normal file
242
cde/lib/DtHelp/DisplayAreaP.h
Normal file
@@ -0,0 +1,242 @@
|
||||
/* $XConsortium: DisplayAreaP.h /main/18 1996/08/13 11:35:51 cde-hp $ */
|
||||
/************************************<+>*************************************
|
||||
****************************************************************************
|
||||
**
|
||||
** File: DisplayAreaP.h
|
||||
**
|
||||
** Project: Cde Help System
|
||||
**
|
||||
** Description: Defines the Display Area structures and defines.
|
||||
**
|
||||
****************************************************************************
|
||||
************************************<+>*************************************/
|
||||
/*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992,
|
||||
1993, 1994, 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1993, 1994, 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994, 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994, 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
#ifndef _DtHelpDisplayAreaP_h
|
||||
#define _DtHelpDisplayAreaP_h
|
||||
|
||||
#include <X11/X.h>
|
||||
#include <Xm/XmP.h>
|
||||
#include <Dt/CanvasP.h>
|
||||
#include <DtI/GraphicsP.h>
|
||||
|
||||
/*
|
||||
* Traversal flags
|
||||
*/
|
||||
#define _DT_HELP_SHADOW_TRAVERSAL (1 << 0)
|
||||
#define _DT_HELP_NOT_INITIALIZED (1 << 1)
|
||||
#define _DT_HELP_TRAVERSAL_DRAWN (1 << 2)
|
||||
#define _DT_HELP_DRAW_TOC_IND (1 << 3)
|
||||
#define _DT_HELP_CLEAR_TOC_IND (1 << 4)
|
||||
#define _DT_HELP_TOC_ON (1 << 5)
|
||||
|
||||
/*
|
||||
* enum states for selection
|
||||
*/
|
||||
enum _DtHelpSelectState
|
||||
{
|
||||
_DtHelpNothingDoing,
|
||||
_DtHelpCopyOrLink,
|
||||
_DtHelpSelectingText
|
||||
};
|
||||
|
||||
/*
|
||||
* Whether the display area has the focus or not
|
||||
*/
|
||||
#define _DT_HELP_FOCUS_FLAG 0x04
|
||||
|
||||
typedef struct {
|
||||
int used;
|
||||
int num_pixels;
|
||||
Pixmap pix;
|
||||
Pixmap mask;
|
||||
Dimension width;
|
||||
Dimension height;
|
||||
Pixel *pixels;
|
||||
} DtHelpGraphicStruct;
|
||||
|
||||
typedef struct {
|
||||
_DtCvPointer font_ptr;
|
||||
int spc_idx;
|
||||
} DtHelpSpecialChars;
|
||||
|
||||
typedef struct _dtHelpDAFontMetrics {
|
||||
_DtCvUnit ascent; /* Maximum ascent */
|
||||
_DtCvUnit descent; /* Maximum descent */
|
||||
_DtCvUnit average_width; /* Average width of a character */
|
||||
_DtCvUnit super; /* Offset from baseline for super scripts */
|
||||
_DtCvUnit sub; /* Offset from baseline for sub scripts */
|
||||
} _DtHelpDAFontMetrics;
|
||||
|
||||
typedef struct {
|
||||
short inited;
|
||||
_DtHelpDAFontMetrics fm;
|
||||
} DtHelpDAFSMetrics;
|
||||
|
||||
typedef struct _DtHelpDAfontInfo {
|
||||
char **exact_fonts; /* the list of fonts specified by the
|
||||
toss element rather than hints. */
|
||||
XrmDatabase def_font_db; /* The default font resource db */
|
||||
XrmDatabase font_idx_db; /* Which font index goes with which
|
||||
set of font resources */
|
||||
XFontStruct **font_structs; /* The font structures opened */
|
||||
XFontSet *font_sets; /* The font sets opened */
|
||||
DtHelpDAFSMetrics *fs_metrics;
|
||||
|
||||
XrmQuark lang_charset; /* the char set for current lang */
|
||||
int *exact_idx; /* The indexes for the exact fonts */
|
||||
int max_structs; /* the max number of font_structs */
|
||||
int max_sets; /* The max number of font_sets */
|
||||
int struct_cnt; /* the cur number of font_structs */
|
||||
int set_cnt; /* The cur number of font_sets */
|
||||
int def_idx; /* The default index */
|
||||
} DtHelpDAFontInfo;
|
||||
|
||||
/*
|
||||
* SelectionScroll structure
|
||||
*/
|
||||
typedef struct {
|
||||
int horizontal_reason;
|
||||
int vertical_reason;
|
||||
} SelectionScrollStruct;
|
||||
|
||||
/*
|
||||
* DisplayArea structure
|
||||
*/
|
||||
typedef struct _dtHelpDispAreaStruct {
|
||||
Widget dispWid; /* The text and graphic area. */
|
||||
Widget vertScrollWid; /* The vertical scroll bar */
|
||||
Widget horzScrollWid; /* The horizontal scroll bar */
|
||||
Boolean vertIsMapped;
|
||||
Boolean horzIsMapped;
|
||||
short neededFlags; /* _DtHelpAS_NEEDED flags */
|
||||
short nl_to_space; /* are newlines in multibyte */
|
||||
/* strings turned into spaces? */
|
||||
|
||||
Dimension formWidth; /* Pixel width of the parent area */
|
||||
Dimension formHeight; /* Pixel height of the parent area */
|
||||
Dimension dispWidth; /* Pixel width of the display area */
|
||||
Dimension dispHeight; /* Pixel height of the display area */
|
||||
Dimension dispUseHeight; /* Pixel height of the display area
|
||||
minus the decor margin. */
|
||||
Dimension dispUseWidth; /* Pixel width of the display area
|
||||
minus the decor margin. */
|
||||
Dimension marginWidth; /* Pixel padding at the left and
|
||||
right of the display area. */
|
||||
Dimension marginHeight; /* Pixel padding at the top and
|
||||
bottom of the display area. */
|
||||
|
||||
short decorThickness; /* the shadow thickness plus highlight
|
||||
thickness of the display area */
|
||||
|
||||
void (*hyperCall)(); /* The hypertext callback */
|
||||
void (*resizeCall)(); /* The resize callback */
|
||||
int (*exec_filter)(); /* The execution filter callback */
|
||||
XtPointer clientData; /* The client's data for the callback */
|
||||
|
||||
Pixel traversalColor; /* The client's traversal color */
|
||||
Pixel foregroundColor; /* The client's foreground color */
|
||||
Pixel backgroundColor; /* The client's foreground color */
|
||||
Pixel searchColor; /* The client's search hilite color */
|
||||
GC pixmapGC;
|
||||
GC normalGC;
|
||||
GC invertGC;
|
||||
Pixmap def_pix; /* the default 'missing pixmap' */
|
||||
Dimension def_pix_width; /* the width of the default pixmap */
|
||||
Dimension def_pix_height; /* the height of the default pixmap */
|
||||
_DtGrContext *context; /* image converter context */
|
||||
|
||||
Colormap colormap; /* The colormap to use */
|
||||
Visual *visual; /* The visual to use */
|
||||
|
||||
DtHelpDAFontInfo font_info; /* The font information */
|
||||
|
||||
int depth; /* The depth of the window */
|
||||
|
||||
int fontAscent;
|
||||
int lineHeight;
|
||||
int leading;
|
||||
long charWidth; /* The average size of a character */
|
||||
int moveThreshold; /* The number of pixels that must
|
||||
be moved before a copy-paste
|
||||
action occurs. */
|
||||
int underLine;
|
||||
int lineThickness; /* For traversal box and underline */
|
||||
int firstVisible; /* The absolute number of the first
|
||||
line visible in the window. */
|
||||
int nextNonVisible; /* The absolute number of the first
|
||||
line non visible, next to the last
|
||||
visible window. */
|
||||
int visibleCount; /* The number of lines viewable */
|
||||
int maxYpos; /* Maximum Y positioning */
|
||||
|
||||
int virtualX; /* The virtual x of the window */
|
||||
int maxX; /* The max virtual x of a line */
|
||||
|
||||
int max_spc; /* The maximum special characters */
|
||||
int cur_spc; /* The current unused structure */
|
||||
int timerX; /* Used for button clicks/selections */
|
||||
int timerY; /* Used for button clicks/selections */
|
||||
int scr_timer_x; /* Used for button clicks/selections */
|
||||
int scr_timer_y; /* Used for button clicks/selections */
|
||||
int vert_init_scr; /* The initial vert scrolling timeout*/
|
||||
int vert_rep_scr; /* The repeat vert scrolling timeout */
|
||||
int horz_init_scr; /* The initial horz scrolling timeout*/
|
||||
int horz_rep_scr; /* The repeat horz scrolling timeout */
|
||||
_DtCvUnit toc_width; /* The width of the toc indicator */
|
||||
_DtCvUnit toc_height; /* The height of the toc indicator */
|
||||
_DtCvUnit toc_y; /* The y coordinate of the toc */
|
||||
_DtCvUnit toc_base; /* The baseline coordinate of the toc*/
|
||||
|
||||
Time anchor_time; /* Indicates the primary selection
|
||||
time. */
|
||||
Boolean primary; /* Indicates if this widget has the
|
||||
primary selection */
|
||||
Boolean text_selected; /* Indicates if the selection has
|
||||
occurred */
|
||||
enum _DtHelpSelectState select_state;
|
||||
/* Indicates the state of the current
|
||||
selection. */
|
||||
short toc_flag; /* Indicates if the traversal indicator
|
||||
is always on. */
|
||||
_DtCvPointer toc_indicator; /* The indicator used in the toc */
|
||||
|
||||
XtIntervalId scr_timer_id;
|
||||
SelectionScrollStruct scr_timer_data;
|
||||
DtHelpSpecialChars *spc_chars; /* Structure containing the spc chars */
|
||||
_DtCvHandle canvas;
|
||||
_DtCvTopicPtr lst_topic;
|
||||
wchar_t *cant_begin_chars; /* characters that cannot */
|
||||
/* begin a line of text */
|
||||
wchar_t *cant_end_chars; /* characters that cannot */
|
||||
/* end a line of text */
|
||||
|
||||
short dtinfo; /* Indicates if being used by dtinfo */
|
||||
Pixmap stipple; /* stippled pixmap */
|
||||
|
||||
/* callback to be called whenever you manipulate the display */
|
||||
/* area's vertical scrollbar directly using XtSetValues, */
|
||||
/* because the application (dtinfo) has callbacks on the */
|
||||
/* scrollbar, these do not get called when we adjust it with */
|
||||
/* XtSetValues() */
|
||||
void (*vScrollNotify)(void *,unsigned int);
|
||||
|
||||
/* dtinfo requires this for doing link previews */
|
||||
void (*armCallback)(void*);
|
||||
|
||||
_DtCvValue honor_size; /* Layout parameter for _DtCvSetTopic */
|
||||
_DtCvRenderType render_type; /* Render type performed on expose */
|
||||
unsigned short media_resolution; /* used for scaling images */
|
||||
|
||||
} DtHelpDispAreaStruct;
|
||||
|
||||
#endif /* _DtHelpDisplayAreaP_h */
|
||||
Reference in New Issue
Block a user