Mercurial > dwindows
diff dw.h @ 174:75bf3051235f
Fixes so you can mix compilers.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 01 Dec 2002 12:59:24 +0000 |
parents | 0b3debaa9c6c |
children | d78d08440246 |
line wrap: on
line diff
--- a/dw.h Sun Dec 01 11:18:14 2002 +0000 +++ b/dw.h Sun Dec 01 12:59:24 2002 +0000 @@ -11,6 +11,10 @@ #if defined(__OS2__) || defined(__WIN32__) || defined(WINNT) || defined(__EMX__) /* OS/2 or Windows */ +#if defined(__IBMC__) && !defined(API) +#define API _System +#endif + /* Used internally */ #define TYPEBOX 0 #define TYPEITEM 1 @@ -70,6 +74,10 @@ #define DW_CLR_BROWN CLR_BROWN #define DW_CLR_PALEGRAY CLR_PALEGRAY +#ifndef FCF_CLOSEBUTTON +#define FCF_CLOSEBUTTON 0x04000000L +#endif + #define DW_FCF_TITLEBAR FCF_TITLEBAR #define DW_FCF_SYSMENU (FCF_SYSMENU | FCF_CLOSEBUTTON) #define DW_FCF_MENU FCF_MENU @@ -169,6 +177,10 @@ #define UDM_GETPOS32 (WM_USER+114) #endif +#if defined(MSVC) && !defined(API) +#define API _stdcall +#endif + /* Lets make some platform independent defines :) */ #define DW_DT_LEFT SS_LEFT #define DW_DT_QUERYEXTENT 0 @@ -603,199 +615,203 @@ #define DW_OS2_RGB(a) ((DW_RED_VALUE(a) << 16) | (DW_GREEN_VALUE(a) << 8) | DW_BLUE_VALUE(a)) #endif +#ifndef API +#define API +#endif + /* Public function prototypes */ -void dw_box_pack_start(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad); -void dw_box_pack_end(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad); +void API dw_box_pack_start(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad); +void API dw_box_pack_end(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad); #if !defined(__OS2__) && !defined(__WIN32__) && !defined(__EMX__) -int dw_int_init(DWResources *res, int newthread, int *argc, char **argv[]); +int API dw_int_init(DWResources *res, int newthread, int *argc, char **argv[]); #define dw_init(a, b, c) dw_int_init(&_resources, a, &b, &c) #else -int dw_init(int newthread, int argc, char *argv[]); +int API dw_init(int newthread, int argc, char *argv[]); #endif -void dw_main(void); -void dw_main_sleep(int seconds); -void dw_free(void *ptr); -int dw_window_show(HWND handle); -int dw_window_hide(HWND handle); -int dw_window_minimize(HWND handle); -int dw_window_raise(HWND handle); -int dw_window_lower(HWND handle); -int dw_window_destroy(HWND handle); -void dw_window_redraw(HWND handle); -int dw_window_set_font(HWND handle, char *fontname); -int dw_window_set_color(HWND handle, unsigned long fore, unsigned long back); -HWND dw_window_new(HWND hwndOwner, char *title, unsigned long flStyle); -HWND dw_box_new(int type, int pad); -HWND dw_groupbox_new(int type, int pad, char *title); -HWND dw_mdi_new(unsigned long id); -HWND dw_bitmap_new(unsigned long id); -HWND dw_bitmapbutton_new(char *text, unsigned long id); -HWND dw_container_new(unsigned long id); -HWND dw_tree_new(unsigned long id); -HWND dw_text_new(char *text, unsigned long id); -HWND dw_status_text_new(char *text, unsigned long id); -HWND dw_mle_new(unsigned long id); -HWND dw_entryfield_new(char *text, unsigned long id); -HWND dw_entryfield_password_new(char *text, ULONG id); -HWND dw_combobox_new(char *text, unsigned long id); -HWND dw_button_new(char *text, unsigned long id); -HWND dw_spinbutton_new(char *text, unsigned long id); -HWND dw_radiobutton_new(char *text, ULONG id); -HWND dw_percent_new(unsigned long id); -HWND dw_slider_new(int vertical, int increments, ULONG id); -HWND dw_checkbox_new(char *text, unsigned long id); -HWND dw_listbox_new(unsigned long id, int multi); -void dw_listbox_append(HWND handle, char *text); -void dw_listbox_clear(HWND handle); -int dw_listbox_count(HWND handle); -void dw_listbox_set_top(HWND handle, int top); -void dw_listbox_select(HWND handle, int index, int state); -void dw_listbox_delete(HWND handle, int index); -void dw_listbox_query_text(HWND handle, unsigned int index, char *buffer, unsigned int length); -void dw_listbox_set_text(HWND handle, unsigned int index, char *buffer); -unsigned int dw_listbox_selected(HWND handle); -int dw_listbox_selected_multi(HWND handle, int where); -unsigned int dw_percent_query_range(HWND handle); -void dw_percent_set_pos(HWND handle, unsigned int position); -unsigned int dw_slider_query_pos(HWND handle); -void dw_slider_set_pos(HWND handle, unsigned int position); -void dw_window_set_pos(HWND handle, unsigned long x, unsigned long y); -void dw_window_set_usize(HWND handle, unsigned long width, unsigned long height); -void dw_window_set_pos_size(HWND handle, unsigned long x, unsigned long y, unsigned long width, unsigned long height); -void dw_window_get_pos_size(HWND handle, unsigned long *x, unsigned long *y, unsigned long *width, unsigned long *height); -void dw_window_set_style(HWND handle, unsigned long style, unsigned long mask); -void dw_window_set_icon(HWND handle, unsigned long id); -void dw_window_set_bitmap(HWND handle, unsigned long id); -char *dw_window_get_text(HWND handle); -void dw_window_set_text(HWND handle, char *text); -int dw_window_set_border(HWND handle, int border); -void dw_window_disable(HWND handle); -void dw_window_enable(HWND handle); -void dw_window_capture(HWND handle); -void dw_window_release(void); -void dw_window_reparent(HWND handle, HWND newparent); -void dw_window_pointer(HWND handle, int pointertype); -void dw_window_default(HWND window, HWND defaultitem); -void dw_window_click_default(HWND window, HWND next); -unsigned int dw_mle_import(HWND handle, char *buffer, int startpoint); -void dw_mle_export(HWND handle, char *buffer, int startpoint, int length); -void dw_mle_query(HWND handle, unsigned long *bytes, unsigned long *lines); -void dw_mle_delete(HWND handle, int startpoint, int length); -void dw_mle_clear(HWND handle); -void dw_mle_freeze(HWND handle); -void dw_mle_thaw(HWND handle); -void dw_mle_set(HWND handle, int point); -void dw_mle_set_visible(HWND handle, int line); -void dw_mle_set_editable(HWND handle, int state); -void dw_mle_set_word_wrap(HWND handle, int state); -int dw_mle_search(HWND handle, char *text, int point, unsigned long flags); -void dw_spinbutton_set_pos(HWND handle, long position); -void dw_spinbutton_set_limits(HWND handle, long upper, long lower); -void dw_entryfield_set_limit(HWND handle, ULONG limit); -long dw_spinbutton_query(HWND handle); -int dw_checkbox_query(HWND handle); -void dw_checkbox_set(HWND handle, int value); -HWND dw_tree_insert(HWND handle, char *title, unsigned long icon, HWND parent, void *itemdata); -HWND dw_tree_insert_after(HWND handle, HWND item, char *title, unsigned long icon, HWND parent, void *itemdata); -void dw_tree_clear(HWND handle); -void dw_tree_delete(HWND handle, HWND item); -void dw_tree_set(HWND handle, HWND item, char *title, unsigned long icon); -void dw_tree_expand(HWND handle, HWND item); -void dw_tree_collapse(HWND handle, HWND item); -void dw_tree_item_select(HWND handle, HWND item); -void dw_tree_set_data(HWND handle, HWND item, void *itemdata); -int dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator); -unsigned long dw_icon_load(unsigned long module, unsigned long id); -void dw_icon_free(unsigned long handle); -void *dw_container_alloc(HWND handle, int rowcount); -void dw_container_set_item(HWND handle, void *pointer, int column, int row, void *data); -void dw_container_change_item(HWND handle, int column, int row, void *data); -void dw_container_set_column_width(HWND handle, int column, int width); -void dw_container_set_row_title(void *pointer, int row, char *title); -void dw_container_insert(HWND handle, void *pointer, int rowcount); -void dw_container_clear(HWND handle, int redraw); -void dw_container_delete(HWND handle, int rowcount); -void dw_container_set_view(HWND handle, unsigned long flags, int iconwidth, int iconheight); -char *dw_container_query_start(HWND handle, unsigned long flags); -char *dw_container_query_next(HWND handle, unsigned long flags); -void dw_container_scroll(HWND handle, int direction, long rows); -void dw_container_cursor(HWND handle, char *text); -void dw_container_delete_row(HWND handle, char *text); -void dw_container_optimize(HWND handle); -int dw_filesystem_setup(HWND handle, unsigned long *flags, char **titles, int count); -void dw_filesystem_set_item(HWND handle, void *pointer, int column, int row, void *data); -void dw_filesystem_set_file(HWND handle, void *pointer, int row, char *filename, unsigned long icon); -int dw_screen_width(void); -int dw_screen_height(void); -unsigned long dw_color_depth(void); -HWND dw_notebook_new(unsigned long id, int top); -unsigned long dw_notebook_page_new(HWND handle, unsigned long flags, int front); -void dw_notebook_page_destroy(HWND handle, unsigned int pageid); -void dw_notebook_page_set_text(HWND handle, unsigned long pageid, char *text); -void dw_notebook_page_set_status_text(HWND handle, unsigned long pageid, char *text); -void dw_notebook_page_set(HWND handle, unsigned int pageid); -unsigned int dw_notebook_page_query(HWND handle); -void dw_notebook_pack(HWND handle, unsigned long pageid, HWND page); -HWND dw_splitbar_new(int type, HWND topleft, HWND bottomright, unsigned long id); -void dw_splitbar_set(HWND handle, float percent); -float dw_splitbar_get(HWND handle); -HMENUI dw_menu_new(unsigned long id); -HMENUI dw_menubar_new(HWND location); -HWND dw_menu_append_item(HMENUI menu, char *title, unsigned long id, unsigned long flags, int end, int check, HMENUI submenu); -void dw_menu_item_set_check(HMENUI menu, unsigned long id, int check); -void dw_menu_popup(HMENUI *menu, HWND parent, int x, int y); -void dw_menu_destroy(HMENUI *menu); -void dw_pointer_query_pos(long *x, long *y); -void dw_pointer_set_pos(long x, long y); -void dw_window_function(HWND handle, void *function, void *data); -HWND dw_window_from_id(HWND handle, int id); -HMTX dw_mutex_new(void); -void dw_mutex_close(HMTX mutex); -void dw_mutex_lock(HMTX mutex); -void dw_mutex_unlock(HMTX mutex); -HEV dw_event_new(void); -int dw_event_reset(HEV eve); -int dw_event_post(HEV eve); -int dw_event_wait(HEV eve, unsigned long timeout); -int dw_event_close (HEV *eve); -DWTID dw_thread_new(void *func, void *data, int stack); -void dw_thread_end(void); -DWTID dw_thread_id(void); -void dw_exit(int exitcode); -HWND dw_render_new(unsigned long id); -void dw_color_foreground_set(unsigned long value); -void dw_color_background_set(unsigned long value); -void dw_draw_point(HWND handle, HPIXMAP pixmap, int x, int y); -void dw_draw_line(HWND handle, HPIXMAP pixmap, int x1, int y1, int x2, int y2); -void dw_draw_rect(HWND handle, HPIXMAP pixmap, int fill, int x, int y, int width, int height); -void dw_draw_text(HWND handle, HPIXMAP pixmap, int x, int y, char *text); -void dw_font_text_extents(HWND handle, HPIXMAP pixmap, char *text, int *width, int *height); -void dw_flush(void); -void dw_pixmap_bitblt(HWND dest, HPIXMAP destp, int xdest, int ydest, int width, int height, HWND src, HPIXMAP srcp, int xsrc, int ysrc); -HPIXMAP dw_pixmap_new(HWND handle, unsigned long width, unsigned long height, int depth); -HPIXMAP dw_pixmap_grab(HWND handle, ULONG id); -void dw_pixmap_destroy(HPIXMAP pixmap); -void dw_beep(int freq, int dur); -int dw_messagebox(char *title, char *format, ...); -int dw_yesno(char *title, char *text); -void dw_environment_query(DWEnv *env); -int dw_exec(char *program, int type, char **params); -int dw_browse(char *url); -char *dw_file_browse(char *title, char *defpath, char *ext, int flags); -char *dw_user_dir(void); -DWDialog *dw_dialog_new(void *data); -int dw_dialog_dismiss(DWDialog *dialog, void *result); -void *dw_dialog_wait(DWDialog *dialog); -void dw_window_set_data(HWND window, char *dataname, void *data); -void *dw_window_get_data(HWND window, char *dataname); -int dw_module_load(char *name, HMOD *handle); -int dw_module_symbol(HMOD handle, char *name, void**func); -int dw_module_close(HMOD handle); +void API dw_main(void); +void API dw_main_sleep(int seconds); +void API dw_free(void *ptr); +int API dw_window_show(HWND handle); +int API dw_window_hide(HWND handle); +int API dw_window_minimize(HWND handle); +int API dw_window_raise(HWND handle); +int API dw_window_lower(HWND handle); +int API dw_window_destroy(HWND handle); +void API dw_window_redraw(HWND handle); +int API dw_window_set_font(HWND handle, char *fontname); +int API dw_window_set_color(HWND handle, unsigned long fore, unsigned long back); +HWND API dw_window_new(HWND hwndOwner, char *title, unsigned long flStyle); +HWND API dw_box_new(int type, int pad); +HWND API dw_groupbox_new(int type, int pad, char *title); +HWND API dw_mdi_new(unsigned long id); +HWND API dw_bitmap_new(unsigned long id); +HWND API dw_bitmapbutton_new(char *text, unsigned long id); +HWND API dw_container_new(unsigned long id); +HWND API dw_tree_new(unsigned long id); +HWND API dw_text_new(char *text, unsigned long id); +HWND API dw_status_text_new(char *text, unsigned long id); +HWND API dw_mle_new(unsigned long id); +HWND API dw_entryfield_new(char *text, unsigned long id); +HWND API dw_entryfield_password_new(char *text, ULONG id); +HWND API dw_combobox_new(char *text, unsigned long id); +HWND API dw_button_new(char *text, unsigned long id); +HWND API dw_spinbutton_new(char *text, unsigned long id); +HWND API dw_radiobutton_new(char *text, ULONG id); +HWND API dw_percent_new(unsigned long id); +HWND API dw_slider_new(int vertical, int increments, ULONG id); +HWND API dw_checkbox_new(char *text, unsigned long id); +HWND API dw_listbox_new(unsigned long id, int multi); +void API dw_listbox_append(HWND handle, char *text); +void API dw_listbox_clear(HWND handle); +int API dw_listbox_count(HWND handle); +void API dw_listbox_set_top(HWND handle, int top); +void API dw_listbox_select(HWND handle, int index, int state); +void API dw_listbox_delete(HWND handle, int index); +void API dw_listbox_query_text(HWND handle, unsigned int index, char *buffer, unsigned int length); +void API dw_listbox_set_text(HWND handle, unsigned int index, char *buffer); +unsigned int API dw_listbox_selected(HWND handle); +int API dw_listbox_selected_multi(HWND handle, int where); +unsigned int API dw_percent_query_range(HWND handle); +void API dw_percent_set_pos(HWND handle, unsigned int position); +unsigned int API dw_slider_query_pos(HWND handle); +void API dw_slider_set_pos(HWND handle, unsigned int position); +void API dw_window_set_pos(HWND handle, unsigned long x, unsigned long y); +void API dw_window_set_usize(HWND handle, unsigned long width, unsigned long height); +void API dw_window_set_pos_size(HWND handle, unsigned long x, unsigned long y, unsigned long width, unsigned long height); +void API dw_window_get_pos_size(HWND handle, unsigned long *x, unsigned long *y, unsigned long *width, unsigned long *height); +void API dw_window_set_style(HWND handle, unsigned long style, unsigned long mask); +void API dw_window_set_icon(HWND handle, unsigned long id); +void API dw_window_set_bitmap(HWND handle, unsigned long id); +char * API dw_window_get_text(HWND handle); +void API dw_window_set_text(HWND handle, char *text); +int API dw_window_set_border(HWND handle, int border); +void API dw_window_disable(HWND handle); +void API dw_window_enable(HWND handle); +void API dw_window_capture(HWND handle); +void API dw_window_release(void); +void API dw_window_reparent(HWND handle, HWND newparent); +void API dw_window_pointer(HWND handle, int pointertype); +void API dw_window_default(HWND window, HWND defaultitem); +void API dw_window_click_default(HWND window, HWND next); +unsigned int API dw_mle_import(HWND handle, char *buffer, int startpoint); +void API dw_mle_export(HWND handle, char *buffer, int startpoint, int length); +void API dw_mle_query(HWND handle, unsigned long *bytes, unsigned long *lines); +void API dw_mle_delete(HWND handle, int startpoint, int length); +void API dw_mle_clear(HWND handle); +void API dw_mle_freeze(HWND handle); +void API dw_mle_thaw(HWND handle); +void API dw_mle_set(HWND handle, int point); +void API dw_mle_set_visible(HWND handle, int line); +void API dw_mle_set_editable(HWND handle, int state); +void API dw_mle_set_word_wrap(HWND handle, int state); +int API dw_mle_search(HWND handle, char *text, int point, unsigned long flags); +void API dw_spinbutton_set_pos(HWND handle, long position); +void API dw_spinbutton_set_limits(HWND handle, long upper, long lower); +void API dw_entryfield_set_limit(HWND handle, ULONG limit); +long API dw_spinbutton_query(HWND handle); +int API dw_checkbox_query(HWND handle); +void API dw_checkbox_set(HWND handle, int value); +HWND API dw_tree_insert(HWND handle, char *title, unsigned long icon, HWND parent, void *itemdata); +HWND API dw_tree_insert_after(HWND handle, HWND item, char *title, unsigned long icon, HWND parent, void *itemdata); +void API dw_tree_clear(HWND handle); +void API dw_tree_delete(HWND handle, HWND item); +void API dw_tree_set(HWND handle, HWND item, char *title, unsigned long icon); +void API dw_tree_expand(HWND handle, HWND item); +void API dw_tree_collapse(HWND handle, HWND item); +void API dw_tree_item_select(HWND handle, HWND item); +void API dw_tree_set_data(HWND handle, HWND item, void *itemdata); +int API dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator); +unsigned long API dw_icon_load(unsigned long module, unsigned long id); +void API dw_icon_free(unsigned long handle); +void * API dw_container_alloc(HWND handle, int rowcount); +void API dw_container_set_item(HWND handle, void *pointer, int column, int row, void *data); +void API dw_container_change_item(HWND handle, int column, int row, void *data); +void API dw_container_set_column_width(HWND handle, int column, int width); +void API dw_container_set_row_title(void *pointer, int row, char *title); +void API dw_container_insert(HWND handle, void *pointer, int rowcount); +void API dw_container_clear(HWND handle, int redraw); +void API dw_container_delete(HWND handle, int rowcount); +void API dw_container_set_view(HWND handle, unsigned long flags, int iconwidth, int iconheight); +char * API dw_container_query_start(HWND handle, unsigned long flags); +char * API dw_container_query_next(HWND handle, unsigned long flags); +void API dw_container_scroll(HWND handle, int direction, long rows); +void API dw_container_cursor(HWND handle, char *text); +void API dw_container_delete_row(HWND handle, char *text); +void API dw_container_optimize(HWND handle); +int API dw_filesystem_setup(HWND handle, unsigned long *flags, char **titles, int count); +void API dw_filesystem_set_item(HWND handle, void *pointer, int column, int row, void *data); +void API dw_filesystem_set_file(HWND handle, void *pointer, int row, char *filename, unsigned long icon); +int API dw_screen_width(void); +int API dw_screen_height(void); +unsigned long API dw_color_depth(void); +HWND API dw_notebook_new(unsigned long id, int top); +unsigned long API dw_notebook_page_new(HWND handle, unsigned long flags, int front); +void API dw_notebook_page_destroy(HWND handle, unsigned int pageid); +void API dw_notebook_page_set_text(HWND handle, unsigned long pageid, char *text); +void API dw_notebook_page_set_status_text(HWND handle, unsigned long pageid, char *text); +void API dw_notebook_page_set(HWND handle, unsigned int pageid); +unsigned int API dw_notebook_page_query(HWND handle); +void API dw_notebook_pack(HWND handle, unsigned long pageid, HWND page); +HWND API dw_splitbar_new(int type, HWND topleft, HWND bottomright, unsigned long id); +void API dw_splitbar_set(HWND handle, float percent); +float API dw_splitbar_get(HWND handle); +HMENUI API dw_menu_new(unsigned long id); +HMENUI API dw_menubar_new(HWND location); +HWND API dw_menu_append_item(HMENUI menu, char *title, unsigned long id, unsigned long flags, int end, int check, HMENUI submenu); +void API dw_menu_item_set_check(HMENUI menu, unsigned long id, int check); +void API dw_menu_popup(HMENUI *menu, HWND parent, int x, int y); +void API dw_menu_destroy(HMENUI *menu); +void API dw_pointer_query_pos(long *x, long *y); +void API dw_pointer_set_pos(long x, long y); +void API dw_window_function(HWND handle, void *function, void *data); +HWND API dw_window_from_id(HWND handle, int id); +HMTX API dw_mutex_new(void); +void API dw_mutex_close(HMTX mutex); +void API dw_mutex_lock(HMTX mutex); +void API dw_mutex_unlock(HMTX mutex); +HEV API dw_event_new(void); +int API dw_event_reset(HEV eve); +int API dw_event_post(HEV eve); +int API dw_event_wait(HEV eve, unsigned long timeout); +int API dw_event_close (HEV *eve); +DWTID API dw_thread_new(void *func, void *data, int stack); +void API dw_thread_end(void); +DWTID API dw_thread_id(void); +void API dw_exit(int exitcode); +HWND API dw_render_new(unsigned long id); +void API dw_color_foreground_set(unsigned long value); +void API dw_color_background_set(unsigned long value); +void API dw_draw_point(HWND handle, HPIXMAP pixmap, int x, int y); +void API dw_draw_line(HWND handle, HPIXMAP pixmap, int x1, int y1, int x2, int y2); +void API dw_draw_rect(HWND handle, HPIXMAP pixmap, int fill, int x, int y, int width, int height); +void API dw_draw_text(HWND handle, HPIXMAP pixmap, int x, int y, char *text); +void API dw_font_text_extents(HWND handle, HPIXMAP pixmap, char *text, int *width, int *height); +void API dw_flush(void); +void API dw_pixmap_bitblt(HWND dest, HPIXMAP destp, int xdest, int ydest, int width, int height, HWND src, HPIXMAP srcp, int xsrc, int ysrc); +HPIXMAP API dw_pixmap_new(HWND handle, unsigned long width, unsigned long height, int depth); +HPIXMAP API dw_pixmap_grab(HWND handle, ULONG id); +void API dw_pixmap_destroy(HPIXMAP pixmap); +void API dw_beep(int freq, int dur); +int API dw_messagebox(char *title, char *format, ...); +int API dw_yesno(char *title, char *text); +void API dw_environment_query(DWEnv *env); +int API dw_exec(char *program, int type, char **params); +int API dw_browse(char *url); +char * API dw_file_browse(char *title, char *defpath, char *ext, int flags); +char * API dw_user_dir(void); +DWDialog * API dw_dialog_new(void *data); +int API dw_dialog_dismiss(DWDialog *dialog, void *result); +void * API dw_dialog_wait(DWDialog *dialog); +void API dw_window_set_data(HWND window, char *dataname, void *data); +void * API dw_window_get_data(HWND window, char *dataname); +int API dw_module_load(char *name, HMOD *handle); +int API dw_module_symbol(HMOD handle, char *name, void**func); +int API dw_module_close(HMOD handle); #ifndef NO_SIGNALS -void dw_signal_connect(HWND window, char *signame, void *sigfunc, void *data); -void dw_signal_disconnect_by_window(HWND window); -void dw_signal_disconnect_by_data(HWND window, void *data); -void dw_signal_disconnect_by_name(HWND window, char *signame); +void API dw_signal_connect(HWND window, char *signame, void *sigfunc, void *data); +void API dw_signal_disconnect_by_window(HWND window); +void API dw_signal_disconnect_by_data(HWND window, void *data); +void API dw_signal_disconnect_by_name(HWND window, char *signame); #endif #endif