campo-sirio/xi/xiutils.h
alex 18c8e52948 This commit was generated by cvs2svn to compensate for changes in r5757,
which included commits to RCS files with non-trunk default branches.

git-svn-id: svn://10.65.10.50/trunk@5758 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-12-17 10:43:31 +00:00

116 lines
4.9 KiB
C
Executable File

/*******************************************************************************
* Copyright 1991-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. *
*******************************************************************************/
extern CBRUSH ltgray_cbrush;
extern CBRUSH gray_cbrush;
extern CBRUSH hollow_cbrush;
extern FONT_OBJ xi_sysfont;
extern RCT big_clip;
/* DIMENSIONS FOR FIELD OBJET BORDER */
#define XI_FLD_XBORDER XI_FU_MULTIPLE /* may change for OL implementation */
/* UTILITY FUNCTIONS */
#ifdef DEBUG
void pr_xi_event(XI_OBJ *itf, XI_EVENT *xiev);
#endif
#if 0 /* this is platform-dependent */
#define XI_COLUMN_XDIV XI_FU_MULTIPLE
#define XI_LIST_XBORDER XI_FU_MULTIPLE
#endif
RCT* adjust_rect(RCT *rct, int pwid);
int clip(int val, int mn, int mx);
void dbg_rct(char *tag, RCT *rct);
void order_ints(int *ip1, int *ip2);
char* gmemmove(char *d, char *s, long n);
char* gstrncpy(char *dst, char *src, int n);
char* tgstrncpy(char *dst, char *src, int n);
void xi_adjust_sb_vir_itf(WINDOW win, XI_OBJ *itf);
void xi_button_rect_calc(XI_OBJ *btn_obj, int sequence);
void xi_container_rect_calc( XI_OBJ *cnt_obj, int max_text_len,
XI_BTN_TYPE btn_type);
FONT_OBJ* xi_def_get_font( XI_OBJ_DEF* obj_def );
BOOLEAN xi_get_xil_pref( XI_OBJ* obj );
void xi_draw_clipped_text( WINDOW win, char *s, RCT *bound_rct,
RCT *clip_rct, unsigned long attrib,
BOOLEAN set_the_cpen, int rule_and_space,
int len);
void xi_dbg(char *buf);
void xi_draw_button( XI_OBJ *xi_obj, RCT *rct, char *text,
int down_icon_rid, int up_icon_rid,
int disabled_icon_rid, BOOLEAN enabled,
BOOLEAN visible, BOOLEAN focus, BOOLEAN down,
BOOLEAN dflt, BOOLEAN checked, BOOLEAN box_only);
BOOLEAN xi_eh(WINDOW win, EVENT *ep);
void xi_even_fu(int *f);
void xi_even_fu_pnt(PNT *p);
RCT* xi_inflate_rect(RCT *rct, int amount);
#if XIWS == WMWS
void xi_coalesce_invalidates(XI_OBJ *itf, BOOLEAN coalesce);
void xi_fix_color(COLOR *color);
#endif
void xi_fu_to_pu_font(FONT_OBJ *font, PNT *pnt, int nbr_pnts);
RCT* xi_get_enclosing_rect(RCT *dst, RCT *src1, RCT *src2);
void xi_get_font_metrics_font( FONT_OBJ *font, int *leading, int *ascent,
int *descent, int *char_width);
int xi_get_fu_height(XI_OBJ *itf);
int xi_get_fu_height_font(FONT_OBJ *font);
int xi_get_fu_width(XI_OBJ *itf);
int xi_get_fu_width_font(FONT_OBJ *font);
void xi_get_hsb_rect(XI_OBJ *xi_obj, RCT *rctp);
XI_OBJ* xi_get_itf_from_id( int id );
RCT* xi_get_rect_internal( XI_OBJ *xi_obj, RCT *rctp, RCT *old_win_rct,
RCT *new_win_rct);
void xi_get_sb_rect(XI_OBJ *xi_obj, RCT *rctp);
BOOLEAN xi_half_baked(WINDOW win);
void xi_init_sysvals(void);
void xi_make_obj_visible(XI_OBJ *xi_obj);
void xi_menu_enable(XI_OBJ *itf, int tag, BOOLEAN enable);
void xi_move_column_internal( XI_OBJ *column, int position,
BOOLEAN in_hscrolling);
void xi_move_list_hscroll_bar(XI_OBJ *xi_obj);
void xi_move_list_scroll_bar(XI_OBJ *xi_obj);
WINDOW xi_new_control( RCT *lrctp, char *title, WIN_TYPE t, WINDOW parent,
BOOLEAN visible, int id, char *templat);
int xi_obj_to_idx(XI_OBJ *xi_obj);
void xi_realloc_array( void **ptr, int nbr, size_t sz, void *parent);
void xi_set_sysval(XI_SV_TYPE valtype, int value);
void xi_set_trap_obj(XI_OBJ *obj);
void xi_set_update_obj(XI_OBJ *xi_obj);
void xi_terminate(void);
#ifdef TREEDEBUG
#define xi_tree_realloc2(o, s, p) xi_tree_realloc_d2(o, s, p, __LINE__, __FILE__)
char* xi_tree_realloc_d2(char *oldp, size_t size, char *parent, int line,
char *filename);
#else
char* xi_tree_realloc2(char *oldp, size_t size, char *parent);
#endif
XVT_FNTID* xi_font_to_fontid(XI_OBJ *itf, void *a_font, XVT_FNTID *font_id);
FONT* xi_fontid_to_font(XVT_FNTID font_id, void *parent);
FONT_OBJ xi_create_copy_font_id(XI_OBJ *itf, FONT_OBJ font_id, FONT_OBJ old_font_id);
void xi_free_font_id(XI_OBJ *itf, FONT_OBJ font_id);
BOOLEAN font_compare ( XVT_FNTID f1, XVT_FNTID f2 );
/*********************************************************************/
/* XI minimal compatability layer */
extern CPEN hollow_cpen;
extern CPEN black_cpen;
extern CPEN rubber_cpen;
extern CBRUSH white_cbrush;
extern CBRUSH hollow_cbrush;
#define E_KILL_WINDOW E_DESTROY
#define E_ACTIVATE E_FOCUS
/*********************************************************************/