1997-12-17 10:43:31 +00:00
|
|
|
/*******************************************************************************
|
|
|
|
* Copyright 1991, 1992, 1993, 1994, 1995 by ORCA Software, Inc. *
|
|
|
|
* *
|
|
|
|
* All rights reserved. May not be reproduced or distributed, in printed or *
|
|
|
|
* electronic form, without permission of ORCA Software, Inc. May not be *
|
|
|
|
* distributed as object code, separately or linked with other object modules, *
|
|
|
|
* without permission. *
|
|
|
|
*******************************************************************************/
|
|
|
|
|
|
|
|
#ifndef INCL_XI
|
|
|
|
#define INCL_XI
|
|
|
|
|
|
|
|
#define OLDXVT_H
|
|
|
|
#ifndef XVT_INCL_XVT
|
|
|
|
#include "xvt.h"
|
|
|
|
#endif
|
|
|
|
#ifndef GRWS
|
|
|
|
#define GRWS 9999
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (defined(XVT_PTK_VERSION_MAJOR) && XVT_PTK_VERSION_MAJOR >= 4)
|
|
|
|
#define R4
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define R4FONT
|
|
|
|
|
|
|
|
#ifndef TABLE_INCL
|
|
|
|
#ifdef XI_INTERNAL
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
short font_dummy;
|
|
|
|
} *FONT;
|
|
|
|
#else
|
|
|
|
typedef void FONT;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
typedef XVT_FNTID FONT_OBJ;
|
|
|
|
|
|
|
|
|
|
|
|
#if XVTWS == NTWS
|
|
|
|
#define XIWS WINWS
|
|
|
|
#else
|
|
|
|
#define XIWS XVTWS
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (XIWS == MTFWS || XIWS == XOLWS)
|
|
|
|
#define near
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef XVT_OS_CTOS
|
|
|
|
#define XVT_OS_CTOS 9999
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if XVT_OS != XVT_OS_CTOS
|
|
|
|
#ifdef XVTENTRY
|
|
|
|
#undef XVTENTRY
|
|
|
|
#endif
|
|
|
|
#define XVTENTRY
|
|
|
|
#ifdef BTCENTRY
|
|
|
|
#undef BTCENTRY
|
|
|
|
#endif
|
|
|
|
#define BTCENTRY
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define XI_VERSION "3.3"
|
|
|
|
#define XI_VERSION_NBR 3.3
|
|
|
|
|
|
|
|
#define XI_IS_CH (XIWS == WMWS) || (XVT_OS == XVT_OS_CTOS)
|
|
|
|
#define XI_IS_NOT_CH (XIWS != WMWS) || (XVT_OS == XVT_OS_CTOS)
|
|
|
|
#define XI_IS_PM (XIWS == PMWS) || (XVT_OS == XVT_OS_CTOS)
|
|
|
|
|
|
|
|
#if XVT_OS == XVT_OS_CTOS
|
|
|
|
#define CTOS_IS_CH if (npctos_env == CHSERVICE) {
|
|
|
|
#define CTOS_IS_PM if (npctos_env == PMSERVICE) {
|
|
|
|
#define CTOS_END }
|
|
|
|
#else
|
|
|
|
#define CTOS_IS_CH
|
|
|
|
#define CTOS_IS_PM
|
|
|
|
#define CTOS_END
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if XI_IS_PM
|
|
|
|
#define gmemset memset
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define gmemset memset
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
#if defined(M_I86MM) || defined(__MEDIUM__)
|
|
|
|
#define gmemset memset
|
|
|
|
#define assert4(a,b,c,d)
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/******************************************************************
|
|
|
|
Miscellaneous
|
|
|
|
******************************************************************/
|
|
|
|
#define MEMCLEAR(x) gmemset((char *)&(x), '\0', (size_t)sizeof(x))
|
|
|
|
|
|
|
|
/* FORM UNITS */
|
|
|
|
#define XI_FU_MULTIPLE 8
|
|
|
|
|
|
|
|
/* character modifier constants */
|
|
|
|
#define XI_MOD_SHIFT 0x10000000L
|
|
|
|
#define XI_MOD_CONTROL 0x20000000L
|
|
|
|
#define XI_MOD_ALT 0x40000000L /* not yet supported */
|
|
|
|
|
|
|
|
#define XI_PASSWORD_CHAR '#'
|
|
|
|
|
|
|
|
#define XI_CURSOR_RESIZE 8001
|
|
|
|
#define XI_CURSOR_HAND 8002
|
|
|
|
#define XI_CURSOR_VRESIZE 8003
|
|
|
|
|
|
|
|
#ifndef COMBO_ICON
|
|
|
|
#define COMBO_ICON 1026
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define HSCROLL_CID_CONST 6000
|
|
|
|
|
|
|
|
typedef enum _e_search_type
|
|
|
|
{
|
|
|
|
XI_SEARCH_FOR_FOCUSABLE,
|
|
|
|
XI_SEARCH_FOR_FIELD,
|
|
|
|
XI_SEARCH_FOR_TAB_CID
|
|
|
|
}
|
|
|
|
XI_SEARCH_TYPE;
|
|
|
|
|
|
|
|
typedef enum _e_next_type
|
|
|
|
{
|
|
|
|
XI_NEXT_FORM_TAB,
|
|
|
|
XI_NEXT_FORM_BACKTAB,
|
|
|
|
XI_NEXT_ITF_TAB,
|
|
|
|
XI_NEXT_ITF_BACKTAB
|
|
|
|
}
|
|
|
|
XI_NEXT_TYPE;
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************
|
|
|
|
These must go first
|
|
|
|
******************************************************************/
|
|
|
|
typedef long LM;
|
|
|
|
typedef long STX;
|
|
|
|
|
|
|
|
/**********************************
|
|
|
|
* XI Manifest constants
|
|
|
|
**********************************/
|
|
|
|
#define XI_ATR_ENABLED 0x1L
|
|
|
|
#define XI_ATR_EDITMENU 0x2L
|
|
|
|
#define XI_ATR_AUTOSELECT 0x4L
|
|
|
|
#define XI_ATR_AUTOSCROLL 0x8L
|
|
|
|
#define XI_ATR_RJUST 0x10L
|
|
|
|
#define XI_ATR_BORDER 0x20L
|
|
|
|
#define XI_ATR_VISIBLE 0x40L
|
|
|
|
#define XI_ATR_FOCUSBORDER 0x80L
|
|
|
|
#define XI_ATR_READONLY 0x100L
|
|
|
|
#define XI_ATR_NAVIGATE 0x200L
|
|
|
|
#define XI_ATR_TABWRAP 0x400L
|
|
|
|
#define XI_ATR_PASSWORD 0x800L
|
|
|
|
#define XI_ATR_SELECTED 0x1000L
|
|
|
|
#define XI_ATR_VCENTER 0x2000L
|
|
|
|
#define XI_ATR_SELECTABLE 0x4000L
|
|
|
|
#define XI_ATR_COL_SELECTABLE 0x8000L
|
|
|
|
#define XI_ATR_HCENTER 0x10000L
|
|
|
|
|
|
|
|
#define XI_MAX_EVENT 100
|
|
|
|
#define XI_NULL_OBJ ((XI_OBJ *)NULL)
|
|
|
|
#define XI_SCROLL_PGUP 1001
|
|
|
|
#define XI_SCROLL_PGDOWN 1002
|
|
|
|
#define XI_SCROLL_FIRST 1003
|
|
|
|
#define XI_SCROLL_LAST 1004
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
extern BOOLEAN xi_false;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/**********************************
|
|
|
|
* XI Types
|
|
|
|
**********************************/
|
|
|
|
typedef PNT XI_PNT; /* XI form coordinates */
|
|
|
|
typedef RCT XI_RCT;
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
short row;
|
|
|
|
short column;
|
|
|
|
} XI_CELL_SPEC;
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
XIC_ENABLED,
|
|
|
|
XIC_BACK,
|
|
|
|
XIC_HILIGHT,
|
|
|
|
XIC_SHADOW,
|
|
|
|
XIC_ACTIVE,
|
|
|
|
XIC_DISABLED,
|
|
|
|
XIC_DISABLED_BACK,
|
|
|
|
XIC_WHITE_SPACE,
|
|
|
|
XIC_ACTIVE_BACK,
|
|
|
|
XIC_FORE
|
|
|
|
}
|
|
|
|
XI_COLOR_PART;
|
|
|
|
|
|
|
|
/**********************************
|
|
|
|
* XI Event callback
|
|
|
|
**********************************/
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
#if ! XVT_CC_PROTO
|
|
|
|
typedef void (* XVT_CALLCONV1 XI_EVENT_HANDLER)();
|
|
|
|
#else
|
|
|
|
#if (XIWS == XOLWS) || (XIWS == MTFWS) || (XIWS == PMWS)
|
|
|
|
typedef void (* XVT_CALLCONV1 XI_EVENT_HANDLER)(void *itf, void *xiev);
|
|
|
|
#else
|
|
|
|
struct _xi_obj;
|
|
|
|
struct _xi_event;
|
|
|
|
typedef void (* XVT_CALLCONV1 XI_EVENT_HANDLER)(struct _xi_obj *itf, struct _xi_event *xiev);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#define XI_CB XI_EVENT_HANDLER
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
// End of extern "C"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*
|
|
|
|
typedef void (*XI_EVENT_HANDLER)(void *itf, void *xiev);
|
|
|
|
*/
|
|
|
|
/**********************************
|
|
|
|
* XI Preferences enumeration
|
|
|
|
**********************************/
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
XI_PREF_OVERLAP,
|
|
|
|
XI_PREF_FORM_TAB_CHAR,
|
|
|
|
XI_PREF_FORM_BACKTAB_CHAR,
|
|
|
|
XI_PREF_SCROLL_INC,
|
|
|
|
XI_PREF_3D_LOOK,
|
|
|
|
XI_PREF_USE_APP_DATA,
|
|
|
|
XI_PREF_AUTOSEL_ON_MOUSE,
|
|
|
|
XI_PREF_CELL_BTN_ICON_X,
|
|
|
|
XI_PREF_CELL_BTN_ICON_Y,
|
|
|
|
XI_PREF_COLUMN_OFFSET,
|
|
|
|
XI_PREF_SB_OFFSET,
|
|
|
|
XI_PREF_SB_WIDTH,
|
|
|
|
XI_PREF_SB_HEIGHT,
|
|
|
|
XI_PREF_SIZE_CURSOR_RID,
|
|
|
|
XI_PREF_HAND_CURSOR_RID,
|
|
|
|
XI_PREF_VSIZE_CURSOR_RID,
|
|
|
|
XI_PREF_COMBO_ICON,
|
|
|
|
XI_PREF_COLOR_LIGHT,
|
|
|
|
XI_PREF_COLOR_CTRL,
|
|
|
|
XI_PREF_COLOR_DARK,
|
|
|
|
XI_PREF_OPTIMIZE_CELL_REQUESTS,
|
|
|
|
XI_PREF_CARET_WIDTH,
|
|
|
|
XI_PREF_TRIPLE_CLICK_TIME,
|
|
|
|
XI_PREF_BUTTON_KEY,
|
|
|
|
XI_PREF_LIMIT_MIN_WIN_SIZE,
|
|
|
|
XI_PREF_DEFAULT_MAX_LINES_IN_CELL,
|
|
|
|
XI_PREF_UNUSED_PREFERENCE,
|
|
|
|
XI_PREF_NATIVE_CTRLS,
|
|
|
|
XI_PREF_ITF_TAB_CHAR,
|
|
|
|
XI_PREF_ITF_BACKTAB_CHAR,
|
|
|
|
XI_PREF_ITF_WS_RIGHT, /* in form units */
|
|
|
|
XI_PREF_ITF_WS_BOTTOM, /* in form units */
|
|
|
|
XI_PREF_VIR_SP_H,
|
|
|
|
XI_PREF_VIR_SP_V,
|
|
|
|
XI_PREF_DBL_PRESSES_BUTTON,
|
|
|
|
XI_PREF_CONTAINER_GRID_WIDTH, /* in pixels */
|
|
|
|
XI_PREF_MULTILINE_QUICK_PASTE,
|
|
|
|
XI_PREF_COLOR_DISABLED,
|
|
|
|
XI_PREF_BUTTON_HEIGHT,
|
|
|
|
XI_PREF_BUTTON_PAD,
|
|
|
|
XI_PREF_HORZ_SPACING,
|
|
|
|
XI_PREF_VERT_SPACING,
|
|
|
|
XI_PREF_HORZ_PIXEL_SPACING,
|
|
|
|
XI_PREF_VERT_PIXEL_SPACING,
|
|
|
|
XI_PREF_ITF_MIN_TOP, /* in pixels */
|
|
|
|
XI_PREF_ITF_MIN_LEFT, /* in pixels */
|
|
|
|
XI_PREF_XIL,
|
|
|
|
XI_PREF_ASSERT_ON_NULL_CID, /* with xi_get_obj */
|
|
|
|
XI_PREF_LASTPREF /* should always be last */
|
|
|
|
}
|
|
|
|
XI_PREF_TYPE;
|
1997-12-17 10:50:23 +00:00
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
AGA_PREF_BTN_COLOR_LIGHT,
|
|
|
|
AGA_PREF_BTN_COLOR_CTRL,
|
|
|
|
AGA_PREF_BTN_COLOR_DARK,
|
|
|
|
AGA_PREF_LASTPREF /* should always be last */
|
|
|
|
}
|
|
|
|
AGA_PREF_TYPE;
|
|
|
|
|
1997-12-17 10:43:31 +00:00
|
|
|
#define XI_NBR_PREFERENCES XI_PREF_LASTPREF
|
1997-12-17 10:50:23 +00:00
|
|
|
#define AGA_NBR_PREFERENCES AGA_PREF_LASTPREF
|
1997-12-17 10:43:31 +00:00
|
|
|
|
|
|
|
/**********************************
|
|
|
|
* XI Object definition structures
|
|
|
|
**********************************/
|
|
|
|
typedef enum _xi_btn_type
|
|
|
|
{
|
|
|
|
XIBT_BUTTON,
|
|
|
|
XIBT_CHECKBOX,
|
|
|
|
XIBT_RADIOBTN,
|
|
|
|
XIBT_TABBTN,
|
|
|
|
XIBT_BUTTON_CHECKBOX,
|
|
|
|
XIBT_BUTTON_RADIOBTN
|
|
|
|
}
|
|
|
|
XI_BTN_TYPE;
|
|
|
|
|
|
|
|
typedef enum _xi_obj_type
|
|
|
|
{
|
|
|
|
XIT_BTN,
|
|
|
|
XIT_CONTAINER,
|
|
|
|
XIT_FORM,
|
|
|
|
XIT_FIELD,
|
|
|
|
XIT_GROUP,
|
|
|
|
XIT_LINE,
|
|
|
|
XIT_RECT,
|
|
|
|
XIT_TEXT,
|
|
|
|
XIT_CELL,
|
|
|
|
XIT_COLUMN,
|
|
|
|
XIT_ITF,
|
|
|
|
XIT_LIST,
|
|
|
|
XIT_ROW
|
|
|
|
}
|
|
|
|
XI_OBJ_TYPE;
|
|
|
|
|
|
|
|
typedef struct _xi_btn_def
|
|
|
|
{
|
|
|
|
XI_BTN_TYPE type;
|
|
|
|
XI_RCT xi_rct;
|
|
|
|
XI_RCT pixel_rect;
|
|
|
|
unsigned long attrib;
|
|
|
|
char* text;
|
|
|
|
int tab_cid;
|
|
|
|
BOOLEAN dflt;
|
|
|
|
int down_icon_rid;
|
|
|
|
int up_icon_rid;
|
|
|
|
int disabled_icon_rid;
|
|
|
|
short icon_x;
|
|
|
|
short icon_y;
|
|
|
|
BOOLEAN checked;
|
|
|
|
COLOR fore_color;
|
|
|
|
BOOLEAN drawable;
|
|
|
|
} XI_BTN_DEF;
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
XI_STACK_HORIZONTAL,
|
|
|
|
XI_STACK_VERTICAL,
|
|
|
|
XI_GRID_HORIZONTAL,
|
|
|
|
XI_GRID_VERTICAL
|
|
|
|
}
|
|
|
|
XI_CONTAINER_ORIENTATION;
|
|
|
|
|
|
|
|
typedef struct _xi_container_def
|
|
|
|
{
|
|
|
|
XI_RCT xi_rct;
|
|
|
|
XI_RCT pixel_rect;
|
|
|
|
XI_CONTAINER_ORIENTATION orientation;
|
|
|
|
int tab_cid;
|
|
|
|
short btn_height; /* in form units */
|
|
|
|
short btn_width; /* in form units */
|
|
|
|
BOOLEAN packed; /* no space btwn btns, overlap 1 pixel in grid */
|
|
|
|
} XI_CONTAINER_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_field_def
|
|
|
|
{
|
|
|
|
XI_PNT pnt; /* form units */
|
|
|
|
short field_width; /* form units */
|
|
|
|
XI_PNT pixel_origin;
|
|
|
|
short pixel_width;
|
|
|
|
short pixel_button_distance;
|
|
|
|
XI_RCT xi_rct; /* if set, use text edit module */
|
|
|
|
unsigned long attrib;
|
|
|
|
int tab_cid;
|
|
|
|
short text_size;
|
|
|
|
COLOR back_color;
|
|
|
|
COLOR enabled_color; /* but inactive */
|
|
|
|
COLOR disabled_color;
|
|
|
|
COLOR disabled_back_color;
|
|
|
|
COLOR active_color;
|
|
|
|
COLOR active_back_color;
|
|
|
|
COLOR hilight_color; /* for well and platform fields */
|
|
|
|
COLOR shadow_color; /* for well and platform fields */
|
|
|
|
BOOLEAN button;
|
|
|
|
BOOLEAN button_on_left;
|
|
|
|
int icon_rid;
|
|
|
|
BOOLEAN well;
|
|
|
|
BOOLEAN platform;
|
|
|
|
BOOLEAN auto_tab;
|
|
|
|
FONT *font;
|
|
|
|
XVT_FNTID font_id;
|
|
|
|
} XI_FIELD_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_form_def
|
|
|
|
{
|
|
|
|
int tab_cid;
|
|
|
|
} XI_FORM_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_group_def
|
|
|
|
{
|
|
|
|
short nbr_cids;
|
|
|
|
int *cids;
|
|
|
|
} XI_GROUP_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_line_def
|
|
|
|
{
|
|
|
|
XI_PNT pnt1;
|
|
|
|
XI_PNT pnt2;
|
|
|
|
XI_PNT pixel_pnt1;
|
|
|
|
XI_PNT pixel_pnt2;
|
|
|
|
COLOR fore_color;
|
|
|
|
COLOR back_color; /* XVT/CH only */
|
|
|
|
BOOLEAN well;
|
|
|
|
unsigned long attrib;
|
|
|
|
} XI_LINE_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_rect_def
|
|
|
|
{
|
|
|
|
XI_RCT xi_rct;
|
|
|
|
XI_RCT pixel_rect;
|
|
|
|
COLOR fore_color;
|
|
|
|
COLOR back_color;
|
|
|
|
COLOR hilight_color;
|
|
|
|
COLOR shadow_color;
|
|
|
|
BOOLEAN well; /* else platform */
|
|
|
|
BOOLEAN ridge;
|
|
|
|
unsigned long attrib;
|
|
|
|
} XI_RECT_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_text_def
|
|
|
|
{
|
|
|
|
XI_RCT xi_rct;
|
|
|
|
XI_RCT pixel_rect;
|
|
|
|
unsigned long attrib;
|
|
|
|
char* text;
|
|
|
|
FONT* font;
|
|
|
|
XVT_FNTID font_id;
|
|
|
|
COLOR fore_color;
|
|
|
|
COLOR back_color;
|
|
|
|
} XI_TEXT_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_column_def
|
|
|
|
{
|
|
|
|
unsigned long attrib;
|
|
|
|
short sort_number;
|
|
|
|
short width; /* form units */
|
|
|
|
short pixel_width; /* alternate, pixel width */
|
|
|
|
short text_size;
|
|
|
|
char *heading_text;
|
|
|
|
BOOLEAN center_heading;
|
|
|
|
BOOLEAN heading_well;
|
|
|
|
BOOLEAN heading_platform;
|
|
|
|
BOOLEAN column_well;
|
|
|
|
BOOLEAN column_platform;
|
|
|
|
short position;
|
|
|
|
FONT *font;
|
|
|
|
XVT_FNTID font_id;
|
|
|
|
int icon_rid;
|
|
|
|
short icon_x;
|
|
|
|
short icon_y;
|
|
|
|
BOOLEAN size_rows;
|
|
|
|
BOOLEAN suppress_update_heading;
|
|
|
|
BOOLEAN suppress_update_cells;
|
|
|
|
BOOLEAN vertical_align_center;
|
|
|
|
BOOLEAN vertical_align_bottom;
|
|
|
|
BOOLEAN wrap_text;
|
|
|
|
BOOLEAN auto_tab;
|
|
|
|
} XI_COLUMN_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_itf_def
|
|
|
|
{
|
|
|
|
XI_EVENT_HANDLER xi_eh;
|
|
|
|
RCT *rctp;
|
|
|
|
char *title;
|
|
|
|
BOOLEAN ctl_size;
|
|
|
|
BOOLEAN ctl_vscroll;
|
|
|
|
BOOLEAN ctl_hscroll;
|
|
|
|
BOOLEAN ctl_close;
|
|
|
|
BOOLEAN ctl_iconized;
|
|
|
|
BOOLEAN ctl_iconizable;
|
|
|
|
int menu_bar_rid;
|
|
|
|
WINDOW win;
|
|
|
|
WINDOW menu_win;
|
|
|
|
BOOLEAN size_win; /* automatically size window win */
|
|
|
|
BOOLEAN edit_menu;
|
|
|
|
COLOR back_color;
|
|
|
|
BOOLEAN automatic_back_color;
|
|
|
|
unsigned long attrib;
|
|
|
|
BOOLEAN virtual_itf;
|
|
|
|
BOOLEAN modal;
|
|
|
|
BOOLEAN size_font_to_win;
|
|
|
|
BOOLEAN tab_on_enter;
|
|
|
|
BOOLEAN use_whitespace;
|
|
|
|
int whitespace_right;
|
|
|
|
int whitespace_bottom;
|
|
|
|
FONT *font;
|
|
|
|
XVT_FNTID font_id;
|
|
|
|
BOOLEAN use_xil_win;
|
|
|
|
} XI_ITF_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_list_def
|
|
|
|
{
|
|
|
|
XI_PNT xi_pnt;
|
|
|
|
short height;
|
|
|
|
short width;
|
|
|
|
XI_PNT pixel_origin;
|
|
|
|
short pixel_height;
|
|
|
|
short pixel_width;
|
|
|
|
unsigned long attrib;
|
|
|
|
COLOR back_color;
|
|
|
|
COLOR enabled_color; /* but inactive */
|
|
|
|
COLOR disabled_color;
|
|
|
|
COLOR disabled_back_color;
|
|
|
|
COLOR active_color;
|
|
|
|
COLOR active_back_color;
|
|
|
|
COLOR white_space_color;
|
|
|
|
COLOR rule_color;
|
|
|
|
BOOLEAN no_heading;
|
|
|
|
BOOLEAN one_row_list;
|
|
|
|
BOOLEAN scroll_bar;
|
|
|
|
BOOLEAN sizable_columns;
|
|
|
|
BOOLEAN movable_columns;
|
|
|
|
BOOLEAN scroll_bar_button;
|
|
|
|
short fixed_columns;
|
|
|
|
int tab_cid;
|
|
|
|
short min_cell_height;
|
|
|
|
short min_heading_height;
|
|
|
|
BOOLEAN no_horz_lines;
|
|
|
|
BOOLEAN no_vert_lines;
|
|
|
|
int start_percent;
|
|
|
|
int first_vis_column;
|
|
|
|
BOOLEAN drop_and_delete;
|
|
|
|
BOOLEAN select_cells;
|
|
|
|
BOOLEAN get_all_records;
|
|
|
|
BOOLEAN keep_all_records;
|
|
|
|
BOOLEAN resize_with_window;
|
|
|
|
FONT *font;
|
|
|
|
XVT_FNTID font_id;
|
|
|
|
int horz_sync_list;
|
|
|
|
int vert_sync_list;
|
|
|
|
BOOLEAN row_focus_border;
|
|
|
|
COLOR row_focus_border_color;
|
|
|
|
int max_lines_in_cell;
|
|
|
|
BOOLEAN single_select;
|
|
|
|
BOOLEAN retain_back_color_on_select;
|
|
|
|
} XI_LIST_DEF;
|
|
|
|
|
|
|
|
typedef struct _xi_obj_def
|
|
|
|
{
|
|
|
|
XI_OBJ_TYPE type;
|
|
|
|
int cid;
|
|
|
|
struct _xi_obj_def *parent;
|
|
|
|
short nbr_children;
|
|
|
|
struct _xi_obj_def * *children;
|
|
|
|
long app_data;
|
|
|
|
long app_data2;
|
|
|
|
union
|
|
|
|
{
|
|
|
|
XI_BTN_DEF *btn;
|
|
|
|
XI_CONTAINER_DEF *container;
|
|
|
|
XI_FORM_DEF *form;
|
|
|
|
XI_FIELD_DEF *field;
|
|
|
|
XI_GROUP_DEF *group;
|
|
|
|
XI_LINE_DEF *line;
|
|
|
|
XI_RECT_DEF *rect;
|
|
|
|
XI_TEXT_DEF *text;
|
|
|
|
XI_COLUMN_DEF *column;
|
|
|
|
XI_ITF_DEF *itf;
|
|
|
|
XI_LIST_DEF *list;
|
|
|
|
} v;
|
|
|
|
} XI_OBJ_DEF;
|
|
|
|
|
|
|
|
/**********************************
|
|
|
|
* XI Events
|
|
|
|
**********************************/
|
|
|
|
typedef enum _xi_event_type
|
|
|
|
{
|
|
|
|
XIE_CHAR_FIELD,
|
|
|
|
XIE_DBL_FIELD,
|
|
|
|
XIE_CHG_FIELD,
|
|
|
|
XIE_OFF_FIELD,
|
|
|
|
XIE_ON_FIELD,
|
|
|
|
XIE_OFF_GROUP,
|
|
|
|
XIE_ON_GROUP,
|
|
|
|
XIE_OFF_FORM,
|
|
|
|
XIE_ON_FORM,
|
|
|
|
XIE_VIR_PAN,
|
|
|
|
XIE_XVT_EVENT,
|
|
|
|
XIE_XVT_POST_EVENT,
|
|
|
|
XIE_INIT,
|
|
|
|
XIE_BUTTON,
|
|
|
|
XIE_CHAR_CELL,
|
|
|
|
XIE_CLEANUP,
|
|
|
|
XIE_CLOSE,
|
|
|
|
XIE_COMMAND,
|
|
|
|
XIE_DBL_CELL,
|
|
|
|
XIE_GET_FIRST,
|
|
|
|
XIE_GET_LAST,
|
|
|
|
XIE_GET_NEXT,
|
|
|
|
XIE_GET_PERCENT,
|
|
|
|
XIE_GET_PREV,
|
|
|
|
XIE_CELL_REQUEST,
|
|
|
|
XIE_CHG_CELL,
|
|
|
|
XIE_OFF_CELL,
|
|
|
|
XIE_ON_CELL,
|
|
|
|
XIE_OFF_ROW,
|
|
|
|
XIE_ON_ROW,
|
|
|
|
XIE_OFF_COLUMN,
|
|
|
|
XIE_ON_COLUMN,
|
|
|
|
XIE_OFF_LIST,
|
|
|
|
XIE_ON_LIST,
|
|
|
|
XIE_REC_ALLOCATE,
|
|
|
|
XIE_REC_FREE,
|
|
|
|
XIE_ROW_SIZE,
|
|
|
|
XIE_SELECT,
|
|
|
|
XIE_UPDATE,
|
|
|
|
XIE_COL_DELETE,
|
|
|
|
XIE_COL_MOVE,
|
|
|
|
XIE_COL_SIZE,
|
|
|
|
XIE_POST_NAVIGATION
|
|
|
|
}
|
|
|
|
XI_EVENT_TYPE;
|
|
|
|
|
|
|
|
struct _xi_obj;
|
|
|
|
|
|
|
|
typedef struct _xi_event
|
|
|
|
{
|
|
|
|
XI_EVENT_TYPE type;
|
|
|
|
BOOLEAN refused;
|
|
|
|
union
|
|
|
|
{
|
|
|
|
EVENT xvte;
|
|
|
|
struct _xi_obj *xi_obj;
|
|
|
|
struct xit_rec_request
|
|
|
|
{
|
|
|
|
struct _xi_obj *list;
|
|
|
|
long spec_rec;
|
|
|
|
long data_rec;
|
|
|
|
short percent;
|
|
|
|
unsigned long attrib;
|
|
|
|
COLOR color;
|
|
|
|
int row_height;
|
|
|
|
BOOLEAN has_focus;
|
|
|
|
} rec_request;
|
|
|
|
struct xit_rec_allocate
|
|
|
|
{
|
|
|
|
struct _xi_obj *list;
|
|
|
|
long record;
|
|
|
|
} rec_allocate;
|
|
|
|
struct xit_rec_free
|
|
|
|
{
|
|
|
|
struct _xi_obj *list;
|
|
|
|
long record;
|
|
|
|
} rec_free;
|
|
|
|
struct xit_get_percent
|
|
|
|
{
|
|
|
|
struct _xi_obj *list;
|
|
|
|
long record;
|
|
|
|
short percent;
|
|
|
|
} get_percent;
|
|
|
|
struct xit_select
|
|
|
|
{
|
|
|
|
struct _xi_obj *xi_obj;
|
|
|
|
BOOLEAN selected;
|
|
|
|
BOOLEAN dbl_click;
|
|
|
|
BOOLEAN shift;
|
|
|
|
BOOLEAN control;
|
|
|
|
int column;
|
|
|
|
long* records;
|
|
|
|
} select;
|
|
|
|
struct xit_cell_request
|
|
|
|
{
|
|
|
|
struct _xi_obj *list;
|
|
|
|
char *s;
|
|
|
|
short len;
|
|
|
|
long rec;
|
|
|
|
short col_nbr;
|
|
|
|
int icon_rid;
|
|
|
|
unsigned long attrib;
|
|
|
|
COLOR color;
|
|
|
|
COLOR back_color;
|
|
|
|
FONT *font;
|
|
|
|
XVT_FNTID font_id;
|
|
|
|
BOOLEAN button;
|
|
|
|
BOOLEAN button_on_left;
|
|
|
|
BOOLEAN button_on_focus;
|
|
|
|
int button_icon_rid;
|
|
|
|
long *records;
|
|
|
|
} cell_request;
|
|
|
|
struct xit_row_size
|
|
|
|
{
|
|
|
|
struct _xi_obj *xi_obj;
|
|
|
|
int new_row_height;
|
|
|
|
} row_size;
|
|
|
|
struct xit_cmd
|
|
|
|
{
|
|
|
|
int tag;
|
|
|
|
BOOLEAN shift;
|
|
|
|
BOOLEAN control;
|
|
|
|
} cmd;
|
|
|
|
struct xit_chr
|
|
|
|
{
|
|
|
|
struct _xi_obj *xi_obj;
|
|
|
|
int ch;
|
|
|
|
BOOLEAN shift;
|
|
|
|
BOOLEAN control;
|
|
|
|
BOOLEAN is_paste;
|
|
|
|
} chr;
|
|
|
|
struct xit_vir_pan
|
|
|
|
{
|
|
|
|
BOOLEAN before_pan; /* else after */
|
|
|
|
int delta_x;
|
|
|
|
int delta_y;
|
|
|
|
} vir_pan;
|
|
|
|
struct xit_column
|
|
|
|
{
|
|
|
|
struct _xi_obj *list;
|
|
|
|
int col_nbr; /* column to move, size, delete */
|
|
|
|
int new_col_nbr;
|
|
|
|
BOOLEAN in_fixed;
|
|
|
|
int new_col_width; /* form units */
|
|
|
|
int new_col_pixel_width; /* form units */
|
|
|
|
} column;
|
|
|
|
long user_data;
|
|
|
|
} v;
|
|
|
|
} XI_EVENT;
|
|
|
|
|
|
|
|
|
|
|
|
/***************************************************
|
|
|
|
* XI Object Macros
|
|
|
|
* Use these macros to fill in the appropriate
|
|
|
|
* fields of an XI_OBJ struct for synthesizing
|
|
|
|
* cells, rows, and columns.
|
|
|
|
***************************************************/
|
|
|
|
#define XI_MAKE_CELL(objp, listobj, row_nbr, column_nbr) \
|
|
|
|
memset((char *)objp, '\0', (size_t)sizeof(XI_OBJ)), \
|
|
|
|
((objp)->itf = (listobj)->parent, \
|
|
|
|
(objp)->parent = listobj, \
|
|
|
|
(objp)->type = XIT_CELL, \
|
|
|
|
(objp)->v.cell.row = row_nbr, \
|
|
|
|
(objp)->v.cell.column = column_nbr, \
|
|
|
|
(objp)->nbr_children = 0)
|
|
|
|
|
|
|
|
#define XI_MAKE_ROW(objp, listobj, row_nbr) \
|
|
|
|
memset((char *)objp, '\0', (size_t)sizeof(XI_OBJ)), \
|
|
|
|
((objp)->itf = (listobj)->parent, \
|
|
|
|
(objp)->parent = listobj, \
|
|
|
|
(objp)->type = XIT_ROW, \
|
|
|
|
(objp)->v.row = row_nbr, \
|
|
|
|
(objp)->nbr_children = 0)
|
|
|
|
|
|
|
|
/***************************************************
|
|
|
|
* XI Object data
|
|
|
|
*
|
|
|
|
* NOTE: Applications cannot use or rely upon data
|
|
|
|
* found in the XI_INTERNAL section of these structures
|
|
|
|
* Applications should use the non-XI_INTERNAL fields
|
|
|
|
* when referring to these objects.
|
|
|
|
*
|
|
|
|
* The cid field is unused for objects of type
|
|
|
|
* XIT_CELL, XIT_ROW and XIT_COLUMN
|
|
|
|
***************************************************/
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
struct _xi_column_data;
|
|
|
|
struct _xi_itf_data;
|
|
|
|
struct _xi_list_data;
|
|
|
|
struct _xi_container_data;
|
|
|
|
struct _xi_btn_data;
|
|
|
|
struct _xi_field_data;
|
|
|
|
struct _xi_form_data;
|
|
|
|
struct _xi_group_data;
|
|
|
|
struct _xi_line_data;
|
|
|
|
struct _xi_rect_data;
|
|
|
|
struct _xi_text_data;
|
|
|
|
#define STRUCT
|
|
|
|
#else
|
|
|
|
#define STRUCT struct
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef struct _xi_cell_data
|
|
|
|
{
|
|
|
|
unsigned char row;
|
|
|
|
unsigned char column;
|
|
|
|
unsigned char is_vert_scrolled;
|
|
|
|
} XI_CELL_DATA;
|
|
|
|
|
|
|
|
typedef struct _xi_row_data
|
|
|
|
{
|
|
|
|
short row;
|
|
|
|
unsigned char is_vert_scrolled;
|
|
|
|
} XI_ROW_DATA;
|
|
|
|
|
|
|
|
typedef struct _xi_obj
|
|
|
|
{
|
|
|
|
int cid;
|
|
|
|
struct _xi_obj *itf;
|
|
|
|
struct _xi_obj *parent;
|
|
|
|
XI_OBJ_TYPE type;
|
|
|
|
short nbr_children;
|
|
|
|
struct _xi_obj * *children;
|
|
|
|
long app_data;
|
|
|
|
long app_data2;
|
|
|
|
union
|
|
|
|
{
|
|
|
|
XI_CELL_DATA cell;
|
|
|
|
XI_ROW_DATA row_data;
|
|
|
|
short row;
|
|
|
|
#ifdef XI_INTERNAL
|
|
|
|
STRUCT _xi_column_data *column;
|
|
|
|
STRUCT _xi_itf_data *itf;
|
|
|
|
STRUCT _xi_list_data *list;
|
|
|
|
STRUCT _xi_container_data *container;
|
|
|
|
STRUCT _xi_btn_data *btn;
|
|
|
|
STRUCT _xi_field_data *field;
|
|
|
|
STRUCT _xi_form_data *form;
|
|
|
|
STRUCT _xi_group_data *group;
|
|
|
|
STRUCT _xi_line_data *line;
|
|
|
|
STRUCT _xi_rect_data *rect;
|
|
|
|
STRUCT _xi_text_data *text;
|
|
|
|
#else
|
|
|
|
/* so that union has room for a ptr */
|
|
|
|
char *dummy;
|
|
|
|
#endif
|
|
|
|
} v;
|
|
|
|
} XI_OBJ;
|
|
|
|
|
|
|
|
#if ! XVT_CC_PROTO
|
|
|
|
typedef void (* XVT_CALLCONV1 XI_EH_TYPE)();
|
|
|
|
#else
|
|
|
|
#if (XIWS == XOLWS)
|
|
|
|
typedef void (* XVT_CALLCONV1 XI_EH_TYPE)();
|
|
|
|
#else
|
|
|
|
typedef void (* XVT_CALLCONV1 XI_EH_TYPE)(XI_OBJ *itf, struct _xi_event *xiev);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef XI_INTERNAL
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_btn_data
|
|
|
|
{
|
|
|
|
XI_BTN_TYPE type;
|
|
|
|
int tab_cid;
|
|
|
|
unsigned long attrib;
|
|
|
|
int down_icon_rid;
|
|
|
|
int up_icon_rid;
|
|
|
|
int disabled_icon_rid;
|
|
|
|
short icon_x;
|
|
|
|
short icon_y;
|
|
|
|
WINDOW btnctl;
|
|
|
|
RCT rct; /* bounding rectangle in pixels */
|
|
|
|
XI_RCT xi_rct; /* original bounding rect in form units */
|
|
|
|
char *text;
|
|
|
|
COLOR fore_color;
|
|
|
|
BOOLEAN drawable;
|
|
|
|
BOOLEAN checked;
|
|
|
|
BOOLEAN down;
|
|
|
|
BOOLEAN down_in_btn;
|
|
|
|
BOOLEAN dflt;
|
|
|
|
BOOLEAN packed; /* no focus or default rect space */
|
|
|
|
} XI_BTN_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_container_data
|
|
|
|
{ /* copied from XI_CONTAINER_DEF */
|
|
|
|
XI_RCT xi_rct; /* original container rect in form units */
|
|
|
|
XI_CONTAINER_ORIENTATION orientation;
|
|
|
|
int tab_cid;
|
|
|
|
short btn_height; /* original button height in form units */
|
|
|
|
short btn_width; /* original button width in form units */
|
|
|
|
short nbr_buttons; /* number of buttons used in calculations */
|
|
|
|
BOOLEAN packed; /* no padding or focus rect space */
|
|
|
|
/* calculated */
|
|
|
|
RCT rct;
|
|
|
|
short nbr_down; /* number of buttons down in the container */
|
|
|
|
short nbr_across; /* number of buttons across the container */
|
|
|
|
short pix_height; /* button height in pixels */
|
|
|
|
short pix_width; /* button width in pixels */
|
|
|
|
short step_down; /* pixels from top edge to next top edge */
|
|
|
|
short step_across; /* pixels from left edge to next left edge */
|
|
|
|
} XI_CONTAINER_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_field_data
|
|
|
|
{
|
|
|
|
STX stx;
|
|
|
|
int tab_cid;
|
|
|
|
XI_RCT xi_rct;
|
|
|
|
XI_PNT xi_pnt;
|
|
|
|
int field_width;
|
|
|
|
RCT rct;
|
|
|
|
BOOLEAN button;
|
|
|
|
BOOLEAN button_on_left;
|
|
|
|
int icon_rid;
|
|
|
|
BOOLEAN down;
|
|
|
|
BOOLEAN down_in_btn;
|
|
|
|
RCT btn_rct;
|
|
|
|
BOOLEAN well;
|
|
|
|
BOOLEAN platform;
|
|
|
|
BOOLEAN font_set;
|
|
|
|
} XI_FIELD_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_form_data
|
|
|
|
{
|
|
|
|
XI_OBJ *focus_field;
|
|
|
|
unsigned long attrib;
|
|
|
|
int tab_cid;
|
|
|
|
} XI_FORM_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_group_data
|
|
|
|
{
|
|
|
|
short nbr_cids;
|
|
|
|
int *cidlist;
|
|
|
|
XI_OBJ * *objlist;
|
|
|
|
} XI_GROUP_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_line_data
|
|
|
|
{
|
|
|
|
PNT pnt1;
|
|
|
|
PNT pnt2;
|
|
|
|
XI_PNT xi_pnt1;
|
|
|
|
XI_PNT xi_pnt2;
|
|
|
|
COLOR fore_color;
|
|
|
|
COLOR back_color;
|
|
|
|
BOOLEAN well;
|
|
|
|
unsigned long attrib;
|
|
|
|
} XI_LINE_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_rect_data
|
|
|
|
{
|
|
|
|
RCT rct;
|
|
|
|
XI_RCT xi_rct;
|
|
|
|
COLOR fore_color;
|
|
|
|
COLOR back_color;
|
|
|
|
COLOR hilight_color;
|
|
|
|
COLOR shadow_color;
|
|
|
|
BOOLEAN well;
|
|
|
|
BOOLEAN ridge;
|
|
|
|
unsigned long attrib;
|
|
|
|
} XI_RECT_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_text_data
|
|
|
|
{
|
|
|
|
RCT rct;
|
|
|
|
XI_RCT xi_rct;
|
|
|
|
short text_size;
|
|
|
|
char *text;
|
|
|
|
unsigned long attrib;
|
|
|
|
FONT_OBJ *font;
|
|
|
|
COLOR fore_color;
|
|
|
|
COLOR back_color;
|
|
|
|
} XI_TEXT_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_column_data
|
|
|
|
{
|
|
|
|
short sort_number;
|
|
|
|
} XI_COLUMN_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
typedef struct _xi_itf_data
|
|
|
|
{
|
|
|
|
unsigned short magic;
|
|
|
|
WINDOW xvt_win;
|
|
|
|
WINDOW menu_win;
|
|
|
|
XI_EVENT_HANDLER xi_eh;
|
|
|
|
XI_OBJ *focus_obj;
|
|
|
|
XI_OBJ *trap_obj;
|
|
|
|
BOOLEAN trap_explicit;
|
|
|
|
CURSOR cursor;
|
|
|
|
BOOLEAN half_baked;
|
|
|
|
BOOLEAN edit_menu;
|
|
|
|
BOOLEAN paste_enable;
|
|
|
|
BOOLEAN cut_or_copy_enable;
|
|
|
|
COLOR back_color;
|
|
|
|
BOOLEAN automatic_back_color;
|
|
|
|
BOOLEAN virtual_itf;
|
|
|
|
BOOLEAN modal;
|
|
|
|
BOOLEAN size_font_to_win;
|
|
|
|
BOOLEAN tab_on_enter;
|
|
|
|
RCT original_win_rct;
|
|
|
|
int original_font_size;
|
|
|
|
WINDOW prev_modal;
|
|
|
|
XI_PNT max_xi_pnt;
|
|
|
|
XI_PNT phys_xi_pnt;
|
|
|
|
XI_PNT win_xi_pnt;
|
|
|
|
int delta_x;
|
|
|
|
int delta_y;
|
|
|
|
int caret_x;
|
|
|
|
int caret_y;
|
|
|
|
int caret_height;
|
|
|
|
BOOLEAN caret_is_on;
|
|
|
|
BOOLEAN mouse_is_down;
|
|
|
|
BOOLEAN closing;
|
|
|
|
int in_callback;
|
|
|
|
XI_OBJ *update_obj;
|
|
|
|
FONT_OBJ *font;
|
|
|
|
int fu_width;
|
|
|
|
int fu_height;
|
|
|
|
int nbr_font_ids;
|
|
|
|
FONT_OBJ *font_ids;
|
|
|
|
BOOLEAN moving_focus;
|
|
|
|
BOOLEAN chg_flag;
|
|
|
|
#if XIWS == WMWS
|
|
|
|
int coalescing;
|
|
|
|
BOOLEAN invalidated;
|
|
|
|
RCT inv_rct;
|
|
|
|
#endif
|
|
|
|
BOOLEAN use_xil_win;
|
|
|
|
BOOLEAN pasting;
|
|
|
|
} XI_ITF_DATA;
|
|
|
|
|
|
|
|
/* XI INTERNAL USE ONLY */
|
|
|
|
#define FOCUS_CELL_ARRAY_LEN 6
|
|
|
|
typedef struct _xi_list_data
|
|
|
|
{
|
|
|
|
XI_PNT xi_pnt;
|
|
|
|
int height;
|
|
|
|
int tab_cid;
|
|
|
|
BOOLEAN scroll_bar;
|
|
|
|
BOOLEAN one_row_list;
|
|
|
|
short sb_offset;
|
|
|
|
short sb_width;
|
|
|
|
BOOLEAN movable_columns;
|
|
|
|
BOOLEAN scroll_bar_button;
|
|
|
|
short width;
|
|
|
|
XI_OBJ* focus_cell;
|
|
|
|
XI_OBJ focus_cell_array[FOCUS_CELL_ARRAY_LEN];
|
|
|
|
LM lm;
|
|
|
|
WINDOW sb_win;
|
|
|
|
WINDOW hsb_win;
|
|
|
|
RCT sbb_rct;
|
|
|
|
BOOLEAN down_in_btn;
|
|
|
|
BOOLEAN down;
|
|
|
|
int start_percent;
|
|
|
|
XI_CELL_SPEC* cell_spec;
|
|
|
|
BOOLEAN have_sb_rct;
|
|
|
|
RCT sb_rct;
|
|
|
|
BOOLEAN have_hsb_rct;
|
|
|
|
RCT hsb_rct;
|
|
|
|
FONT_OBJ* font;
|
|
|
|
int horz_sync_list;
|
|
|
|
int vert_sync_list;
|
|
|
|
BOOLEAN row_focus_border;
|
|
|
|
COLOR row_focus_border_color;
|
|
|
|
int max_lines_in_cell;
|
|
|
|
BOOLEAN scrolling_in_progress;
|
|
|
|
BOOLEAN done_initial_xi_scroll;
|
|
|
|
BOOLEAN single_select;
|
|
|
|
} XI_LIST_DATA;
|
|
|
|
#endif /* XI_INTERNAL */
|
|
|
|
|
|
|
|
/**********************************
|
|
|
|
* XI Metrics and preferences
|
|
|
|
**********************************/
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
XI_SV_FU_HEIGHT,
|
|
|
|
XI_SV_FU_WIDTH,
|
|
|
|
XI_SV_ITF_BORDER,
|
|
|
|
XI_SV_SYSFONT_HEIGHT,
|
|
|
|
XI_SV_SYSFONT_ASCENT,
|
|
|
|
XI_SV_SYSFONT_DESCENT,
|
|
|
|
XI_SV_SYSFONT_LEADING,
|
|
|
|
XI_SV_LASTSV /* should always be last */
|
|
|
|
}
|
|
|
|
XI_SV_TYPE;
|
|
|
|
#define XI_NBR_SYSVALS XI_SV_LASTSV
|
|
|
|
|
|
|
|
typedef struct _xi_eq
|
|
|
|
{
|
|
|
|
XI_EVENT xiev;
|
|
|
|
XI_OBJ *itf;
|
|
|
|
struct _xi_eq *next;
|
|
|
|
} XI_EQ;
|
|
|
|
|
|
|
|
typedef struct _xi_window_list
|
|
|
|
{
|
|
|
|
struct _xi_window_list *next;
|
|
|
|
WINDOW win;
|
|
|
|
XI_OBJ *itf;
|
|
|
|
} XI_WINDOW_LIST;
|
|
|
|
|
|
|
|
typedef struct _xi_scroll_record_arg
|
|
|
|
{
|
|
|
|
XI_OBJ *xi_obj;
|
|
|
|
long record;
|
|
|
|
COLOR row_color;
|
|
|
|
unsigned long attrib;
|
|
|
|
int row_height;
|
|
|
|
BOOLEAN rec_at_top;
|
|
|
|
} XI_SCROLL_RECORD_ARG;
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_button_def XVT_CC_ARGS((XI_OBJ_DEF *parent,
|
|
|
|
int cid, XI_RCT *rct,
|
|
|
|
unsigned long attrib, char *text,
|
|
|
|
int tab_cid));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_container_def XVT_CC_ARGS((XI_OBJ_DEF *itf,
|
|
|
|
int cid, XI_RCT* xi_rct,
|
|
|
|
XI_CONTAINER_ORIENTATION orientation,
|
|
|
|
int tab_cid));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_field_def XVT_CC_ARGS((XI_OBJ_DEF *form,
|
|
|
|
int cid, int v, int h,
|
|
|
|
int field_width,
|
|
|
|
unsigned long attrib, int tab_cid,
|
|
|
|
int text_size, COLOR enabled_color,
|
|
|
|
COLOR back_color,
|
|
|
|
COLOR disabled_color,
|
|
|
|
COLOR disabled_back_color,
|
|
|
|
COLOR active_color));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_form_def XVT_CC_ARGS((XI_OBJ_DEF *itf, int cid,
|
|
|
|
int tab_cid));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_group_def XVT_CC_ARGS((XI_OBJ_DEF *object,
|
|
|
|
int cid, int nbr_cids,
|
|
|
|
int *cid_list));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_line_def XVT_CC_ARGS((XI_OBJ_DEF *itf, int cid,
|
|
|
|
XI_PNT *pnt1, XI_PNT *pnt2,
|
|
|
|
unsigned long attrib,
|
|
|
|
COLOR fore_color, COLOR back_color,
|
|
|
|
BOOLEAN well));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_rect_def XVT_CC_ARGS((XI_OBJ_DEF* itf, int cid,
|
|
|
|
XI_RCT* rct, unsigned long attrib,
|
|
|
|
COLOR fore_color, COLOR back_color));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_text_def XVT_CC_ARGS((XI_OBJ_DEF* itf, int cid,
|
|
|
|
XI_RCT* rct, unsigned long attrib,
|
|
|
|
char* text));
|
|
|
|
int XVT_CALLCONV1 xi_button_calc_pixel_height XVT_CC_ARGS((
|
|
|
|
int height ));
|
|
|
|
int XVT_CALLCONV1 xi_button_calc_pixel_width XVT_CC_ARGS(( int width ));
|
|
|
|
int XVT_CALLCONV1 xi_button_def_get_width XVT_CC_ARGS((
|
|
|
|
XI_OBJ_DEF* obj_def ));
|
|
|
|
void XVT_CALLCONV1 xi_check XVT_CC_ARGS((XI_OBJ *xi_obj, BOOLEAN check));
|
|
|
|
int XVT_CALLCONV1 xi_container_def_get_btn_width XVT_CC_ARGS((
|
|
|
|
XI_OBJ_DEF* obj_def ));
|
|
|
|
int XVT_CALLCONV1 xi_container_def_get_height XVT_CC_ARGS((
|
|
|
|
XI_OBJ_DEF* obj_def ));
|
|
|
|
int XVT_CALLCONV1 xi_container_def_get_width XVT_CC_ARGS((
|
|
|
|
XI_OBJ_DEF* obj_def ));
|
|
|
|
void XVT_CALLCONV1 xi_container_reorient XVT_CC_ARGS((XI_OBJ *cnt_obj,
|
|
|
|
XI_CONTAINER_DEF *cnt_def));
|
|
|
|
int XVT_CALLCONV1 xi_get_fixed_columns XVT_CC_ARGS( (XI_OBJ* xi_obj) );
|
|
|
|
long XVT_CALLCONV1 xi_get_handle XVT_CC_ARGS( (XI_OBJ* list,
|
|
|
|
XI_OBJ* child_obj ) );
|
|
|
|
TXEDIT XVT_CALLCONV1 xi_get_txedit XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_is_checked XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
void XVT_CALLCONV1 xi_set_fixed_columns XVT_CC_ARGS( (XI_OBJ *xi_obj,
|
|
|
|
int fixed_columns) );
|
|
|
|
void XVT_CALLCONV1 xi_set_fore_color XVT_CC_ARGS((XI_OBJ *xi_obj,
|
|
|
|
COLOR color));
|
|
|
|
void XVT_CALLCONV1 xi_vir_pan XVT_CC_ARGS((XI_OBJ *xi_obj, int delta_x,
|
|
|
|
int delta_y));
|
|
|
|
int XVT_CALLCONV1 xi_button_calc_height_font_id XVT_CC_ARGS((
|
|
|
|
XVT_FNTID font ));
|
|
|
|
int XVT_CALLCONV1 xi_field_calc_height_font_id XVT_CC_ARGS((
|
|
|
|
XVT_FNTID font ));
|
|
|
|
int XVT_CALLCONV1 xi_field_calc_width_font_id XVT_CC_ARGS((
|
|
|
|
XVT_FNTID font,
|
|
|
|
char* string ));
|
|
|
|
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_column_def XVT_CC_ARGS((XI_OBJ_DEF *list,
|
|
|
|
int cid, unsigned long attrib,
|
|
|
|
int sort_number, int width,
|
|
|
|
int text_size, char *heading_text));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_add_list_def XVT_CC_ARGS((XI_OBJ_DEF *itf, int cid,
|
|
|
|
int v, int h, int height,
|
|
|
|
unsigned long attrib,
|
|
|
|
COLOR enabled_color, COLOR back_color,
|
|
|
|
COLOR disabled_color,
|
|
|
|
COLOR disabled_back_color,
|
|
|
|
COLOR active_color, int tab_cid));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_button_set_default XVT_CC_ARGS((XI_OBJ* xi_obj,
|
|
|
|
BOOLEAN set));
|
|
|
|
void XVT_CALLCONV1 xi_cell_request XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
void XVT_CALLCONV1 xi_clean_up XVT_CC_ARGS((void));
|
|
|
|
XI_OBJ* XVT_CALLCONV1 xi_create XVT_CC_ARGS((XI_OBJ *parent,
|
|
|
|
XI_OBJ_DEF* xi_obj_def));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_create_itf_def XVT_CC_ARGS((int cid,
|
|
|
|
XI_EVENT_HANDLER xi_eh, RCT *rctp,
|
|
|
|
char *title, long app_data));
|
|
|
|
void XVT_CALLCONV1 xi_delete XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_delete_row XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
void XVT_CALLCONV1 xi_dequeue XVT_CC_ARGS((void));
|
|
|
|
void XVT_CALLCONV1 xi_event XVT_CC_ARGS((WINDOW win, EVENT *ep));
|
|
|
|
void XVT_CALLCONV1 xi_fu_to_pu XVT_CC_ARGS((XI_OBJ *itf, PNT *pnts,
|
|
|
|
int nbr_pnts));
|
|
|
|
long XVT_CALLCONV1 xi_get_app_data XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
long XVT_CALLCONV1 xi_get_app_data2 XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
unsigned long XVT_CALLCONV1 xi_get_attrib XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
XI_CELL_SPEC* XVT_CALLCONV1 xi_get_cell_selection XVT_CC_ARGS((XI_OBJ *list,
|
|
|
|
int *nbr_cells));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_get_def XVT_CC_ARGS((XI_OBJ *obj));
|
|
|
|
RCT* XVT_CALLCONV1 xi_get_def_rect XVT_CC_ARGS((XI_OBJ_DEF *xi_obj_def,
|
|
|
|
RCT *rctp));
|
|
|
|
XI_OBJ* XVT_CALLCONV1 xi_get_focus XVT_CC_ARGS((XI_OBJ *itf));
|
|
|
|
XI_OBJ* XVT_CALLCONV1 xi_get_itf XVT_CC_ARGS((WINDOW win));
|
|
|
|
XI_OBJ_DEF* XVT_CALLCONV1 xi_get_list_def XVT_CC_ARGS((XI_OBJ *list));
|
|
|
|
long* XVT_CALLCONV1 xi_get_list_info XVT_CC_ARGS((XI_OBJ *list,
|
|
|
|
int *nbr_recs));
|
|
|
|
XI_OBJ** XVT_CALLCONV1 xi_get_member_list XVT_CC_ARGS((XI_OBJ *xi_obj,
|
|
|
|
int *nbr_members));
|
|
|
|
long XVT_CALLCONV1 xi_get_pref XVT_CC_ARGS((XI_PREF_TYPE preftype));
|
|
|
|
XI_OBJ* XVT_CALLCONV1 xi_get_obj XVT_CC_ARGS((XI_OBJ *itf, int cid));
|
|
|
|
RCT* XVT_CALLCONV1 xi_get_rect XVT_CC_ARGS((XI_OBJ *xi_obj, RCT *rctp));
|
|
|
|
void XVT_CALLCONV1 xi_get_sel XVT_CC_ARGS((XI_OBJ *xi_obj, int *selstart,
|
|
|
|
int *selstop));
|
|
|
|
int XVT_CALLCONV1 xi_get_sysval XVT_CC_ARGS((XI_SV_TYPE valtype));
|
|
|
|
char* XVT_CALLCONV1 xi_get_text XVT_CC_ARGS((XI_OBJ *xi_obj, char *s,
|
|
|
|
int len));
|
|
|
|
WINDOW XVT_CALLCONV1 xi_get_window XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
int XVT_CALLCONV1 xi_get_visible_rows XVT_CC_ARGS((XI_OBJ *xi_obj,
|
|
|
|
int *first_vis, int *last_vis));
|
|
|
|
void XVT_CALLCONV1 xi_get_visible_columns XVT_CC_ARGS((XI_OBJ *xi_obj,
|
|
|
|
int *first_vis,
|
|
|
|
int *last_vis));
|
|
|
|
void XVT_CALLCONV1 xi_set_fixed_columns XVT_CC_ARGS(( XI_OBJ* xi_obj,
|
|
|
|
int new_fixed_count ));
|
|
|
|
XI_RCT* XVT_CALLCONV1 xi_get_xi_rct XVT_CC_ARGS((XI_OBJ *itf,
|
|
|
|
XI_RCT *xi_rct));
|
|
|
|
void XVT_CALLCONV1 xi_init XVT_CC_ARGS((void));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_insert_row XVT_CC_ARGS((XI_OBJ *list, int row));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_is_changed XVT_CC_ARGS((XI_OBJ* obj));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_is_itf XVT_CC_ARGS((XI_OBJ *itf));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_is_window XVT_CC_ARGS((WINDOW win));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_is_focus_moving XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_is_auto_tab XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
|
|
|
|
int XVT_CALLCONV1 xi_list_def_get_client_height XVT_CC_ARGS((
|
|
|
|
XI_OBJ_DEF* list_def,
|
|
|
|
int rows ));
|
|
|
|
int XVT_CALLCONV1 xi_list_def_get_client_width XVT_CC_ARGS((
|
|
|
|
XI_OBJ_DEF* obj_def,
|
|
|
|
int columns ));
|
|
|
|
int XVT_CALLCONV1 xi_list_def_get_outer_height XVT_CC_ARGS((
|
|
|
|
XI_OBJ_DEF* list_def,
|
|
|
|
int rows ));
|
|
|
|
int XVT_CALLCONV1 xi_list_def_get_outer_width XVT_CC_ARGS((
|
|
|
|
XI_OBJ_DEF* obj_def,
|
|
|
|
int columns ));
|
|
|
|
int XVT_CALLCONV1 xi_list_def_get_rows XVT_CC_ARGS((
|
|
|
|
XI_OBJ_DEF* list_def ));
|
|
|
|
|
|
|
|
void XVT_CALLCONV1 xi_move_column XVT_CC_ARGS((XI_OBJ *column,
|
|
|
|
int position));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_move_focus XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
void XVT_CALLCONV1 xi_move_to XVT_CC_ARGS((WINDOW win, PNT pnt));
|
|
|
|
WINDOW XVT_CALLCONV1 xi_new_child_window XVT_CC_ARGS((RCT *rctp,
|
|
|
|
char *title, WIN_TYPE t,
|
|
|
|
BOOLEAN ctl_size,
|
|
|
|
BOOLEAN ctl_vscroll,
|
|
|
|
BOOLEAN ctl_hscroll,
|
|
|
|
BOOLEAN ctl_close,
|
|
|
|
BOOLEAN ctl_iconized,
|
|
|
|
BOOLEAN ctl_iconizable,
|
|
|
|
WINDOW parent,
|
|
|
|
long app_data, short reserve1,
|
|
|
|
long reserve2, BOOLEAN visible,
|
|
|
|
BOOLEAN enabled,
|
|
|
|
int menu_bar_rid));
|
|
|
|
void XVT_CALLCONV1 xi_pu_to_fu XVT_CC_ARGS((XI_OBJ *itf, PNT *pnts, int nbr_pnts));
|
|
|
|
int XVT_CALLCONV1 xi_scroll XVT_CC_ARGS((XI_OBJ *xi_obj, int nbr_lines));
|
|
|
|
int XVT_CALLCONV1 xi_scroll_rec XVT_CC_ARGS((XI_OBJ *xi_obj, long record, COLOR row_color, unsigned
|
|
|
|
long attrib, int row_height));
|
|
|
|
int XVT_CALLCONV1 xi_scroll_record XVT_CC_ARGS((XI_SCROLL_RECORD_ARG *arg));
|
|
|
|
int XVT_CALLCONV1 xi_scroll_percent XVT_CC_ARGS((XI_OBJ *xi_obj, int percent));
|
|
|
|
void XVT_CALLCONV1 xi_set_app_data XVT_CC_ARGS((XI_OBJ *xi_obj, long app_data));
|
|
|
|
void XVT_CALLCONV1 xi_set_app_data2 XVT_CC_ARGS((XI_OBJ *xi_obj, long app_data2));
|
|
|
|
void XVT_CALLCONV1 xi_set_attrib XVT_CC_ARGS((XI_OBJ *xi_obj, unsigned long attrib));
|
|
|
|
void XVT_CALLCONV1 xi_set_bufsize XVT_CC_ARGS((XI_OBJ *xi_obj, int size));
|
|
|
|
void XVT_CALLCONV1 xi_set_color XVT_CC_ARGS((XI_OBJ *xi_obj, XI_COLOR_PART part, COLOR color));
|
|
|
|
void XVT_CALLCONV1 xi_set_column_width XVT_CC_ARGS(( XI_OBJ *xi_obj,
|
|
|
|
int width));
|
|
|
|
void XVT_CALLCONV1 xi_column_set_pixel_width XVT_CC_ARGS(( XI_OBJ *xi_obj,
|
|
|
|
int width ));
|
|
|
|
void XVT_CALLCONV1 xi_set_focus XVT_CC_ARGS((XI_OBJ *xi_obj));
|
|
|
|
void XVT_CALLCONV1 xi_set_font_id XVT_CC_ARGS((XVT_FNTID font_id));
|
|
|
|
void XVT_CALLCONV1 xi_set_list_size XVT_CC_ARGS((XI_OBJ *xi_obj, int height, int width));
|
|
|
|
void XVT_CALLCONV1 xi_set_obj_font_id XVT_CC_ARGS((XI_OBJ *xi_obj, XVT_FNTID font_id));
|
|
|
|
void XVT_CALLCONV1 xi_set_icon XVT_CC_ARGS((XI_OBJ *xi_obj, int icon_rid, int down_icon_rid));
|
|
|
|
void XVT_CALLCONV1 xi_set_pref XVT_CC_ARGS((XI_PREF_TYPE preftype, long value));
|
|
|
|
void XVT_CALLCONV1 xi_set_sel XVT_CC_ARGS((XI_OBJ *xi_obj, int selstart, int selstop));
|
|
|
|
void XVT_CALLCONV1 xi_set_row_height XVT_CC_ARGS((XI_OBJ *xi_obj, int height));
|
|
|
|
void XVT_CALLCONV1 xi_set_text XVT_CC_ARGS((XI_OBJ *xi_obj, char *s));
|
|
|
|
void XVT_CALLCONV1 xi_event_debug XVT_CC_ARGS((char *tag, XI_EVENT *xiev, char *s, int len));
|
|
|
|
|
|
|
|
char * XVT_CALLCONV1 gstrncpy XVT_CC_ARGS((char *dst, char *src, int n));
|
|
|
|
|
|
|
|
/*
|
|
|
|
XI consistant drawing functions - these functions perform identically
|
|
|
|
on all platforms. These functions also do virtual interface coordinate
|
|
|
|
conversion.
|
|
|
|
*/
|
|
|
|
void XVT_CALLCONV1 xi_get_font_metrics XVT_CC_ARGS((WINDOW win, int *leadingp, int *ascentp, int *descentp));
|
|
|
|
void XVT_CALLCONV1 xi_set_xvt_font XVT_CC_ARGS((WINDOW win, FONT_OBJ *font, BOOLEAN scale));
|
|
|
|
void XVT_CALLCONV1 xi_set_draw_ctools XVT_CC_ARGS((WINDOW win, DRAW_CTOOLS *ct));
|
|
|
|
void XVT_CALLCONV1 xi_scroll_rect XVT_CC_ARGS((WINDOW win, RCT *rctp, int dh, int dv));
|
|
|
|
void XVT_CALLCONV1 xi_set_draw_mode XVT_CC_ARGS((WINDOW win, DRAW_MODE mode));
|
|
|
|
void XVT_CALLCONV1 xi_set_cbrush XVT_CC_ARGS((WINDOW win, CBRUSH *cbrush));
|
|
|
|
void XVT_CALLCONV1 xi_set_cpen XVT_CC_ARGS((WINDOW win, CPEN *cpen));
|
|
|
|
void XVT_CALLCONV1 xi_draw_icon XVT_CC_ARGS((WINDOW win, int x, int y, int rid,
|
|
|
|
COLOR fore_color, COLOR back_color));
|
|
|
|
void XVT_CALLCONV1 xi_set_xvt_fore_color XVT_CC_ARGS((WINDOW win, COLOR color));
|
|
|
|
void XVT_CALLCONV1 xi_set_xvt_back_color XVT_CC_ARGS((WINDOW win, COLOR color));
|
|
|
|
DRAW_CTOOLS * XVT_CALLCONV1 xi_get_draw_ctools XVT_CC_ARGS((WINDOW win, DRAW_CTOOLS *ct));
|
|
|
|
int XVT_CALLCONV1 xi_xvt_get_text_width XVT_CC_ARGS((WINDOW win, char *string, int len));
|
|
|
|
void XVT_CALLCONV1 xi_set_clip XVT_CC_ARGS((WINDOW win, RCT *rctp));
|
|
|
|
void XVT_CALLCONV1 xi_draw_text XVT_CC_ARGS((WINDOW win, int x, int y, char *buf, int len));
|
|
|
|
void XVT_CALLCONV1 xi_caret_on XVT_CC_ARGS((WINDOW win, int x, int y, int height));
|
|
|
|
void XVT_CALLCONV1 xi_caret_off XVT_CC_ARGS((WINDOW win));
|
|
|
|
void XVT_CALLCONV1 xi_draw_3d_diamond XVT_CC_ARGS((WINDOW win, RCT *rctp, BOOLEAN well, BOOLEAN black,
|
|
|
|
int height, COLOR color));
|
|
|
|
void XVT_CALLCONV1 xi_draw_3d_line XVT_CC_ARGS((WINDOW win, PNT pnt1, PNT pnt2, BOOLEAN well));
|
|
|
|
void XVT_CALLCONV1 xi_draw_3d_rect XVT_CC_ARGS((WINDOW win, RCT *rctp, BOOLEAN well, int height, COLOR
|
|
|
|
color_light, COLOR color_ctrl, COLOR color_dark));
|
|
|
|
void XVT_CALLCONV1 xi_draw_diamond XVT_CC_ARGS((WINDOW win, RCT *rctp, BOOLEAN well, BOOLEAN black, BOOLEAN
|
|
|
|
fill,
|
|
|
|
COLOR color));
|
|
|
|
void XVT_CALLCONV1 xi_draw_rect XVT_CC_ARGS((WINDOW win, RCT *rctp));
|
|
|
|
void XVT_CALLCONV1 xi_draw_line XVT_CC_ARGS((WINDOW win, PNT pnt));
|
|
|
|
void XVT_CALLCONV1 xi_draw_text_attrib XVT_CC_ARGS((WINDOW win, int x, int y, char *s, int len, unsigned
|
|
|
|
long attrib));
|
|
|
|
void XVT_CALLCONV1 xi_draw_thick_rect XVT_CC_ARGS((WINDOW win, RCT *rctp, int width));
|
|
|
|
int XVT_CALLCONV1 xi_get_text_width XVT_CC_ARGS((WINDOW win, char *s, int len, unsigned long attrib));
|
|
|
|
void XVT_CALLCONV1 xi_invalidate_rect XVT_CC_ARGS((WINDOW win, RCT *rct));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_needs_update XVT_CC_ARGS((WINDOW win, RCT *rct));
|
|
|
|
BOOLEAN XVT_CALLCONV1 xi_rect_intersect XVT_CC_ARGS((RCT *rctp, RCT *rctp1, RCT *rctp2));
|
|
|
|
void XVT_CALLCONV1 xi_trap_mouse XVT_CC_ARGS((WINDOW win));
|
|
|
|
void XVT_CALLCONV1 xi_release_mouse XVT_CC_ARGS((void));
|
|
|
|
|
|
|
|
/******************************************************************
|
|
|
|
Tree module
|
|
|
|
******************************************************************/
|
|
|
|
#ifdef TREEDEBUG
|
|
|
|
#define xi_tree_malloc(size, parent) \
|
|
|
|
xi_tree_malloc_d(size, parent, __LINE__, __FILE__)
|
|
|
|
#define xi_tree_realloc(p, size) \
|
|
|
|
xi_tree_realloc_d(p, size, __LINE__, __FILE__)
|
|
|
|
#endif
|
|
|
|
#ifdef TREEDEBUG
|
|
|
|
void * XVT_CALLCONV1 xi_tree_malloc_d XVT_CC_ARGS((size_t size, void *parent, int line, char
|
|
|
|
*file));
|
|
|
|
void * XVT_CALLCONV1 xi_tree_realloc_d XVT_CC_ARGS((void *p, size_t size, int line, char *file));
|
|
|
|
#else
|
|
|
|
void * XVT_CALLCONV1 xi_tree_malloc XVT_CC_ARGS((size_t size, void *parent));
|
|
|
|
void * XVT_CALLCONV1 xi_tree_realloc XVT_CC_ARGS((void *p, size_t size));
|
|
|
|
#endif
|
|
|
|
void XVT_CALLCONV1 xi_tree_reparent XVT_CC_ARGS((void *p, void *parent));
|
|
|
|
void XVT_CALLCONV1 xi_tree_free XVT_CC_ARGS((void *p));
|
|
|
|
void * XVT_CALLCONV1 xi_tree_get_parent XVT_CC_ARGS((void *p));
|
|
|
|
void XVT_CALLCONV1 xi_tree_dbg XVT_CC_ARGS((char *title));
|
|
|
|
void XVT_CALLCONV1 xi_tree_check_sanity XVT_CC_ARGS((char *title));
|
|
|
|
void XVT_CALLCONV1 xi_tree_reg_error_fcn XVT_CC_ARGS((void (* fcn)(void)));
|
1997-12-17 10:50:23 +00:00
|
|
|
void XVT_CALLCONV1 aga_set_pref XVT_CC_ARGS((AGA_PREF_TYPE preftype, long value));
|
|
|
|
long XVT_CALLCONV1 aga_get_pref XVT_CC_ARGS((AGA_PREF_TYPE preftype));
|
1997-12-17 10:43:31 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
// End of extern "C"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* INCL_XI */
|