123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- /*
- * CDE - Common Desktop Environment
- *
- * Copyright (c) 1993-2012, The Open Group. All rights reserved.
- *
- * These libraries and programs are free software; you can
- * redistribute them and/or modify them under the terms of the GNU
- * Lesser General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * These libraries and programs are distributed in the hope that
- * they will be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with these libraries and programs; if not, write
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
- * Floor, Boston, MA 02110-1301 USA
- */
- /* $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 */
- long 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 */
|