Ok - so one of the steps in building CDE is an early phase called the includes phase (make includes). At this point, all of the public header files are exported to exports/include/Dt, DtI, ... Then, the software is built using that include dir. This of course does not work in autotools. Much of the software does things like #include <Dt/something.h>, so in order for the build to succeed, this behavior must be represented/replicated in some way. It seems the usual way of dealing with this is to place all public headers (and in some projects, ALL headers) into a toplevel include directory. We now do this for all public headers - they have been moved from wherever they were and placed in the appropriate spot in includes/ This will break the Imake 'make includes' phase unless the Imakefiles are fixed (remove the HEADERS = stuff, and the incdir defines). This has not been done at this point since in reality, once autotools works properly, there will be no need for the Imake stuff anymore, and I intend to get rid of it. This is just a warning for now - Imake builds in this tree will now fail at the 'includes' stage. This commit is only the migration. In upcoming commits, libtt will be fixed so that the hack being used before to get around this problem is removed as there will no longer be any need. And then the autotools work continues...
265 lines
9.7 KiB
C
265 lines
9.7 KiB
C
/*
|
|
* 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 */
|