/******************************************************************************* * Copyright 1991-1996 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. * *******************************************************************************/ extern XinBrush ltgray_cbrush; extern XinBrush gray_cbrush; extern XinBrush hollow_cbrush; extern XinFont *xi_sysfont; extern XinRect big_clip; /* DIMENSIONS FOR FIELD OBJET BORDER */ #define XI_FLD_XBORDER XI_FU_MULTIPLE /* may change for OL implementation */ #define XI_MULTILINE_SCROLLBAR_CID 31000 XinRect *adjust_rect( XinRect * rct, int pwid ); int clip( int val, int mn, int mx ); void dbg_rct( char *tag, XinRect * rct ); void order_ints( int *ip1, int *ip2 ); /* char* gstrncpy(char *dst, char *src, int n); */ char *tstrncpy( char *dst, char *src, int n ); void xi_adjust_sb_vir_itf( XinWindow 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 ); XinFont *xi_def_get_font( XI_OBJ_DEF * obj_def ); BOOLEAN xi_get_xil_pref( XI_OBJ * obj ); void xi_draw_clipped_text( XinWindow win, XinFont * font, char *s, XinRect * bound_rct, XinRect * clip_rct, unsigned long attrib, BOOLEAN set_the_cpen, int rule_and_space, int len, char mnemonic, short mnemonic_instance, int *baseline ); void xi_dbg( char *buf ); void xi_draw_button( XI_OBJ * xi_obj, XinRect * rct, BOOLEAN enabled, BOOLEAN visible, BOOLEAN focus, BOOLEAN down, BOOLEAN dflt, BOOLEAN checked, BOOLEAN box_only, BOOLEAN draw_border ); BOOLEAN xi_eh( XinWindow win, XinEvent * ep ); void xi_even_fu( int *f ); void xi_even_fu_pnt( XinPoint * p ); XinRect *xi_inflate_rect( XinRect * rct, int amount ); void xi_fu_to_pu_font( XinFont * font, XinPoint * pnt, int nbr_pnts ); XinRect *xi_get_enclosing_rect( XinRect * dst, XinRect * src1, XinRect * src2 ); void xi_get_font_metrics_font( XinFont * font, int *leading, int *ascent, int *descent, int *char_width ); int xi_get_fu_height( XI_OBJ * itf ); int xi_get_fu_height_font( XinFont * font ); int xi_get_fu_width( XI_OBJ * itf ); int xi_get_fu_width_font( XinFont * font ); void xi_get_hsb_rect( XI_OBJ * xi_obj, XinRect * rctp ); XI_OBJ *xi_get_itf_from_id( int id ); XinRect * xi_get_rect_internal( XI_OBJ * xi_obj, XinRect * rctp, XinRect * old_win_rct, XinRect * new_win_rct ); void xi_get_sb_rect( XI_OBJ * xi_obj, XinRect * rctp ); void xi_move_to( XinWindow win, XinPoint pnt ); void xi_draw_line( XinWindow win, XinPoint pnt ); void xi_scroll_rect( XinWindow win, XinRect * rct, int delta_x, int delta_y ); BOOLEAN xi_pt_in_rect( XinRect * rct, XinPoint pnt ); BOOLEAN xi_half_baked( XinWindow 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 ); 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 ); int xi_get_text_width( XinFont * font, char *s, int len, unsigned long attrib ); char *xi_get_text_string( char *src, unsigned long attrib ); BOOLEAN xi_cr_is_ok( XI_OBJ * xi_obj ); BOOLEAN xi_focus_obj_is_cell_button( XI_OBJ * focus_obj ); void xi_draw_foc_and_dflt( XI_OBJ * focus_obj ); void xi_draw_foc_and_dflt_if_necessary( XI_OBJ * focus_obj, XI_OBJ * next_obj ); BOOLEAN xi_get_native_controls( XI_OBJ * obj ); BOOLEAN xi_XinWindowPaintNeeds( XinWindow win, XinRect * rct ); #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 void xi_draw_icon( XinWindow win, int x, int y, int rid, XinColor fore_color, XinColor back_color ); void xi_draw_text( XinWindow win, XinFont * font, int x, int y, char *s, int len ); BOOLEAN font_compare( XinFont * f1, XinFont * f2 ); #ifdef XI_USE_TX_SUPPORT void xi_caret_off( XinWindow win ); #endif void xi_caret_on( XinWindow win, int x, int y, int height, XinRect * clip_rect ); void xi_set_clip( XinWindow win, XinRect * clip ); void xi_draw_dotted_rect( XinWindow win, XinRect * rctp ); XI_OBJ* xi_get_drag_list_obj( void ); void xi_set_drag_list_obj( XI_OBJ* obj ); BOOLEAN xi_is_obj( XI_OBJ* obj, XI_OBJ* itf ); /*********************************************************************/ extern XinPen hollow_cpen; extern XinPen black_cpen; extern XinPen rubber_cpen; extern XinBrush white_cbrush; extern XinBrush hollow_cbrush; extern XinFont normal_font; /*********************************************************************/