diff --git a/xvaga/xvaga.cpp b/xvaga/xvaga.cpp index 7f43a0439..dece9ccb8 100755 --- a/xvaga/xvaga.cpp +++ b/xvaga/xvaga.cpp @@ -2242,12 +2242,35 @@ void xvt_image_transfer(XVT_IMAGE dstimage, XVT_IMAGE srcimage, RCT *dstrctp, RC { const wxRect rctDst = RCT2Rect(dstrctp); const wxRect rctSrc = RCT2Rect(srcrctp); - wxMemoryDC dc; - wxBitmap bmp(*dst); - dc.SelectObject(bmp); - DrawImageOnDC(dc, src, rctDst, rctSrc); - dst->Image() = bmp.ConvertToImage(); - dc.SelectObject(wxNullBitmap); + + const wxRect rctDstI(0, 0, dst->GetWidth(), dst->GetHeight()); + const wxRect rctSrcI(0, 0, src->GetWidth(), src->GetHeight()); + + if (rctDst.GetSize() == rctSrc.GetSize() && + rctDstI.Contains(rctDst) && rctSrcI.Contains(rctSrc) && + src->HasAlpha() == dst->HasAlpha()) + { + const int nPixelSize = src->HasAlpha() ? 4 : 3; + const int nRowSize = nPixelSize * src->GetWidth(); +#ifndef NDEBUG + #pragma omp parallel for +#endif + for (int y = 0; y < rctSrc.height; y++) + { + unsigned char* rgbSrc = src->Image().GetData() + (rctSrc.y+y)*nRowSize + rctSrc.x * nPixelSize; + unsigned char* rgbDst = dst->Image().GetData() + (rctDst.y+y)*nRowSize + rctDst.x * nPixelSize; + memcpy(rgbDst, rgbSrc, nPixelSize * rctSrc.width); + } + } + else + { + wxMemoryDC dc; + wxBitmap bmp(*dst); + dc.SelectObject(bmp); + DrawImageOnDC(dc, src, rctDst, rctSrc); + dst->Image() = bmp.ConvertToImage(); + dc.SelectObject(wxNullBitmap); + } } } @@ -2263,9 +2286,10 @@ BOOLEAN xvt_image_filter(XVT_IMAGE image, IMAGE_FILTER filter, void* param) if (ok) { const int nPixelSize = img->HasAlpha() ? 4 : 3; + const int nRowSize = nPixelSize * img->GetWidth(); for (short y = 0; y < h; y++) { - unsigned char* rgb = img->Image().GetData() + nPixelSize*y; + unsigned char* rgb = img->Image().GetData() + nRowSize*y; for (short x = 0; x < w; x++, rgb += nPixelSize) filter(x, y, rgb, param); } @@ -2673,7 +2697,12 @@ XVT_IMAGE xvt_res_get_image(int rid) { const wxString strFileName = xvtart_GetResourceName("Image", rid); const bool ok = !strFileName.IsEmpty(); - XVT_ASSERT(ok); + if (!ok) + { + wxString msg; + msg << "Can't find image code " << rid << " in resource.ini"; + xvt_dm_post_note(msg); + } return ok ? xvt_image_read(strFileName) : NULL; } diff --git a/xvaga/xvt.h b/xvaga/xvt.h index 423ca1838..b8f591b6d 100755 --- a/xvaga/xvt.h +++ b/xvaga/xvt.h @@ -1,558 +1,558 @@ -#ifndef XVT_INCL_XVT -#define XVT_INCL_XVT - -#if defined(WIN32)&&(_MSC_VER > 1300) - #define _CRT_SECURE_NO_DEPRECATE 1 -#endif - -#ifdef XVT_INCL_NATIVE -#ifdef WIN32 -#define WIN32_LEAN_AND_MEAN -#define WIN32_EXTRA_LEAN -#define STRICT -#include -#endif -#endif - -#ifdef WIN32 - #ifdef XVAGADLL - #define XVTDLL __declspec(dllexport) - #else - #define XVTDLL __declspec(dllimport) - #endif -#else - #define XVTDLL -#endif - -#include -#include -#include -#include -#include - -#include "xvt_env.h" -#include "xvt_defs.h" -#include "xvt_help.h" -#include "xvt_menu.h" -#include "xvt_type.h" -#include "xvt_vers.h" - -#ifdef __cplusplus -extern "C" { -#endif - -XVTDLL void xvt_app_allow_quit(void); -XVTDLL void xvt_app_pre_create(void); -XVTDLL void xvt_app_create(int argc, char **argv, unsigned long flags, EVENT_HANDLER eh, XVT_CONFIG *config); -XVTDLL void xvt_app_destroy(void); -XVTDLL BOOLEAN xvt_app_escape(int esc_code, PRINT_RCD*, long* ph, long* pw, long* pvr, long* phr); -XVTDLL DRAW_CTOOLS* xvt_app_get_default_ctools(DRAW_CTOOLS* ct); -XVTDLL void xvt_app_process_pending_events(void); - -XVTDLL char* xvt_cb_alloc_data(long size); -XVTDLL BOOLEAN xvt_cb_close(void); -XVTDLL void xvt_cb_free_data(void); -XVTDLL char* xvt_cb_get_data(CB_FORMAT cbfmt, char *name, long *sizep); -XVTDLL BOOLEAN xvt_cb_has_format(CB_FORMAT fmt, char *name); -XVTDLL BOOLEAN xvt_cb_open(BOOLEAN writing); -XVTDLL BOOLEAN xvt_cb_put_data(CB_FORMAT cbfmt, char *name, long size, PICTURE pic); - -XVTDLL void xvt_ctl_check_radio_button(WINDOW Win, WINDOW* Wins, int NbrWindows); -XVTDLL WINDOW xvt_ctl_create_def(WIN_DEF *win_def_p, WINDOW parent_win, long app_data); -XVTDLL void xvt_ctl_set_checked(WINDOW Win, BOOLEAN Check); -XVTDLL void xvt_ctl_set_colors(WINDOW win, const XVT_COLOR_COMPONENT* colors, XVT_COLOR_ACTION action); -XVTDLL void xvt_ctl_set_texture(WINDOW win, XVT_IMAGE img); - -XVTDLL void xvt_debug_printf(const char* fmt, ...); - -XVTDLL void xvt_dm_popup_message(const char *fmt); -XVTDLL void xvt_dm_popup_warning(const char *fmt); -XVTDLL void xvt_dm_popup_error(const char *fmt); - -XVTDLL void xvt_dm_post_about_box(void); -XVTDLL ASK_RESPONSE xvt_dm_post_ask(const char* Btn1, const char*Btn2, const char* Btn3, const char* xin_buffer); -XVTDLL COLOR xvt_dm_post_choose_color(WINDOW win, COLOR c); // Added by guy and now deprecated: use xvt_dm_post_color_sel -XVTDLL unsigned int xvt_dm_post_choose_date(WINDOW win, const RCT* ownrct, unsigned int ansidate); // Added by guy -XVTDLL BOOLEAN xvt_dm_post_color_sel(COLOR* color, unsigned long reserved); -XVTDLL void xvt_dm_post_error(const char *fmt); -XVTDLL void xvt_dm_post_fatal_exit(const char *fmt); -XVTDLL FL_STATUS xvt_dm_post_file_open(FILE_SPEC *fsp, const char *msg); -XVTDLL FL_STATUS xvt_dm_post_file_save(FILE_SPEC *fsp, const char *msg); -XVTDLL FL_STATUS xvt_dm_post_dir_sel(DIRECTORY *dir); // Added by Luca -XVTDLL BOOLEAN xvt_dm_post_font_sel(WINDOW win, XVT_FNTID font_id, PRINT_RCD *precp, unsigned long reserved); -XVTDLL void xvt_dm_post_message(const char *fmt); -XVTDLL void xvt_dm_post_note(const char *fmt); -XVTDLL BOOLEAN xvt_dm_post_page_setup(PRINT_RCD *precp); -XVTDLL char* xvt_dm_post_string_prompt(const char* message, char* response, int response_len); -XVTDLL void xvt_dm_post_warning(const char *fmt); -XVTDLL BOOLEAN xvt_dm_post_speech(const char* text, int priority, BOOLEAN async); // 0 = Error, 1 = Warning, 2 Message, ... - -XVTDLL void xvt_dm_speech_enable(int mode); -XVTDLL int xvt_dm_speech_enabled(void); - -// Dongle support by AGA -XVTDLL BOOLEAN xvt_dongle_hl_crypt(unsigned short* data); -XVTDLL BOOLEAN xvt_dongle_hl_login(unsigned short address, const unsigned char* label, const unsigned char* password); -XVTDLL BOOLEAN xvt_dongle_hl_logout(); -XVTDLL BOOLEAN xvt_dongle_hl_read(unsigned short reg, unsigned short* data); -XVTDLL BOOLEAN xvt_dongle_hl_read_block(unsigned char* data); -XVTDLL BOOLEAN xvt_dongle_hl_write(unsigned short reg, unsigned short data); - -XVTDLL BOOLEAN xvt_dongle_sl_crypt(unsigned short* data); -XVTDLL BOOLEAN xvt_dongle_sl_login(const unsigned char* label, const unsigned char* password); -XVTDLL BOOLEAN xvt_dongle_sl_logout(); -XVTDLL BOOLEAN xvt_dongle_sl_read_block(unsigned short reg, unsigned short size, unsigned short* data); -XVTDLL BOOLEAN xvt_dongle_sl_write_block(unsigned short reg, unsigned short size, const unsigned short* data); - -XVTDLL int xvt_dongle_sa_crypt(unsigned short* data); -XVTDLL int xvt_dongle_sa_login(const char* module); -XVTDLL int xvt_dongle_sa_logout(const char* module); -XVTDLL int xvt_dongle_sa_test(const char* module); - -XVTDLL void xvt_dwin_clear(WINDOW win, COLOR col); -XVTDLL void xvt_dwin_draw_arc(WINDOW win, const RCT* r, int sx, int sy, int ex, int ey); +#ifndef XVT_INCL_XVT +#define XVT_INCL_XVT + +#if defined(WIN32)&&(_MSC_VER > 1300) + #define _CRT_SECURE_NO_DEPRECATE 1 +#endif + +#ifdef XVT_INCL_NATIVE +#ifdef WIN32 +#define WIN32_LEAN_AND_MEAN +#define WIN32_EXTRA_LEAN +#define STRICT +#include +#endif +#endif + +#ifdef WIN32 + #ifdef XVAGADLL + #define XVTDLL __declspec(dllexport) + #else + #define XVTDLL __declspec(dllimport) + #endif +#else + #define XVTDLL +#endif + +#include +#include +#include +#include +#include + +#include "xvt_env.h" +#include "xvt_defs.h" +#include "xvt_help.h" +#include "xvt_menu.h" +#include "xvt_type.h" +#include "xvt_vers.h" + +#ifdef __cplusplus +extern "C" { +#endif + +XVTDLL void xvt_app_allow_quit(void); +XVTDLL void xvt_app_pre_create(void); +XVTDLL void xvt_app_create(int argc, char **argv, unsigned long flags, EVENT_HANDLER eh, XVT_CONFIG *config); +XVTDLL void xvt_app_destroy(void); +XVTDLL BOOLEAN xvt_app_escape(int esc_code, PRINT_RCD*, long* ph, long* pw, long* pvr, long* phr); +XVTDLL DRAW_CTOOLS* xvt_app_get_default_ctools(DRAW_CTOOLS* ct); +XVTDLL void xvt_app_process_pending_events(void); + +XVTDLL char* xvt_cb_alloc_data(long size); +XVTDLL BOOLEAN xvt_cb_close(void); +XVTDLL void xvt_cb_free_data(void); +XVTDLL char* xvt_cb_get_data(CB_FORMAT cbfmt, char *name, long *sizep); +XVTDLL BOOLEAN xvt_cb_has_format(CB_FORMAT fmt, char *name); +XVTDLL BOOLEAN xvt_cb_open(BOOLEAN writing); +XVTDLL BOOLEAN xvt_cb_put_data(CB_FORMAT cbfmt, char *name, long size, PICTURE pic); + +XVTDLL void xvt_ctl_check_radio_button(WINDOW Win, WINDOW* Wins, int NbrWindows); +XVTDLL WINDOW xvt_ctl_create_def(WIN_DEF *win_def_p, WINDOW parent_win, long app_data); +XVTDLL void xvt_ctl_set_checked(WINDOW Win, BOOLEAN Check); +XVTDLL void xvt_ctl_set_colors(WINDOW win, const XVT_COLOR_COMPONENT* colors, XVT_COLOR_ACTION action); +XVTDLL void xvt_ctl_set_texture(WINDOW win, XVT_IMAGE img); + +XVTDLL void xvt_debug_printf(const char* fmt, ...); + +XVTDLL void xvt_dm_popup_message(const char *fmt); +XVTDLL void xvt_dm_popup_warning(const char *fmt); +XVTDLL void xvt_dm_popup_error(const char *fmt); + +XVTDLL void xvt_dm_post_about_box(void); +XVTDLL ASK_RESPONSE xvt_dm_post_ask(const char* Btn1, const char*Btn2, const char* Btn3, const char* xin_buffer); +XVTDLL COLOR xvt_dm_post_choose_color(WINDOW win, COLOR c); // Added by guy and now deprecated: use xvt_dm_post_color_sel +XVTDLL unsigned int xvt_dm_post_choose_date(WINDOW win, const RCT* ownrct, unsigned int ansidate); // Added by guy +XVTDLL BOOLEAN xvt_dm_post_color_sel(COLOR* color, unsigned long reserved); +XVTDLL void xvt_dm_post_error(const char *fmt); +XVTDLL void xvt_dm_post_fatal_exit(const char *fmt); +XVTDLL FL_STATUS xvt_dm_post_file_open(FILE_SPEC *fsp, const char *msg); +XVTDLL FL_STATUS xvt_dm_post_file_save(FILE_SPEC *fsp, const char *msg); +XVTDLL FL_STATUS xvt_dm_post_dir_sel(DIRECTORY *dir); // Added by Luca +XVTDLL BOOLEAN xvt_dm_post_font_sel(WINDOW win, XVT_FNTID font_id, PRINT_RCD *precp, unsigned long reserved); +XVTDLL void xvt_dm_post_message(const char *fmt); +XVTDLL void xvt_dm_post_note(const char *fmt); +XVTDLL BOOLEAN xvt_dm_post_page_setup(PRINT_RCD *precp); +XVTDLL char* xvt_dm_post_string_prompt(const char* message, char* response, int response_len); +XVTDLL void xvt_dm_post_warning(const char *fmt); +XVTDLL BOOLEAN xvt_dm_post_speech(const char* text, int priority, BOOLEAN async); // 0 = Error, 1 = Warning, 2 Message, ... + +XVTDLL void xvt_dm_speech_enable(int mode); +XVTDLL int xvt_dm_speech_enabled(void); + +// Dongle support by AGA +XVTDLL BOOLEAN xvt_dongle_hl_crypt(unsigned short* data); +XVTDLL BOOLEAN xvt_dongle_hl_login(unsigned short address, const unsigned char* label, const unsigned char* password); +XVTDLL BOOLEAN xvt_dongle_hl_logout(); +XVTDLL BOOLEAN xvt_dongle_hl_read(unsigned short reg, unsigned short* data); +XVTDLL BOOLEAN xvt_dongle_hl_read_block(unsigned char* data); +XVTDLL BOOLEAN xvt_dongle_hl_write(unsigned short reg, unsigned short data); + +XVTDLL BOOLEAN xvt_dongle_sl_crypt(unsigned short* data); +XVTDLL BOOLEAN xvt_dongle_sl_login(const unsigned char* label, const unsigned char* password); +XVTDLL BOOLEAN xvt_dongle_sl_logout(); +XVTDLL BOOLEAN xvt_dongle_sl_read_block(unsigned short reg, unsigned short size, unsigned short* data); +XVTDLL BOOLEAN xvt_dongle_sl_write_block(unsigned short reg, unsigned short size, const unsigned short* data); + +XVTDLL int xvt_dongle_sa_crypt(unsigned short* data); +XVTDLL int xvt_dongle_sa_login(const char* module); +XVTDLL int xvt_dongle_sa_logout(const char* module); +XVTDLL int xvt_dongle_sa_test(const char* module); + +XVTDLL void xvt_dwin_clear(WINDOW win, COLOR col); +XVTDLL void xvt_dwin_draw_arc(WINDOW win, const RCT* r, int sx, int sy, int ex, int ey); XVTDLL void xvt_dwin_draw_checkmark(WINDOW win, const RCT* rctp); -XVTDLL void xvt_dwin_draw_icon(WINDOW win, int x, int y, int rid); -XVTDLL void xvt_dwin_draw_icon_rect(WINDOW win, RCT* rct, int rid); -XVTDLL void xvt_dwin_draw_gradient_circular(WINDOW win, const RCT* r, COLOR col1, COLOR col2, const PNT* center); // Added by AGA -XVTDLL void xvt_dwin_draw_gradient_linear(WINDOW win, const RCT* r, COLOR col1, COLOR col2, int angle); // Added by AGA -XVTDLL void xvt_dwin_draw_image_on_pdf(WINDOW win, const char* name, RCT* dest); // Added by AGA -XVTDLL void xvt_dwin_draw_image(WINDOW win, XVT_IMAGE image, const RCT* dest, const RCT* source); -XVTDLL void xvt_dwin_draw_line(WINDOW win, PNT pnt); -XVTDLL void xvt_dwin_draw_oval(WINDOW Win, const RCT* r); -XVTDLL void xvt_dwin_draw_pie(WINDOW win, const RCT *rctp, int start_x, int start_y, int stop_x, int stop_y); -XVTDLL void xvt_dwin_draw_polygon(WINDOW win, const PNT *lpnts, int npnts); -XVTDLL void xvt_dwin_draw_polyline(WINDOW win, const PNT *lpnts, int npnts); -XVTDLL void xvt_dwin_draw_rect(WINDOW win, const RCT *rctp); -XVTDLL void xvt_dwin_draw_roundrect(WINDOW win, const RCT *rctp, int oval_width, int oval_height); -XVTDLL void xvt_dwin_draw_dotted_rect(WINDOW win, RCT *rctp); // Added by Guy -XVTDLL void xvt_dwin_draw_tool(WINDOW win, int x, int y, int rid, int size); // Added by Guy -XVTDLL void xvt_dwin_draw_set_pos(WINDOW win, PNT pnt); -XVTDLL void xvt_dwin_draw_text(WINDOW win, int x, int y, const char *s, int len); -XVTDLL RCT* xvt_dwin_get_clip(WINDOW win, RCT* rct); -XVTDLL DRAW_CTOOLS* xvt_dwin_get_draw_ctools(WINDOW win, DRAW_CTOOLS *ctoolsp); -XVTDLL XVT_FNTID xvt_dwin_get_font(WINDOW win); -XVTDLL void xvt_dwin_get_font_metrics(WINDOW win, int *leadingp, int *ascentp, int *descentp); -XVTDLL long xvt_dwin_get_font_size_mapped(WINDOW win); -XVTDLL int xvt_dwin_get_text_width(WINDOW win, const char *s, int len); -XVTDLL void xvt_dwin_invalidate_rect(WINDOW win, const RCT *rctp); -XVTDLL BOOLEAN xvt_dwin_is_update_needed(WINDOW Win, const RCT* rctp); -XVTDLL void xvt_dwin_scroll_rect(WINDOW win, RCT *rctp, int dh, int dv); -XVTDLL void xvt_dwin_set_back_color(WINDOW win, COLOR color); -XVTDLL void xvt_dwin_set_cbrush(WINDOW win, CBRUSH* cbrush); -XVTDLL void xvt_dwin_set_clip(WINDOW win, const RCT* rct); -XVTDLL void xvt_dwin_set_cpen(WINDOW win, CPEN* cpen); -XVTDLL void xvt_dwin_set_draw_ctools(WINDOW win, DRAW_CTOOLS* xct); -XVTDLL void xvt_dwin_set_draw_mode(WINDOW win, DRAW_MODE mode); -XVTDLL void xvt_dwin_set_font(WINDOW win, XVT_FNTID font_id); -XVTDLL void xvt_dwin_set_fore_color(WINDOW win, COLOR color); -XVTDLL void xvt_dwin_set_std_cbrush(WINDOW win, long flag); -XVTDLL void xvt_dwin_set_std_cpen(WINDOW win, long flag); -XVTDLL void xvt_dwin_update(WINDOW win); - -XVTDLL XVT_ERRSEV xvt_errmsg_get_sev_id(XVT_ERRMSG err); - -XVTDLL long xvt_fmap_get_family_sizes(PRINT_RCD *precp, char *family, long *size_array, BOOLEAN *scalable, long max_sizes); -XVTDLL long xvt_fmap_get_families(PRINT_RCD *precp, char **family_array, long max_families); - -XVTDLL void xvt_font_copy(XVT_FNTID dest_font_id, XVT_FNTID src_font_id, XVT_FONT_ATTR_MASK mask); -XVTDLL XVT_FNTID xvt_font_create(void); -XVTDLL void xvt_font_deserialize(XVT_FNTID font_id, const char *buf); -XVTDLL void xvt_font_destroy(XVT_FNTID font_id); -XVTDLL BOOLEAN xvt_font_get_family(XVT_FNTID font_id, char* buf, long max_buf); -XVTDLL BOOLEAN xvt_font_get_family_mapped(XVT_FNTID font_id, char* buf, long max_buf); -XVTDLL void xvt_font_get_metrics(XVT_FNTID font_id, int *leadingp, int *ascentp, int *descentp); -XVTDLL BOOLEAN xvt_font_get_native_desc(XVT_FNTID font_id, char *buf, long max_buf); -XVTDLL long xvt_font_get_size(XVT_FNTID font_id); -XVTDLL XVT_FONT_STYLE_MASK xvt_font_get_style(XVT_FNTID font_id); -XVTDLL WINDOW xvt_font_get_win(XVT_FNTID font_id); -XVTDLL BOOLEAN xvt_font_is_mapped(XVT_FNTID font_id); -XVTDLL void xvt_font_map(XVT_FNTID font_id, WINDOW font_win ); -XVTDLL void xvt_font_map_using_default(XVT_FNTID font_id); -XVTDLL void xvt_font_set_family(XVT_FNTID font_id, const char* family); -XVTDLL void xvt_font_set_size(XVT_FNTID font_id, long size); -XVTDLL void xvt_font_set_style(XVT_FNTID font_id, XVT_FONT_STYLE_MASK mask); -XVTDLL long xvt_font_serialize(XVT_FNTID font_id, char *buf, long max_buf); -XVTDLL void xvt_font_unmap(XVT_FNTID font_id); - -XVTDLL BOOLEAN xvt_fsys_build_pathname(char *mbs, const char *volname, const char *dirname, const char *leafroot, const char *leafext, const char *leafvers); -XVTDLL BOOLEAN xvt_fsys_convert_dir_to_str(DIRECTORY *dirp, char *path, int sz_path); -XVTDLL BOOLEAN xvt_fsys_convert_str_to_dir(const char *path, DIRECTORY *dirp); -XVTDLL BOOLEAN xvt_fsys_convert_fspec_to_str(const FILE_SPEC *fs, char *path, int sz_path); -XVTDLL BOOLEAN xvt_fsys_convert_str_to_fspec(const char *mbs, FILE_SPEC *fs); - -XVTDLL BOOLEAN xvt_fsys_get_dir(DIRECTORY *dirp); -XVTDLL void xvt_fsys_get_default_dir(DIRECTORY *dirp); -XVTDLL SLIST xvt_fsys_list_files(const char *type, const char *pat, BOOLEAN dirs); -XVTDLL BOOLEAN xvt_fsys_parse_pathname (const char *mbs, char *volname, char *dirname, char *leafroot, char *leafext, char *leafvers); -XVTDLL void xvt_fsys_restore_dir(); -XVTDLL void xvt_fsys_save_dir(); -XVTDLL BOOLEAN xvt_fsys_set_dir(const DIRECTORY* dirp); -XVTDLL long xvt_fsys_get_file_attr(const FILE_SPEC *fs, long attr); // Place older -XVTDLL BOOLEAN xvt_fsys_fcopy(const char* orig, const char* dest); - -// Added by Guy -XVTDLL unsigned long xvt_fsys_get_disk_size(const char* path, char unit); -XVTDLL unsigned long xvt_fsys_get_disk_free_space(const char* path, char unit); -XVTDLL BOOLEAN xvt_fsys_is_floppy_drive(const char* path); -XVTDLL BOOLEAN xvt_fsys_is_removable_drive(const char* path); -XVTDLL BOOLEAN xvt_fsys_is_network_drive(const char* path); -XVTDLL BOOLEAN xvt_fsys_is_fixed_drive(const char* path); -XVTDLL BOOLEAN xvt_fsys_test_disk_free_space(const char* path, unsigned long filesize); -XVTDLL BOOLEAN xvt_fsys_mkdir(const char *pathname); -XVTDLL BOOLEAN xvt_fsys_rmdir(const char *pathname); -XVTDLL BOOLEAN xvt_fsys_removefile(const char *pathname); // DEPRECATED! -XVTDLL BOOLEAN xvt_fsys_remove_file(const char *pathname); -XVTDLL BOOLEAN xvt_fsys_rename_file(const char *src_pathname, const char *dst_pathname); -XVTDLL int xvt_fsys_access(const char *pathname, int mode); -XVTDLL BOOLEAN xvt_fsys_file_exists(const char *pathname); -XVTDLL int xvt_fsys_get_campo_stp_value(const char* name, char* value, int valsize); -XVTDLL const char* xvt_fsys_get_campo_ini(); -XVTDLL long xvt_fsys_file_attr(const char* pathname, long attr); -XVTDLL BOOLEAN xvt_fsys_file_md5(const char* path, char* outstr32); - -XVTDLL void xvt_help_close_helpfile(XVT_HELP_INFO hi); -XVTDLL XVT_HELP_INFO xvt_help_open_helpfile(FILE_SPEC *fs, unsigned long flags); -XVTDLL BOOLEAN xvt_help_process_event(XVT_HELP_INFO hi, WINDOW win, EVENT *ev); - -XVTDLL void xvt_image_blur(XVT_IMAGE image, short radius); -XVTDLL XVT_IMAGE xvt_image_capture(WINDOW win, const RCT* rct); -XVTDLL XVT_IMAGE xvt_image_create(XVT_IMAGE_FORMAT format, short width, short height, COLOR color); -XVTDLL void xvt_image_destroy(XVT_IMAGE image); -XVTDLL int xvt_image_find_clut_index(XVT_IMAGE image, COLOR color); -XVTDLL COLOR xvt_image_get_clut(XVT_IMAGE image, short index); -XVTDLL void xvt_image_get_dimensions(XVT_IMAGE image, short *width, short *height); -XVTDLL XVT_IMAGE_FORMAT xvt_image_get_format(XVT_IMAGE image); -XVTDLL short xvt_image_get_ncolors(XVT_IMAGE image); -XVTDLL COLOR xvt_image_get_pixel(XVT_IMAGE image, short x, short y); -XVTDLL XVT_IMAGE xvt_image_read(const char *filenamep); -XVTDLL XVT_IMAGE xvt_image_read_bmp(const char *filenamep); -XVTDLL void xvt_image_replace_color(XVT_IMAGE image, COLOR old_color, COLOR new_color); -XVTDLL void xvt_image_set_clut(XVT_IMAGE image, short index, COLOR color); -XVTDLL void xvt_image_set_ncolors(XVT_IMAGE image, short ncolors); -XVTDLL void xvt_image_set_pixel(XVT_IMAGE image, short x, short y, COLOR color); -XVTDLL void xvt_image_transfer(XVT_IMAGE dstimage, XVT_IMAGE srcimage, RCT *dstrctp, RCT *srcrctp); - -typedef XVT_CALLCONV_TYPEDEF(void, IMAGE_FILTER, (short x, short y, unsigned char* rgba, void* jolly)); -XVTDLL BOOLEAN xvt_image_filter(XVT_IMAGE image, IMAGE_FILTER filter, void* param); - -XVTDLL int xvt_list_add_item(WINDOW win, short icon, const char* text, int flags); -XVTDLL BOOLEAN xvt_list_add(WINDOW win, int index, const char* text); -XVTDLL BOOLEAN xvt_list_clear(WINDOW win); -XVTDLL int xvt_list_get_sel_index(WINDOW win); -XVTDLL BOOLEAN xvt_list_set_sel(WINDOW win, int index, BOOLEAN select); -XVTDLL int xvt_list_count(WINDOW win); -XVTDLL MENU_TAG xvt_list_popup(WINDOW parent, const RCT* ownrct, const MENU_ITEM* menu, const XVT_COLOR_COMPONENT* colors, MENU_TAG first); - -XVTDLL DATA_PTR xvt_mem_alloc(size_t size); -XVTDLL void xvt_mem_free(DATA_PTR p); -XVTDLL DATA_PTR xvt_mem_realloc(DATA_PTR p, size_t size); -XVTDLL DATA_PTR xvt_mem_rep(DATA_PTR dst, DATA_PTR src, unsigned int srclen, long reps); -XVTDLL DATA_PTR xvt_mem_zalloc(size_t size); - -XVTDLL MENU_ITEM* xvt_menu_get_tree(WINDOW win); -XVTDLL BOOLEAN xvt_menu_popup(const MENU_ITEM *menu_p, WINDOW win, PNT pos, XVT_POPUP_ALIGNMENT alignment, MENU_TAG item); -XVTDLL void xvt_menu_set_font_sel(WINDOW win, XVT_FNTID font_id); -XVTDLL void xvt_menu_set_item_checked(WINDOW win, MENU_TAG tag, BOOLEAN check); -XVTDLL void xvt_menu_set_item_enabled(WINDOW win, MENU_TAG tag, BOOLEAN enable); -XVTDLL void xvt_menu_set_item_title(WINDOW win, MENU_TAG tag, const char* text); -XVTDLL void xvt_menu_set_tree(WINDOW win, MENU_ITEM* tree); -XVTDLL void xvt_menu_update(WINDOW win); -XVTDLL MENU_ITEM* xvt_menu_duplicate_tree(const MENU_ITEM* m); - -XVTDLL short xvt_notebk_add_page(WINDOW notebk, WINDOW page, const char* title, XVT_IMAGE img, short page_no); -XVTDLL short xvt_notebk_get_front_page(WINDOW notebk); -XVTDLL short xvt_notebk_get_num_tabs(WINDOW notebk); -XVTDLL WINDOW xvt_notebk_get_page(WINDOW notebk, short page_no); -XVTDLL char* xvt_notebk_get_tab_title(WINDOW notebk, short page_no, char* title, int sz_title); -XVTDLL void xvt_notebk_set_front_page(WINDOW notebk, short page_no); -XVTDLL void xvt_notebk_set_tab_icon(WINDOW notebk, short page_no, int rid); -XVTDLL void xvt_notebk_set_tab_image(WINDOW notebk, short page_no, XVT_IMAGE img); -XVTDLL void xvt_notebk_set_tab_title(WINDOW notebk, short page_no, const char* title); -XVTDLL void xvt_notebk_set_page_title(WINDOW notebk, short page_no, const char* title); -XVTDLL void xvt_notebk_rem_page(WINDOW notebk, short page_no); -XVTDLL void xvt_notebk_rem_tab(WINDOW notebk, short tab_no); - -// Added by Guy -typedef const char* TRANSLATE_CALLBACK(const char* ita); -XVTDLL void xvt_menu_translate_tree(WINDOW win, TRANSLATE_CALLBACK tc); - -XVTDLL short xvt_palet_add_colors(XVT_PALETTE palet, COLOR *colorsp, short numcolors); -XVTDLL short xvt_palet_add_colors_from_image(XVT_PALETTE palet, XVT_IMAGE image); -XVTDLL XVT_PALETTE xvt_palet_create(XVT_PALETTE_TYPE type, XVT_PALETTE_ATTR reserved); -XVTDLL void xvt_palet_destroy(XVT_PALETTE palet); -XVTDLL short xvt_palet_get_colors(XVT_PALETTE palet, COLOR *colorsp, short maxcolors); -XVTDLL short xvt_palet_get_ncolors(XVT_PALETTE palet); -XVTDLL int xvt_palet_get_tolerance(XVT_PALETTE p); -XVTDLL void xvt_palet_set_tolerance(XVT_PALETTE p, int t); - -XVTDLL void xvt_print_close(void); -XVTDLL BOOLEAN xvt_print_close_page(PRINT_RCD *precp); -XVTDLL PRINT_RCD* xvt_print_create(int *sizep); -XVTDLL PRINT_RCD* xvt_print_create_by_name(int* sizep, const char* name); // Added by Aga -XVTDLL int xvt_print_get_name(const PRINT_RCD *precp, char* name, int sz_s); // Added by Aga -XVTDLL int xvt_print_set_name(PRINT_RCD* precp, const char* name); // Added by Aga -XVTDLL WINDOW xvt_print_create_win(PRINT_RCD *precp, const char* title); - -XVTDLL void xvt_print_destroy(PRINT_RCD *precp); -XVTDLL RCT* xvt_print_get_next_band(void); -XVTDLL BOOLEAN xvt_print_is_valid(const PRINT_RCD *precp); -XVTDLL BOOLEAN xvt_print_open(void); -XVTDLL BOOLEAN xvt_print_start_thread (BOOLEAN (* print_fcn)(long), long data); -XVTDLL BOOLEAN xvt_print_open_page(PRINT_RCD *precp); -// Added XVAGA -XVTDLL SLIST xvt_print_list_devices(); -XVTDLL BOOLEAN xvt_print_set_default_device(const char* name); -XVTDLL BOOLEAN xvt_print_get_default_device(char* name, int namesize); -XVTDLL BOOLEAN xvt_print_suspend_thread(); -XVTDLL BOOLEAN xvt_print_restart_thread(); -XVTDLL BOOLEAN xvt_print_is_pdf(const PRINT_RCD* precp); -XVTDLL BOOLEAN xvt_print_pdf_version(char* version, int size); - -XVTDLL void xvt_rect_deflate(RCT *rctp, short ix, short iy); -XVTDLL int xvt_rect_get_height(const RCT *rctp); -XVTDLL int xvt_rect_get_width(const RCT *rctp); -XVTDLL BOOLEAN xvt_rect_has_point(const RCT *rctp, PNT pnt); -XVTDLL void xvt_rect_inflate(RCT *rctp, short ix, short iy); -XVTDLL BOOLEAN xvt_rect_intersect(RCT *drctp, const RCT *rctp1, const RCT *rctp2); -XVTDLL BOOLEAN xvt_rect_is_empty(const RCT *rctp); -XVTDLL void xvt_rect_offset(RCT *rctp, short dh, short dv); -XVTDLL void xvt_rect_set(RCT *rctp, short left, short top, short right, short bottom); -XVTDLL void xvt_rect_set_empty(RCT *rctp); -XVTDLL void xvt_rect_set_null(RCT* rctp); -XVTDLL BOOLEAN xvt_rect_set_pos(RCT *rctp, PNT pos); - -XVTDLL void xvt_res_free_menu_tree(MENU_ITEM* tree); -XVTDLL XVT_FNTID xvt_res_get_font(int rid); -XVTDLL XVT_IMAGE xvt_res_get_icon(int rid); -XVTDLL XVT_IMAGE xvt_res_get_image(int rid); -XVTDLL MENU_ITEM* xvt_res_get_menu(int rid); -XVTDLL char* xvt_res_get_str(int rid, char *s, int sz_s); - -XVTDLL int xvt_sbar_get_pos(WINDOW win, SCROLL_TYPE t); -XVTDLL int xvt_sbar_get_proportion(WINDOW win, SCROLL_TYPE t); -XVTDLL void xvt_sbar_get_range(WINDOW win, SCROLL_TYPE t, int *minp, int *maxp); -XVTDLL void xvt_sbar_set_pos(WINDOW win, SCROLL_TYPE t, int pos); -XVTDLL void xvt_sbar_set_proportion(WINDOW win, SCROLL_TYPE t, int proportion); -XVTDLL void xvt_sbar_set_range(WINDOW win, SCROLL_TYPE t, int min, int max); - -XVTDLL void xvt_scr_beep(void); -XVTDLL WINDOW xvt_scr_get_focus_topwin(void); -XVTDLL WINDOW xvt_scr_get_focus_vobj(void); -XVTDLL SLIST xvt_scr_list_wins(); -XVTDLL void xvt_scr_set_busy_cursor(); -XVTDLL void xvt_scr_set_focus_vobj(WINDOW win); - -XVTDLL BOOLEAN xvt_slist_add_at_elt(SLIST x, SLIST_ELT e, const char *sx, long data); -XVTDLL int xvt_slist_count(SLIST x); -XVTDLL SLIST xvt_slist_create(); -XVTDLL void xvt_slist_destroy(SLIST list); -XVTDLL char* xvt_slist_get(SLIST x, SLIST_ELT e, long *datap); -XVTDLL long* xvt_slist_get_data(SLIST_ELT elt); -XVTDLL SLIST_ELT xvt_slist_get_first(SLIST list); -XVTDLL SLIST_ELT xvt_slist_get_next(SLIST list, SLIST_ELT item); - -XVTDLL int xvt_str_compare_ignoring_case (const char* s1, const char* s2); -XVTDLL int xvt_str_encode(const char* text, char* cypher, int mode); -XVTDLL int xvt_str_decode(const char* cypher, char* text, int mode); -XVTDLL char* xvt_str_duplicate(const char* str); -XVTDLL BOOLEAN xvt_str_match(const char* str, const char* pat, BOOLEAN case_sensitive); -XVTDLL double xvt_str_fuzzy_compare (const char* s1, const char* s2); -XVTDLL double xvt_str_fuzzy_compare_ignoring_case(const char* s1, const char* s2); -XVTDLL void xvt_str_make_upper(char* str); -XVTDLL void xvt_str_make_lower(char* str); -XVTDLL char* xvt_str_number_format(char* str, int size); -XVTDLL BOOLEAN xvt_str_md5(const char* instr, char* outstr32); - -XVTDLL XVT_TREEVIEW_NODE xvt_treeview_add_child_node(WINDOW win, - XVT_TREEVIEW_NODE parent, XVT_TREEVIEW_NODE_TYPE type, - XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image, - const char* string, XVT_TREEVIEW_CALLBACK callback, const char* data); -XVTDLL WINDOW xvt_treeview_create(WINDOW parent_win, - RCT * rct_p, char * title, long ctl_flags, long app_data, int ctl_id, - XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image, - long attrs, int line_height); -XVTDLL void xvt_treeview_destroy_node(WINDOW win, XVT_TREEVIEW_NODE node); -XVTDLL BOOLEAN xvt_treeview_enable_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN on); -XVTDLL BOOLEAN xvt_treeview_expand_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN recurse); -XVTDLL XVT_TREEVIEW_NODE xvt_treeview_find_node_string(WINDOW win, const char* text); -XVTDLL XVT_TREEVIEW_NODE xvt_treeview_get_child_node(WINDOW win, XVT_TREEVIEW_NODE parent_node, int position); -XVTDLL const char* xvt_treeview_get_node_data(WINDOW win, XVT_TREEVIEW_NODE node); -XVTDLL XVT_TREEVIEW_NODE xvt_treeview_get_root_node(WINDOW win); -XVTDLL XVT_TREEVIEW_NODE xvt_treeview_get_selected_node(WINDOW win); -XVTDLL SLIST xvt_treeview_get_selected_list(WINDOW win); -XVTDLL BOOLEAN xvt_treeview_remove_child_node(WINDOW win, XVT_TREEVIEW_NODE node); -XVTDLL BOOLEAN xvt_treeview_remove_node_children(WINDOW win, XVT_TREEVIEW_NODE node); -XVTDLL void xvt_treeview_resume(WINDOW win); -XVTDLL void xvt_treeview_select_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN sel); -XVTDLL void xvt_treeview_set_node_bold(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN bold); -XVTDLL void xvt_treeview_set_node_images(WINDOW win, XVT_TREEVIEW_NODE node, - XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image); -XVTDLL void xvt_treeview_set_node_string(WINDOW win, XVT_TREEVIEW_NODE node, const char* text); -XVTDLL void xvt_treeview_suspend(WINDOW win); - -XVTDLL BOOLEAN xvt_chr_is_digit(int c); -XVTDLL BOOLEAN xvt_chr_is_alpha(int c); -XVTDLL BOOLEAN xvt_chr_is_alnum(int c); - -// System calls by XVAGA -XVTDLL void xvt_sys_beep(int severity); -XVTDLL long xvt_sys_close_children(WINDOW win); -XVTDLL long xvt_sys_execute(const char* cmdline, BOOLEAN sync, BOOLEAN iconizetask); -XVTDLL long xvt_sys_execute_in_window(const char* cmdline, WINDOW win); -XVTDLL BOOLEAN xvt_sys_kill(long pid); - -typedef XVT_CALLCONV_TYPEDEF(int, XVT_MULTITHREAD_CALLBACK, (void* pCaller, void* pData, int i, int tot) ); -XVTDLL BOOLEAN xvt_sys_multithread(XVT_MULTITHREAD_CALLBACK callback, void* pCaller, void* pData, int tot, const char* msg); - -XVTDLL BOOLEAN xvt_sys_get_host_name(char* name, int maxlen); -XVTDLL BOOLEAN xvt_sys_get_user_name(char* name, int maxlen); -XVTDLL BOOLEAN xvt_sys_goto_url(const char* url, const char* action); -XVTDLL BOOLEAN xvt_sys_dongle_server_is_running(); -XVTDLL BOOLEAN xvt_sys_find_editor(const char* file, char* editor); -XVTDLL BOOLEAN xvt_sys_get_env(const char* varname, char* value, int max_size); -XVTDLL long xvt_sys_get_oem_int(const char* name, long defval); -XVTDLL int xvt_sys_get_oem_string(const char* name, const char* defval, char* value, int maxsize); -XVTDLL int xvt_sys_get_profile_string(const char* file, const char* paragraph, const char* name, - const char* defval, char* value, int maxsize); -XVTDLL long xvt_sys_get_profile_int(const char* file, const char* paragraph, const char* name, long defval); -XVTDLL BOOLEAN xvt_sys_set_profile_string(const char* file, const char* paragraph, const char* name, const char* value); -XVTDLL int xvt_sys_get_session_id(); -XVTDLL unsigned long xvt_sys_get_free_memory(); -XVTDLL unsigned long xvt_sys_get_free_memory_kb(); -XVTDLL int xvt_sys_get_os_version(); -XVTDLL BOOLEAN xvt_sys_is_pda(); -XVTDLL int xvt_sys_get_version(char* os_version, char* ptk_version, int maxsize); -XVTDLL unsigned int xvt_sys_load_icon(const char* file); -XVTDLL void xvt_sys_sleep(unsigned long msec); - -XVTDLL void xvt_sys_search_env(const char* filename, const char* varname, char* pathname); -XVTDLL void xvt_sys_searchenv(const char * filename, const char * varname, char * pathname); // DEPRECATED! -XVTDLL BOOLEAN xvt_sys_set_env(const char* varname, const char* value); -XVTDLL void xvt_sys_sorry_box(const char* func, const char* file, int line); -XVTDLL void xvt_sys_deprecated_box(const char* oldfunc, const char* file, const char* newfunc); - -XVTDLL struct tm* xvt_time_now(); -XVTDLL long xvt_timer_create(WINDOW win, long interval); -XVTDLL void xvt_timer_destroy(long id); - -XVTDLL WINDOW xvt_trayicon_create(WINDOW owner, short icon, const char* tooltip); -XVTDLL void xvt_trayicon_destroy(WINDOW tray); - -XVTDLL void xvt_vobj_destroy(WINDOW win); -XVTDLL long xvt_vobj_get_attr(WINDOW win, long data); -XVTDLL RCT* xvt_vobj_get_client_rect(WINDOW win, RCT *rctp); -XVTDLL long xvt_vobj_get_data(WINDOW win); -XVTDLL RCT* xvt_vobj_get_outer_rect(WINDOW win, RCT *rctp); -XVTDLL XVT_PALETTE xvt_vobj_get_palet(WINDOW win); -XVTDLL WINDOW xvt_vobj_get_parent(WINDOW win); -XVTDLL char* xvt_vobj_get_title(WINDOW win, char *title, int sz_title); -XVTDLL WIN_TYPE xvt_vobj_get_type(WINDOW win); -XVTDLL BOOLEAN xvt_vobj_is_focusable(WINDOW win); -XVTDLL BOOLEAN xvt_vobj_is_valid(WINDOW win); -XVTDLL void xvt_vobj_maximize(WINDOW win); // Added by XVAGA -XVTDLL void xvt_vobj_minimize(WINDOW win); // Added by XVAGA -XVTDLL void xvt_vobj_move(WINDOW win, const RCT* rctp); -XVTDLL void xvt_vobj_raise(WINDOW win); -XVTDLL void xvt_vobj_set_attr(WINDOW win, long data, long value); -XVTDLL void xvt_vobj_set_data(WINDOW win, long AppData); -XVTDLL void xvt_vobj_set_enabled(WINDOW win, BOOLEAN enabled); -XVTDLL void xvt_vobj_set_palet(WINDOW win, XVT_PALETTE palet); -XVTDLL void xvt_vobj_set_title(WINDOW win, const char* title); -XVTDLL void xvt_vobj_set_visible(WINDOW win, BOOLEAN show); -XVTDLL void xvt_vobj_translate_points(WINDOW from_win, WINDOW to_win, PNT *pntp, int npnts); -XVTDLL WINDOW xvt_win_create(WIN_TYPE wtype, const RCT* rct_p, const char* title, int menu_rid, WINDOW parent_win, long win_flags, EVENT_MASK mask, EVENT_HANDLER eh, long app_data); -XVTDLL long xvt_win_dispatch_event(WINDOW win, EVENT* event_p); -XVTDLL BOOLEAN xvt_win_enum_wins(WINDOW parent_win, XVT_ENUM_CHILDREN func, long data, unsigned long reserved); -XVTDLL long xvt_win_get_children_count(WINDOW parent_win); -XVTDLL void xvt_win_post_event(WINDOW win, EVENT* event_p); // Added by XVAGA -XVTDLL void xvt_win_release_pointer(void); -XVTDLL void xvt_win_set_caret_size(WINDOW win, int width, int height); -XVTDLL void xvt_win_set_caret_pos(WINDOW win, PNT p); -XVTDLL void xvt_win_set_caret_visible(WINDOW win, BOOLEAN on); -XVTDLL void xvt_win_set_cursor(WINDOW win, CURSOR Cursor); -XVTDLL void xvt_win_set_handler(WINDOW win, EVENT_HANDLER eh); -XVTDLL void xvt_win_trap_pointer(WINDOW win); - -// Added by XVAGA -XVTDLL BOOLEAN xvt_pane_add(WINDOW parent, WINDOW pane, const char* name, int dock, int flags); -XVTDLL BOOLEAN xvt_pane_change_flags(WINDOW pane, int set, int reset); -XVTDLL BOOLEAN xvt_pane_detach(WINDOW pane); -XVTDLL BOOLEAN xvt_pane_manager_load_perspective(WINDOW win, const char* str); -XVTDLL int xvt_pane_manager_save_perspective(WINDOW win, char* str, int max_size); -XVTDLL BOOLEAN xvt_pane_set_size_range(WINDOW pane, int min_size, int best_size, int max_size); -XVTDLL BOOLEAN xvt_pane_set_title(WINDOW pane, const char* title); - -XVTDLL BOOLEAN xvt_sign_file(const char* input_file, char* output_file); -XVTDLL BOOLEAN xvt_sign_start(); -XVTDLL BOOLEAN xvt_sign_stop(); -XVTDLL BOOLEAN xvt_sign_test(const char* input_file); - -typedef int ODBC_CALLBACK(void*, int, char**, char**); -XVTDLL XVT_ODBC xvt_odbc_get_connection(const char* dsn, const char* usr, const char* pwd, const char* dir); -XVTDLL BOOLEAN xvt_odbc_free_connection(XVT_ODBC handle); -XVTDLL ULONG xvt_odbc_execute(XVT_ODBC handle, const char* sql, ODBC_CALLBACK cb, void* jolly); -XVTDLL BOOLEAN xvt_odbc_driver(XVT_ODBC handle, char* str, int max_size); - -typedef BOOLEAN PROP_CALLBACK(WINDOW win, XVT_TREEVIEW_NODE node, void* app_data); -XVTDLL XVT_TREEVIEW_NODE xvt_prop_add(WINDOW win, const char* type, const char* name, const char* value, const char* label); -XVTDLL XVT_TREEVIEW_NODE xvt_prop_current(WINDOW win); -XVTDLL XVT_TREEVIEW_NODE xvt_prop_find(WINDOW win, const char* name); -XVTDLL void xvt_prop_fit_columns(WINDOW win); -XVTDLL BOOLEAN xvt_prop_for_each(WINDOW win, PROP_CALLBACK pcb, void* jolly); -XVTDLL int xvt_prop_get_data(WINDOW win, XVT_TREEVIEW_NODE node, char* value, int maxlen); -XVTDLL int xvt_prop_get_string(WINDOW win, XVT_TREEVIEW_NODE node, char* label, int maxlen); -XVTDLL int xvt_prop_get_type(WINDOW win, XVT_TREEVIEW_NODE node, char* type, int maxlen); -XVTDLL BOOLEAN xvt_prop_remove(WINDOW win, XVT_TREEVIEW_NODE node); -XVTDLL BOOLEAN xvt_prop_restart(WINDOW win); -XVTDLL BOOLEAN xvt_prop_set_data(WINDOW win, XVT_TREEVIEW_NODE node, const char* value); -XVTDLL BOOLEAN xvt_prop_set_read_only(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN ro); -XVTDLL BOOLEAN xvt_prop_suspend(WINDOW win); - -XVTDLL XVT_TREEVIEW_NODE xvt_treelist_add_child_node(WINDOW win, - XVT_TREEVIEW_NODE parent, XVT_TREEVIEW_NODE_TYPE type, - XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image, - const char* string, XVT_TREEVIEW_CALLBACK callback, const char* data); -XVTDLL WINDOW xvt_treelist_create(WINDOW parent_win, - RCT * rct_p, char * title, long ctl_flags, long app_data, int ctl_id, - XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image, - long attrs, int line_height); -XVTDLL void xvt_treelist_destroy_node(WINDOW win, XVT_TREEVIEW_NODE node); -XVTDLL BOOLEAN xvt_treelist_enable_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN on); -XVTDLL BOOLEAN xvt_treelist_expand_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN recurse); -XVTDLL XVT_TREEVIEW_NODE xvt_treelist_find_node_string(WINDOW win, const char* text); -XVTDLL XVT_TREEVIEW_NODE xvt_treelist_get_child_node(WINDOW win, XVT_TREEVIEW_NODE parent_node, int position); -XVTDLL const char* xvt_treelist_get_node_data(WINDOW win, XVT_TREEVIEW_NODE node); -XVTDLL XVT_TREEVIEW_NODE xvt_treelist_get_root_node(WINDOW win); -XVTDLL XVT_TREEVIEW_NODE xvt_treelist_get_selected_node(WINDOW win); -XVTDLL SLIST xvt_treelist_get_selected_list(WINDOW win); -XVTDLL BOOLEAN xvt_treelist_remove_child_node(WINDOW win, XVT_TREEVIEW_NODE node); -XVTDLL BOOLEAN xvt_treelist_remove_node_children(WINDOW win, XVT_TREEVIEW_NODE node); -XVTDLL void xvt_treelist_resume(WINDOW win); -XVTDLL void xvt_treelist_select_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN sel); -XVTDLL void xvt_treelist_set_node_bold(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN bold); -XVTDLL void xvt_treelist_set_node_images(WINDOW win, XVT_TREEVIEW_NODE node, - XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image); -XVTDLL void xvt_treelist_set_node_string(WINDOW win, XVT_TREEVIEW_NODE node, const char* text); -XVTDLL void xvt_treelist_suspend(WINDOW win); - -XVTDLL BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn, - const char* subject, const char* msg, const char* attach, short flags); // 0x1=UI; 0x2=Receipt -XVTDLL BOOLEAN xvt_mail_installed(); - -XVTDLL void xvt_btn_set_images(WINDOW win, XVT_IMAGE up, XVT_IMAGE down); -XVTDLL int xvt_net_get_status(); - -#ifdef __cplusplus -} -#endif - -#define SORRY_BOX() xvt_sys_sorry_box(__FUNCTION__, __FILE__, __LINE__) - -#ifdef NDEBUG -#define DEPRECATED_BOX(newfunc) -#else -#define DEPRECATED_BOX(newfunc) xvt_sys_deprecated_box(__FUNCTION__, __FILE__, newfunc) -#endif - -#endif +XVTDLL void xvt_dwin_draw_icon(WINDOW win, int x, int y, int rid); +XVTDLL void xvt_dwin_draw_icon_rect(WINDOW win, RCT* rct, int rid); +XVTDLL void xvt_dwin_draw_gradient_circular(WINDOW win, const RCT* r, COLOR col1, COLOR col2, const PNT* center); // Added by AGA +XVTDLL void xvt_dwin_draw_gradient_linear(WINDOW win, const RCT* r, COLOR col1, COLOR col2, int angle); // Added by AGA +XVTDLL void xvt_dwin_draw_image_on_pdf(WINDOW win, const char* name, RCT* dest); // Added by AGA +XVTDLL void xvt_dwin_draw_image(WINDOW win, XVT_IMAGE image, const RCT* dest, const RCT* source); +XVTDLL void xvt_dwin_draw_line(WINDOW win, PNT pnt); +XVTDLL void xvt_dwin_draw_oval(WINDOW Win, const RCT* r); +XVTDLL void xvt_dwin_draw_pie(WINDOW win, const RCT *rctp, int start_x, int start_y, int stop_x, int stop_y); +XVTDLL void xvt_dwin_draw_polygon(WINDOW win, const PNT *lpnts, int npnts); +XVTDLL void xvt_dwin_draw_polyline(WINDOW win, const PNT *lpnts, int npnts); +XVTDLL void xvt_dwin_draw_rect(WINDOW win, const RCT *rctp); +XVTDLL void xvt_dwin_draw_roundrect(WINDOW win, const RCT *rctp, int oval_width, int oval_height); +XVTDLL void xvt_dwin_draw_dotted_rect(WINDOW win, RCT *rctp); // Added by Guy +XVTDLL void xvt_dwin_draw_tool(WINDOW win, int x, int y, int rid, int size); // Added by Guy +XVTDLL void xvt_dwin_draw_set_pos(WINDOW win, PNT pnt); +XVTDLL void xvt_dwin_draw_text(WINDOW win, int x, int y, const char *s, int len); +XVTDLL RCT* xvt_dwin_get_clip(WINDOW win, RCT* rct); +XVTDLL DRAW_CTOOLS* xvt_dwin_get_draw_ctools(WINDOW win, DRAW_CTOOLS *ctoolsp); +XVTDLL XVT_FNTID xvt_dwin_get_font(WINDOW win); +XVTDLL void xvt_dwin_get_font_metrics(WINDOW win, int *leadingp, int *ascentp, int *descentp); +XVTDLL long xvt_dwin_get_font_size_mapped(WINDOW win); +XVTDLL int xvt_dwin_get_text_width(WINDOW win, const char *s, int len); +XVTDLL void xvt_dwin_invalidate_rect(WINDOW win, const RCT *rctp); +XVTDLL BOOLEAN xvt_dwin_is_update_needed(WINDOW Win, const RCT* rctp); +XVTDLL void xvt_dwin_scroll_rect(WINDOW win, RCT *rctp, int dh, int dv); +XVTDLL void xvt_dwin_set_back_color(WINDOW win, COLOR color); +XVTDLL void xvt_dwin_set_cbrush(WINDOW win, CBRUSH* cbrush); +XVTDLL void xvt_dwin_set_clip(WINDOW win, const RCT* rct); +XVTDLL void xvt_dwin_set_cpen(WINDOW win, CPEN* cpen); +XVTDLL void xvt_dwin_set_draw_ctools(WINDOW win, DRAW_CTOOLS* xct); +XVTDLL void xvt_dwin_set_draw_mode(WINDOW win, DRAW_MODE mode); +XVTDLL void xvt_dwin_set_font(WINDOW win, XVT_FNTID font_id); +XVTDLL void xvt_dwin_set_fore_color(WINDOW win, COLOR color); +XVTDLL void xvt_dwin_set_std_cbrush(WINDOW win, long flag); +XVTDLL void xvt_dwin_set_std_cpen(WINDOW win, long flag); +XVTDLL void xvt_dwin_update(WINDOW win); + +XVTDLL XVT_ERRSEV xvt_errmsg_get_sev_id(XVT_ERRMSG err); + +XVTDLL long xvt_fmap_get_family_sizes(PRINT_RCD *precp, char *family, long *size_array, BOOLEAN *scalable, long max_sizes); +XVTDLL long xvt_fmap_get_families(PRINT_RCD *precp, char **family_array, long max_families); + +XVTDLL void xvt_font_copy(XVT_FNTID dest_font_id, XVT_FNTID src_font_id, XVT_FONT_ATTR_MASK mask); +XVTDLL XVT_FNTID xvt_font_create(void); +XVTDLL void xvt_font_deserialize(XVT_FNTID font_id, const char *buf); +XVTDLL void xvt_font_destroy(XVT_FNTID font_id); +XVTDLL BOOLEAN xvt_font_get_family(XVT_FNTID font_id, char* buf, long max_buf); +XVTDLL BOOLEAN xvt_font_get_family_mapped(XVT_FNTID font_id, char* buf, long max_buf); +XVTDLL void xvt_font_get_metrics(XVT_FNTID font_id, int *leadingp, int *ascentp, int *descentp); +XVTDLL BOOLEAN xvt_font_get_native_desc(XVT_FNTID font_id, char *buf, long max_buf); +XVTDLL long xvt_font_get_size(XVT_FNTID font_id); +XVTDLL XVT_FONT_STYLE_MASK xvt_font_get_style(XVT_FNTID font_id); +XVTDLL WINDOW xvt_font_get_win(XVT_FNTID font_id); +XVTDLL BOOLEAN xvt_font_is_mapped(XVT_FNTID font_id); +XVTDLL void xvt_font_map(XVT_FNTID font_id, WINDOW font_win ); +XVTDLL void xvt_font_map_using_default(XVT_FNTID font_id); +XVTDLL void xvt_font_set_family(XVT_FNTID font_id, const char* family); +XVTDLL void xvt_font_set_size(XVT_FNTID font_id, long size); +XVTDLL void xvt_font_set_style(XVT_FNTID font_id, XVT_FONT_STYLE_MASK mask); +XVTDLL long xvt_font_serialize(XVT_FNTID font_id, char *buf, long max_buf); +XVTDLL void xvt_font_unmap(XVT_FNTID font_id); + +XVTDLL BOOLEAN xvt_fsys_build_pathname(char *mbs, const char *volname, const char *dirname, const char *leafroot, const char *leafext, const char *leafvers); +XVTDLL BOOLEAN xvt_fsys_convert_dir_to_str(DIRECTORY *dirp, char *path, int sz_path); +XVTDLL BOOLEAN xvt_fsys_convert_str_to_dir(const char *path, DIRECTORY *dirp); +XVTDLL BOOLEAN xvt_fsys_convert_fspec_to_str(const FILE_SPEC *fs, char *path, int sz_path); +XVTDLL BOOLEAN xvt_fsys_convert_str_to_fspec(const char *mbs, FILE_SPEC *fs); + +XVTDLL BOOLEAN xvt_fsys_get_dir(DIRECTORY *dirp); +XVTDLL void xvt_fsys_get_default_dir(DIRECTORY *dirp); +XVTDLL SLIST xvt_fsys_list_files(const char *type, const char *pat, BOOLEAN dirs); +XVTDLL BOOLEAN xvt_fsys_parse_pathname (const char *mbs, char *volname, char *dirname, char *leafroot, char *leafext, char *leafvers); +XVTDLL void xvt_fsys_restore_dir(); +XVTDLL void xvt_fsys_save_dir(); +XVTDLL BOOLEAN xvt_fsys_set_dir(const DIRECTORY* dirp); +XVTDLL long xvt_fsys_get_file_attr(const FILE_SPEC *fs, long attr); // Place older +XVTDLL BOOLEAN xvt_fsys_fcopy(const char* orig, const char* dest); + +// Added by Guy +XVTDLL unsigned long xvt_fsys_get_disk_size(const char* path, char unit); +XVTDLL unsigned long xvt_fsys_get_disk_free_space(const char* path, char unit); +XVTDLL BOOLEAN xvt_fsys_is_floppy_drive(const char* path); +XVTDLL BOOLEAN xvt_fsys_is_removable_drive(const char* path); +XVTDLL BOOLEAN xvt_fsys_is_network_drive(const char* path); +XVTDLL BOOLEAN xvt_fsys_is_fixed_drive(const char* path); +XVTDLL BOOLEAN xvt_fsys_test_disk_free_space(const char* path, unsigned long filesize); +XVTDLL BOOLEAN xvt_fsys_mkdir(const char *pathname); +XVTDLL BOOLEAN xvt_fsys_rmdir(const char *pathname); +XVTDLL BOOLEAN xvt_fsys_removefile(const char *pathname); // DEPRECATED! +XVTDLL BOOLEAN xvt_fsys_remove_file(const char *pathname); +XVTDLL BOOLEAN xvt_fsys_rename_file(const char *src_pathname, const char *dst_pathname); +XVTDLL int xvt_fsys_access(const char *pathname, int mode); +XVTDLL BOOLEAN xvt_fsys_file_exists(const char *pathname); +XVTDLL int xvt_fsys_get_campo_stp_value(const char* name, char* value, int valsize); +XVTDLL const char* xvt_fsys_get_campo_ini(); +XVTDLL long xvt_fsys_file_attr(const char* pathname, long attr); +XVTDLL BOOLEAN xvt_fsys_file_md5(const char* path, char* outstr32); + +XVTDLL void xvt_help_close_helpfile(XVT_HELP_INFO hi); +XVTDLL XVT_HELP_INFO xvt_help_open_helpfile(FILE_SPEC *fs, unsigned long flags); +XVTDLL BOOLEAN xvt_help_process_event(XVT_HELP_INFO hi, WINDOW win, EVENT *ev); + +XVTDLL void xvt_image_blur(XVT_IMAGE image, short radius); +XVTDLL XVT_IMAGE xvt_image_capture(WINDOW win, const RCT* rct); +XVTDLL XVT_IMAGE xvt_image_create(XVT_IMAGE_FORMAT format, short width, short height, COLOR color); +XVTDLL void xvt_image_destroy(XVT_IMAGE image); +XVTDLL int xvt_image_find_clut_index(XVT_IMAGE image, COLOR color); +XVTDLL COLOR xvt_image_get_clut(XVT_IMAGE image, short index); +XVTDLL void xvt_image_get_dimensions(XVT_IMAGE image, short *width, short *height); +XVTDLL XVT_IMAGE_FORMAT xvt_image_get_format(XVT_IMAGE image); +XVTDLL short xvt_image_get_ncolors(XVT_IMAGE image); +XVTDLL COLOR xvt_image_get_pixel(XVT_IMAGE image, short x, short y); +XVTDLL XVT_IMAGE xvt_image_read(const char *filenamep); +XVTDLL XVT_IMAGE xvt_image_read_bmp(const char *filenamep); +XVTDLL void xvt_image_replace_color(XVT_IMAGE image, COLOR old_color, COLOR new_color); +XVTDLL void xvt_image_set_clut(XVT_IMAGE image, short index, COLOR color); +XVTDLL void xvt_image_set_ncolors(XVT_IMAGE image, short ncolors); +XVTDLL void xvt_image_set_pixel(XVT_IMAGE image, short x, short y, COLOR color); +XVTDLL void xvt_image_transfer(XVT_IMAGE dstimage, XVT_IMAGE srcimage, RCT *dstrctp, RCT *srcrctp); + +typedef XVT_CALLCONV_TYPEDEF(void, IMAGE_FILTER, (short x, short y, unsigned char* rgba, void* jolly)); +XVTDLL BOOLEAN xvt_image_filter(XVT_IMAGE image, IMAGE_FILTER filter, void* param); + +XVTDLL int xvt_list_add_item(WINDOW win, short icon, const char* text, int flags); +XVTDLL BOOLEAN xvt_list_add(WINDOW win, int index, const char* text); +XVTDLL BOOLEAN xvt_list_clear(WINDOW win); +XVTDLL int xvt_list_get_sel_index(WINDOW win); +XVTDLL BOOLEAN xvt_list_set_sel(WINDOW win, int index, BOOLEAN select); +XVTDLL int xvt_list_count(WINDOW win); +XVTDLL MENU_TAG xvt_list_popup(WINDOW parent, const RCT* ownrct, const MENU_ITEM* menu, const XVT_COLOR_COMPONENT* colors, MENU_TAG first); + +XVTDLL DATA_PTR xvt_mem_alloc(size_t size); +XVTDLL void xvt_mem_free(DATA_PTR p); +XVTDLL DATA_PTR xvt_mem_realloc(DATA_PTR p, size_t size); +XVTDLL DATA_PTR xvt_mem_rep(DATA_PTR dst, DATA_PTR src, unsigned int srclen, long reps); +XVTDLL DATA_PTR xvt_mem_zalloc(size_t size); + +XVTDLL MENU_ITEM* xvt_menu_get_tree(WINDOW win); +XVTDLL BOOLEAN xvt_menu_popup(const MENU_ITEM *menu_p, WINDOW win, PNT pos, XVT_POPUP_ALIGNMENT alignment, MENU_TAG item); +XVTDLL void xvt_menu_set_font_sel(WINDOW win, XVT_FNTID font_id); +XVTDLL void xvt_menu_set_item_checked(WINDOW win, MENU_TAG tag, BOOLEAN check); +XVTDLL void xvt_menu_set_item_enabled(WINDOW win, MENU_TAG tag, BOOLEAN enable); +XVTDLL void xvt_menu_set_item_title(WINDOW win, MENU_TAG tag, const char* text); +XVTDLL void xvt_menu_set_tree(WINDOW win, MENU_ITEM* tree); +XVTDLL void xvt_menu_update(WINDOW win); +XVTDLL MENU_ITEM* xvt_menu_duplicate_tree(const MENU_ITEM* m); + +XVTDLL short xvt_notebk_add_page(WINDOW notebk, WINDOW page, const char* title, XVT_IMAGE img, short page_no); +XVTDLL short xvt_notebk_get_front_page(WINDOW notebk); +XVTDLL short xvt_notebk_get_num_tabs(WINDOW notebk); +XVTDLL WINDOW xvt_notebk_get_page(WINDOW notebk, short page_no); +XVTDLL char* xvt_notebk_get_tab_title(WINDOW notebk, short page_no, char* title, int sz_title); +XVTDLL void xvt_notebk_set_front_page(WINDOW notebk, short page_no); +XVTDLL void xvt_notebk_set_tab_icon(WINDOW notebk, short page_no, int rid); +XVTDLL void xvt_notebk_set_tab_image(WINDOW notebk, short page_no, XVT_IMAGE img); +XVTDLL void xvt_notebk_set_tab_title(WINDOW notebk, short page_no, const char* title); +XVTDLL void xvt_notebk_set_page_title(WINDOW notebk, short page_no, const char* title); +XVTDLL void xvt_notebk_rem_page(WINDOW notebk, short page_no); +XVTDLL void xvt_notebk_rem_tab(WINDOW notebk, short tab_no); + +// Added by Guy +typedef const char* TRANSLATE_CALLBACK(const char* ita); +XVTDLL void xvt_menu_translate_tree(WINDOW win, TRANSLATE_CALLBACK tc); + +XVTDLL short xvt_palet_add_colors(XVT_PALETTE palet, COLOR *colorsp, short numcolors); +XVTDLL short xvt_palet_add_colors_from_image(XVT_PALETTE palet, XVT_IMAGE image); +XVTDLL XVT_PALETTE xvt_palet_create(XVT_PALETTE_TYPE type, XVT_PALETTE_ATTR reserved); +XVTDLL void xvt_palet_destroy(XVT_PALETTE palet); +XVTDLL short xvt_palet_get_colors(XVT_PALETTE palet, COLOR *colorsp, short maxcolors); +XVTDLL short xvt_palet_get_ncolors(XVT_PALETTE palet); +XVTDLL int xvt_palet_get_tolerance(XVT_PALETTE p); +XVTDLL void xvt_palet_set_tolerance(XVT_PALETTE p, int t); + +XVTDLL void xvt_print_close(void); +XVTDLL BOOLEAN xvt_print_close_page(PRINT_RCD *precp); +XVTDLL PRINT_RCD* xvt_print_create(int *sizep); +XVTDLL PRINT_RCD* xvt_print_create_by_name(int* sizep, const char* name); // Added by Aga +XVTDLL int xvt_print_get_name(const PRINT_RCD *precp, char* name, int sz_s); // Added by Aga +XVTDLL int xvt_print_set_name(PRINT_RCD* precp, const char* name); // Added by Aga +XVTDLL WINDOW xvt_print_create_win(PRINT_RCD *precp, const char* title); + +XVTDLL void xvt_print_destroy(PRINT_RCD *precp); +XVTDLL RCT* xvt_print_get_next_band(void); +XVTDLL BOOLEAN xvt_print_is_valid(const PRINT_RCD *precp); +XVTDLL BOOLEAN xvt_print_open(void); +XVTDLL BOOLEAN xvt_print_start_thread (BOOLEAN (* print_fcn)(long), long data); +XVTDLL BOOLEAN xvt_print_open_page(PRINT_RCD *precp); +// Added XVAGA +XVTDLL SLIST xvt_print_list_devices(); +XVTDLL BOOLEAN xvt_print_set_default_device(const char* name); +XVTDLL BOOLEAN xvt_print_get_default_device(char* name, int namesize); +XVTDLL BOOLEAN xvt_print_suspend_thread(); +XVTDLL BOOLEAN xvt_print_restart_thread(); +XVTDLL BOOLEAN xvt_print_is_pdf(const PRINT_RCD* precp); +XVTDLL BOOLEAN xvt_print_pdf_version(char* version, int size); + +XVTDLL void xvt_rect_deflate(RCT *rctp, short ix, short iy); +XVTDLL int xvt_rect_get_height(const RCT *rctp); +XVTDLL int xvt_rect_get_width(const RCT *rctp); +XVTDLL BOOLEAN xvt_rect_has_point(const RCT *rctp, PNT pnt); +XVTDLL void xvt_rect_inflate(RCT *rctp, short ix, short iy); +XVTDLL BOOLEAN xvt_rect_intersect(RCT *drctp, const RCT *rctp1, const RCT *rctp2); +XVTDLL BOOLEAN xvt_rect_is_empty(const RCT *rctp); +XVTDLL void xvt_rect_offset(RCT *rctp, short dh, short dv); +XVTDLL void xvt_rect_set(RCT *rctp, short left, short top, short right, short bottom); +XVTDLL void xvt_rect_set_empty(RCT *rctp); +XVTDLL void xvt_rect_set_null(RCT* rctp); +XVTDLL BOOLEAN xvt_rect_set_pos(RCT *rctp, PNT pos); + +XVTDLL void xvt_res_free_menu_tree(MENU_ITEM* tree); +XVTDLL XVT_FNTID xvt_res_get_font(int rid); +XVTDLL XVT_IMAGE xvt_res_get_icon(int rid); +XVTDLL XVT_IMAGE xvt_res_get_image(int rid); +XVTDLL MENU_ITEM* xvt_res_get_menu(int rid); +XVTDLL char* xvt_res_get_str(int rid, char *s, int sz_s); + +XVTDLL int xvt_sbar_get_pos(WINDOW win, SCROLL_TYPE t); +XVTDLL int xvt_sbar_get_proportion(WINDOW win, SCROLL_TYPE t); +XVTDLL void xvt_sbar_get_range(WINDOW win, SCROLL_TYPE t, int *minp, int *maxp); +XVTDLL void xvt_sbar_set_pos(WINDOW win, SCROLL_TYPE t, int pos); +XVTDLL void xvt_sbar_set_proportion(WINDOW win, SCROLL_TYPE t, int proportion); +XVTDLL void xvt_sbar_set_range(WINDOW win, SCROLL_TYPE t, int min, int max); + +XVTDLL void xvt_scr_beep(void); +XVTDLL WINDOW xvt_scr_get_focus_topwin(void); +XVTDLL WINDOW xvt_scr_get_focus_vobj(void); +XVTDLL SLIST xvt_scr_list_wins(); +XVTDLL void xvt_scr_set_busy_cursor(); +XVTDLL void xvt_scr_set_focus_vobj(WINDOW win); + +XVTDLL BOOLEAN xvt_slist_add_at_elt(SLIST x, SLIST_ELT e, const char *sx, long data); +XVTDLL int xvt_slist_count(SLIST x); +XVTDLL SLIST xvt_slist_create(); +XVTDLL void xvt_slist_destroy(SLIST list); +XVTDLL char* xvt_slist_get(SLIST x, SLIST_ELT e, long *datap); +XVTDLL long* xvt_slist_get_data(SLIST_ELT elt); +XVTDLL SLIST_ELT xvt_slist_get_first(SLIST list); +XVTDLL SLIST_ELT xvt_slist_get_next(SLIST list, SLIST_ELT item); + +XVTDLL int xvt_str_compare_ignoring_case (const char* s1, const char* s2); +XVTDLL int xvt_str_encode(const char* text, char* cypher, int mode); +XVTDLL int xvt_str_decode(const char* cypher, char* text, int mode); +XVTDLL char* xvt_str_duplicate(const char* str); +XVTDLL BOOLEAN xvt_str_match(const char* str, const char* pat, BOOLEAN case_sensitive); +XVTDLL double xvt_str_fuzzy_compare (const char* s1, const char* s2); +XVTDLL double xvt_str_fuzzy_compare_ignoring_case(const char* s1, const char* s2); +XVTDLL void xvt_str_make_upper(char* str); +XVTDLL void xvt_str_make_lower(char* str); +XVTDLL char* xvt_str_number_format(char* str, int size); +XVTDLL BOOLEAN xvt_str_md5(const char* instr, char* outstr32); + +XVTDLL XVT_TREEVIEW_NODE xvt_treeview_add_child_node(WINDOW win, + XVT_TREEVIEW_NODE parent, XVT_TREEVIEW_NODE_TYPE type, + XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image, + const char* string, XVT_TREEVIEW_CALLBACK callback, const char* data); +XVTDLL WINDOW xvt_treeview_create(WINDOW parent_win, + RCT * rct_p, char * title, long ctl_flags, long app_data, int ctl_id, + XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image, + long attrs, int line_height); +XVTDLL void xvt_treeview_destroy_node(WINDOW win, XVT_TREEVIEW_NODE node); +XVTDLL BOOLEAN xvt_treeview_enable_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN on); +XVTDLL BOOLEAN xvt_treeview_expand_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN recurse); +XVTDLL XVT_TREEVIEW_NODE xvt_treeview_find_node_string(WINDOW win, const char* text); +XVTDLL XVT_TREEVIEW_NODE xvt_treeview_get_child_node(WINDOW win, XVT_TREEVIEW_NODE parent_node, int position); +XVTDLL const char* xvt_treeview_get_node_data(WINDOW win, XVT_TREEVIEW_NODE node); +XVTDLL XVT_TREEVIEW_NODE xvt_treeview_get_root_node(WINDOW win); +XVTDLL XVT_TREEVIEW_NODE xvt_treeview_get_selected_node(WINDOW win); +XVTDLL SLIST xvt_treeview_get_selected_list(WINDOW win); +XVTDLL BOOLEAN xvt_treeview_remove_child_node(WINDOW win, XVT_TREEVIEW_NODE node); +XVTDLL BOOLEAN xvt_treeview_remove_node_children(WINDOW win, XVT_TREEVIEW_NODE node); +XVTDLL void xvt_treeview_resume(WINDOW win); +XVTDLL void xvt_treeview_select_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN sel); +XVTDLL void xvt_treeview_set_node_bold(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN bold); +XVTDLL void xvt_treeview_set_node_images(WINDOW win, XVT_TREEVIEW_NODE node, + XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image); +XVTDLL void xvt_treeview_set_node_string(WINDOW win, XVT_TREEVIEW_NODE node, const char* text); +XVTDLL void xvt_treeview_suspend(WINDOW win); + +XVTDLL BOOLEAN xvt_chr_is_digit(int c); +XVTDLL BOOLEAN xvt_chr_is_alpha(int c); +XVTDLL BOOLEAN xvt_chr_is_alnum(int c); + +// System calls by XVAGA +XVTDLL void xvt_sys_beep(int severity); +XVTDLL long xvt_sys_close_children(WINDOW win); +XVTDLL long xvt_sys_execute(const char* cmdline, BOOLEAN sync, BOOLEAN iconizetask); +XVTDLL long xvt_sys_execute_in_window(const char* cmdline, WINDOW win); +XVTDLL BOOLEAN xvt_sys_kill(long pid); + +typedef XVT_CALLCONV_TYPEDEF(int, XVT_MULTITHREAD_CALLBACK, (void* pCaller, void* pData, int i, int tot) ); +XVTDLL BOOLEAN xvt_sys_multithread(XVT_MULTITHREAD_CALLBACK callback, void* pCaller, void* pData, int tot, const char* msg); + +XVTDLL BOOLEAN xvt_sys_get_host_name(char* name, int maxlen); +XVTDLL BOOLEAN xvt_sys_get_user_name(char* name, int maxlen); +XVTDLL BOOLEAN xvt_sys_goto_url(const char* url, const char* action); +XVTDLL BOOLEAN xvt_sys_dongle_server_is_running(); +XVTDLL BOOLEAN xvt_sys_find_editor(const char* file, char* editor); +XVTDLL BOOLEAN xvt_sys_get_env(const char* varname, char* value, int max_size); +XVTDLL long xvt_sys_get_oem_int(const char* name, long defval); +XVTDLL int xvt_sys_get_oem_string(const char* name, const char* defval, char* value, int maxsize); +XVTDLL int xvt_sys_get_profile_string(const char* file, const char* paragraph, const char* name, + const char* defval, char* value, int maxsize); +XVTDLL long xvt_sys_get_profile_int(const char* file, const char* paragraph, const char* name, long defval); +XVTDLL BOOLEAN xvt_sys_set_profile_string(const char* file, const char* paragraph, const char* name, const char* value); +XVTDLL int xvt_sys_get_session_id(); +XVTDLL unsigned long xvt_sys_get_free_memory(); +XVTDLL unsigned long xvt_sys_get_free_memory_kb(); +XVTDLL int xvt_sys_get_os_version(); +XVTDLL BOOLEAN xvt_sys_is_pda(); +XVTDLL int xvt_sys_get_version(char* os_version, char* ptk_version, int maxsize); +XVTDLL unsigned int xvt_sys_load_icon(const char* file); +XVTDLL void xvt_sys_sleep(unsigned long msec); + +XVTDLL void xvt_sys_search_env(const char* filename, const char* varname, char* pathname); +XVTDLL void xvt_sys_searchenv(const char * filename, const char * varname, char * pathname); // DEPRECATED! +XVTDLL BOOLEAN xvt_sys_set_env(const char* varname, const char* value); +XVTDLL void xvt_sys_sorry_box(const char* func, const char* file, int line); +XVTDLL void xvt_sys_deprecated_box(const char* oldfunc, const char* file, const char* newfunc); + +XVTDLL struct tm* xvt_time_now(); +XVTDLL long xvt_timer_create(WINDOW win, long interval); +XVTDLL void xvt_timer_destroy(long id); + +XVTDLL WINDOW xvt_trayicon_create(WINDOW owner, short icon, const char* tooltip); +XVTDLL void xvt_trayicon_destroy(WINDOW tray); + +XVTDLL void xvt_vobj_destroy(WINDOW win); +XVTDLL long xvt_vobj_get_attr(WINDOW win, long data); +XVTDLL RCT* xvt_vobj_get_client_rect(WINDOW win, RCT *rctp); +XVTDLL long xvt_vobj_get_data(WINDOW win); +XVTDLL RCT* xvt_vobj_get_outer_rect(WINDOW win, RCT *rctp); +XVTDLL XVT_PALETTE xvt_vobj_get_palet(WINDOW win); +XVTDLL WINDOW xvt_vobj_get_parent(WINDOW win); +XVTDLL char* xvt_vobj_get_title(WINDOW win, char *title, int sz_title); +XVTDLL WIN_TYPE xvt_vobj_get_type(WINDOW win); +XVTDLL BOOLEAN xvt_vobj_is_focusable(WINDOW win); +XVTDLL BOOLEAN xvt_vobj_is_valid(WINDOW win); +XVTDLL void xvt_vobj_maximize(WINDOW win); // Added by XVAGA +XVTDLL void xvt_vobj_minimize(WINDOW win); // Added by XVAGA +XVTDLL void xvt_vobj_move(WINDOW win, const RCT* rctp); +XVTDLL void xvt_vobj_raise(WINDOW win); +XVTDLL void xvt_vobj_set_attr(WINDOW win, long data, long value); +XVTDLL void xvt_vobj_set_data(WINDOW win, long AppData); +XVTDLL void xvt_vobj_set_enabled(WINDOW win, BOOLEAN enabled); +XVTDLL void xvt_vobj_set_palet(WINDOW win, XVT_PALETTE palet); +XVTDLL void xvt_vobj_set_title(WINDOW win, const char* title); +XVTDLL void xvt_vobj_set_visible(WINDOW win, BOOLEAN show); +XVTDLL void xvt_vobj_translate_points(WINDOW from_win, WINDOW to_win, PNT *pntp, int npnts); +XVTDLL WINDOW xvt_win_create(WIN_TYPE wtype, const RCT* rct_p, const char* title, int menu_rid, WINDOW parent_win, long win_flags, EVENT_MASK mask, EVENT_HANDLER eh, long app_data); +XVTDLL long xvt_win_dispatch_event(WINDOW win, EVENT* event_p); +XVTDLL BOOLEAN xvt_win_enum_wins(WINDOW parent_win, XVT_ENUM_CHILDREN func, long data, unsigned long reserved); +XVTDLL long xvt_win_get_children_count(WINDOW parent_win); +XVTDLL void xvt_win_post_event(WINDOW win, EVENT* event_p); // Added by XVAGA +XVTDLL void xvt_win_release_pointer(void); +XVTDLL void xvt_win_set_caret_size(WINDOW win, int width, int height); +XVTDLL void xvt_win_set_caret_pos(WINDOW win, PNT p); +XVTDLL void xvt_win_set_caret_visible(WINDOW win, BOOLEAN on); +XVTDLL void xvt_win_set_cursor(WINDOW win, CURSOR Cursor); +XVTDLL void xvt_win_set_handler(WINDOW win, EVENT_HANDLER eh); +XVTDLL void xvt_win_trap_pointer(WINDOW win); + +// Added by XVAGA +XVTDLL BOOLEAN xvt_pane_add(WINDOW parent, WINDOW pane, const char* name, int dock, int flags); +XVTDLL BOOLEAN xvt_pane_change_flags(WINDOW pane, int set, int reset); +XVTDLL BOOLEAN xvt_pane_detach(WINDOW pane); +XVTDLL BOOLEAN xvt_pane_manager_load_perspective(WINDOW win, const char* str); +XVTDLL int xvt_pane_manager_save_perspective(WINDOW win, char* str, int max_size); +XVTDLL BOOLEAN xvt_pane_set_size_range(WINDOW pane, int min_size, int best_size, int max_size); +XVTDLL BOOLEAN xvt_pane_set_title(WINDOW pane, const char* title); + +XVTDLL BOOLEAN xvt_sign_file(const char* input_file, char* output_file); +XVTDLL BOOLEAN xvt_sign_start(); +XVTDLL BOOLEAN xvt_sign_stop(); +XVTDLL BOOLEAN xvt_sign_test(const char* input_file); + +typedef int ODBC_CALLBACK(void*, int, char**, char**); +XVTDLL XVT_ODBC xvt_odbc_get_connection(const char* dsn, const char* usr, const char* pwd, const char* dir); +XVTDLL BOOLEAN xvt_odbc_free_connection(XVT_ODBC handle); +XVTDLL ULONG xvt_odbc_execute(XVT_ODBC handle, const char* sql, ODBC_CALLBACK cb, void* jolly); +XVTDLL BOOLEAN xvt_odbc_driver(XVT_ODBC handle, char* str, int max_size); + +typedef BOOLEAN PROP_CALLBACK(WINDOW win, XVT_TREEVIEW_NODE node, void* app_data); +XVTDLL XVT_TREEVIEW_NODE xvt_prop_add(WINDOW win, const char* type, const char* name, const char* value, const char* label); +XVTDLL XVT_TREEVIEW_NODE xvt_prop_current(WINDOW win); +XVTDLL XVT_TREEVIEW_NODE xvt_prop_find(WINDOW win, const char* name); +XVTDLL void xvt_prop_fit_columns(WINDOW win); +XVTDLL BOOLEAN xvt_prop_for_each(WINDOW win, PROP_CALLBACK pcb, void* jolly); +XVTDLL int xvt_prop_get_data(WINDOW win, XVT_TREEVIEW_NODE node, char* value, int maxlen); +XVTDLL int xvt_prop_get_string(WINDOW win, XVT_TREEVIEW_NODE node, char* label, int maxlen); +XVTDLL int xvt_prop_get_type(WINDOW win, XVT_TREEVIEW_NODE node, char* type, int maxlen); +XVTDLL BOOLEAN xvt_prop_remove(WINDOW win, XVT_TREEVIEW_NODE node); +XVTDLL BOOLEAN xvt_prop_restart(WINDOW win); +XVTDLL BOOLEAN xvt_prop_set_data(WINDOW win, XVT_TREEVIEW_NODE node, const char* value); +XVTDLL BOOLEAN xvt_prop_set_read_only(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN ro); +XVTDLL BOOLEAN xvt_prop_suspend(WINDOW win); + +XVTDLL XVT_TREEVIEW_NODE xvt_treelist_add_child_node(WINDOW win, + XVT_TREEVIEW_NODE parent, XVT_TREEVIEW_NODE_TYPE type, + XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image, + const char* string, XVT_TREEVIEW_CALLBACK callback, const char* data); +XVTDLL WINDOW xvt_treelist_create(WINDOW parent_win, + RCT * rct_p, char * title, long ctl_flags, long app_data, int ctl_id, + XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image, + long attrs, int line_height); +XVTDLL void xvt_treelist_destroy_node(WINDOW win, XVT_TREEVIEW_NODE node); +XVTDLL BOOLEAN xvt_treelist_enable_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN on); +XVTDLL BOOLEAN xvt_treelist_expand_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN recurse); +XVTDLL XVT_TREEVIEW_NODE xvt_treelist_find_node_string(WINDOW win, const char* text); +XVTDLL XVT_TREEVIEW_NODE xvt_treelist_get_child_node(WINDOW win, XVT_TREEVIEW_NODE parent_node, int position); +XVTDLL const char* xvt_treelist_get_node_data(WINDOW win, XVT_TREEVIEW_NODE node); +XVTDLL XVT_TREEVIEW_NODE xvt_treelist_get_root_node(WINDOW win); +XVTDLL XVT_TREEVIEW_NODE xvt_treelist_get_selected_node(WINDOW win); +XVTDLL SLIST xvt_treelist_get_selected_list(WINDOW win); +XVTDLL BOOLEAN xvt_treelist_remove_child_node(WINDOW win, XVT_TREEVIEW_NODE node); +XVTDLL BOOLEAN xvt_treelist_remove_node_children(WINDOW win, XVT_TREEVIEW_NODE node); +XVTDLL void xvt_treelist_resume(WINDOW win); +XVTDLL void xvt_treelist_select_node(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN sel); +XVTDLL void xvt_treelist_set_node_bold(WINDOW win, XVT_TREEVIEW_NODE node, BOOLEAN bold); +XVTDLL void xvt_treelist_set_node_images(WINDOW win, XVT_TREEVIEW_NODE node, + XVT_IMAGE item_image, XVT_IMAGE collapsed_image, XVT_IMAGE expanded_image); +XVTDLL void xvt_treelist_set_node_string(WINDOW win, XVT_TREEVIEW_NODE node, const char* text); +XVTDLL void xvt_treelist_suspend(WINDOW win); + +XVTDLL BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn, + const char* subject, const char* msg, const char* attach, short flags); // 0x1=UI; 0x2=Receipt +XVTDLL BOOLEAN xvt_mail_installed(); + +XVTDLL void xvt_btn_set_images(WINDOW win, XVT_IMAGE up, XVT_IMAGE down); +XVTDLL int xvt_net_get_status(); + +#ifdef __cplusplus +} +#endif + +#define SORRY_BOX() xvt_sys_sorry_box(__FUNCTION__, __FILE__, __LINE__) + +#ifdef NDEBUG +#define DEPRECATED_BOX(newfunc) +#else +#define DEPRECATED_BOX(newfunc) xvt_sys_deprecated_box(__FUNCTION__, __FILE__, newfunc) +#endif + +#endif diff --git a/xvaga/xvtctl.cpp b/xvaga/xvtctl.cpp index 0804cf7e6..ef9564354 100755 --- a/xvaga/xvtctl.cpp +++ b/xvaga/xvtctl.cpp @@ -3297,9 +3297,15 @@ WIN_TYPE xvt_vobj_get_type(WINDOW win) if (ctl != NULL) { if (ctl->IsKindOf(CLASSINFO(wxTreeCtrl))) return WC_TREE; - if (ctl->IsKindOf(CLASSINFO(wxPropertyGrid))) return WC_PROPGRID; if (ctl->IsKindOf(CLASSINFO(wxTreeListCtrl))) return WC_TREELIST; + if (ctl->IsKindOf(CLASSINFO(wxPropertyGrid))) return WC_PROPGRID; // Siamo fiduciosi, ma ... } + + // ... non deriva da wxControl :-) + const wxPropertyGrid* pg = wxDynamicCast((wxObject*)win, wxPropertyGrid); + if (pg != NULL) + return WC_PROPGRID; + return WO_TE; // Unknown custom control }