Mercurial > dwindows
comparison dw.h @ 634:c6a216c8174f
Support for setting transparent colour for bitmaps
Support for checkable menu items
Mouse support on render window
Fix bubble text on buttons
dw_window_set_text() works for group box
dw_window_set_size() and dw_window_set_pos_size() to allow negative values
Add dw_draw_polygon()
author | mhessling@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 10 Apr 2009 10:25:26 +0000 |
parents | 87db549e79bc |
children | 9fa3cb5b3290 |
comparison
equal
deleted
inserted
replaced
633:87db549e79bc | 634:c6a216c8174f |
---|---|
53 #define DW_MIS_ENABLED 1 | 53 #define DW_MIS_ENABLED 1 |
54 #define DW_MIS_DISABLED (1 << 1) | 54 #define DW_MIS_DISABLED (1 << 1) |
55 #define DW_MIS_CHECKED (1 << 2) | 55 #define DW_MIS_CHECKED (1 << 2) |
56 #define DW_MIS_UNCHECKED (1 << 3) | 56 #define DW_MIS_UNCHECKED (1 << 3) |
57 | 57 |
58 #if defined(__OS2__) || defined(__WIN32__) || defined(__MAC__) || defined(WINNT) || defined(__EMX__) | 58 /* ensure we can build the Gtk port with MingW on Windows */ |
59 #if defined(DW_USE_GTK) && defined(__MINGW32__) | |
60 # ifndef GDK_WINDOWING_WIN32 | |
61 # define GDK_WINDOWING_WIN32 | |
62 # endif | |
63 #endif | |
64 | |
65 #if defined(__OS2__) || (defined(__WIN32__) && !defined(GDK_WINDOWING_WIN32)) || defined(__MAC__) || (defined(WINNT) && !defined(GDK_WINDOWING_WIN32)) || defined(__EMX__) | |
59 /* OS/2, Windows or MacOS */ | 66 /* OS/2, Windows or MacOS */ |
60 | 67 |
61 #if (defined(__IBMC__) || defined(_System)) && !defined(API) | 68 #if (defined(__IBMC__) || defined(_System)) && !defined(API) |
62 #define API _System | 69 #define API _System |
63 #endif | 70 #endif |
584 | 591 |
585 typedef struct _hpixmap { | 592 typedef struct _hpixmap { |
586 unsigned long width, height; | 593 unsigned long width, height; |
587 HBITMAP hbm; | 594 HBITMAP hbm; |
588 HDC hdc; | 595 HDC hdc; |
596 unsigned long transcolor; | |
589 HWND handle; | 597 HWND handle; |
590 void *bits; | 598 void *bits; |
591 } *HPIXMAP; | 599 } *HPIXMAP; |
592 | 600 |
593 typedef HWND HMENUI; | 601 typedef HWND HMENUI; |
654 } BubbleButton; | 662 } BubbleButton; |
655 | 663 |
656 #else | 664 #else |
657 /* GTK Specific section */ | 665 /* GTK Specific section */ |
658 #include <gtk/gtk.h> | 666 #include <gtk/gtk.h> |
659 #include <gdk/gdkx.h> | 667 #ifdef GDK_WINDOWING_X11 |
668 # include <gdk/gdkx.h> | |
669 #else | |
670 # include <gdk/gdk.h> | |
671 #endif | |
660 #include <gdk/gdkprivate.h> | 672 #include <gdk/gdkprivate.h> |
661 #include <gdk/gdkkeysyms.h> | 673 #include <gdk/gdkkeysyms.h> |
662 #include <pthread.h> | 674 #include <pthread.h> |
663 #include <dlfcn.h> | 675 #if !defined(GDK_WINDOWING_WIN32) |
676 # include <dlfcn.h> | |
677 #endif | |
664 | 678 |
665 #define DW_DT_LEFT 1 | 679 #define DW_DT_LEFT 1 |
666 #define DW_DT_UNDERSCORE (1 << 1) | 680 #define DW_DT_UNDERSCORE (1 << 1) |
667 #define DW_DT_STRIKEOUT (1 << 2) | 681 #define DW_DT_STRIKEOUT (1 << 2) |
668 #define DW_DT_CENTER (1 << 3) | 682 #define DW_DT_CENTER (1 << 3) |
896 UCHAR ucReserved; | 910 UCHAR ucReserved; |
897 } CTIME; | 911 } CTIME; |
898 typedef CTIME *PCTIME; | 912 typedef CTIME *PCTIME; |
899 #endif | 913 #endif |
900 | 914 |
901 #if defined(__OS2__) || defined(__WIN32__) || defined(WINNT) || defined(__EMX__) | 915 #if defined(__OS2__) || (defined(__WIN32__) && !defined(GDK_WINDOWING_WIN32)) || (defined(WINNT) && !defined(GDK_WINDOWING_WIN32)) || defined(__EMX__) |
902 typedef unsigned long DWTID; | 916 typedef unsigned long DWTID; |
903 #endif | 917 #endif |
904 | 918 |
905 typedef struct _dwenv { | 919 typedef struct _dwenv { |
906 /* Operating System Name and DW Build Date/Time */ | 920 /* Operating System Name and DW Build Date/Time */ |
1033 void API dw_window_redraw(HWND handle); | 1047 void API dw_window_redraw(HWND handle); |
1034 int API dw_window_set_font(HWND handle, char *fontname); | 1048 int API dw_window_set_font(HWND handle, char *fontname); |
1035 int API dw_window_set_color(HWND handle, unsigned long fore, unsigned long back); | 1049 int API dw_window_set_color(HWND handle, unsigned long fore, unsigned long back); |
1036 HWND API dw_window_new(HWND hwndOwner, char *title, unsigned long flStyle); | 1050 HWND API dw_window_new(HWND hwndOwner, char *title, unsigned long flStyle); |
1037 HWND API dw_box_new(int type, int pad); | 1051 HWND API dw_box_new(int type, int pad); |
1052 #ifdef INCOMPLETE | |
1053 HWND API dw_scrollbox_new(int type, int pad); | |
1054 #endif | |
1038 HWND API dw_groupbox_new(int type, int pad, char *title); | 1055 HWND API dw_groupbox_new(int type, int pad, char *title); |
1039 HWND API dw_mdi_new(unsigned long id); | 1056 HWND API dw_mdi_new(unsigned long id); |
1040 HWND API dw_bitmap_new(unsigned long id); | 1057 HWND API dw_bitmap_new(unsigned long id); |
1041 HWND API dw_bitmapbutton_new(char *text, unsigned long id); | 1058 HWND API dw_bitmapbutton_new(char *text, unsigned long id); |
1042 HWND API dw_bitmapbutton_new_from_file(char *text, unsigned long id, char *filename); | 1059 HWND API dw_bitmapbutton_new_from_file(char *text, unsigned long id, char *filename); |
1072 unsigned int API dw_slider_get_pos(HWND handle); | 1089 unsigned int API dw_slider_get_pos(HWND handle); |
1073 void API dw_slider_set_pos(HWND handle, unsigned int position); | 1090 void API dw_slider_set_pos(HWND handle, unsigned int position); |
1074 unsigned int API dw_scrollbar_get_pos(HWND handle); | 1091 unsigned int API dw_scrollbar_get_pos(HWND handle); |
1075 void API dw_scrollbar_set_pos(HWND handle, unsigned int position); | 1092 void API dw_scrollbar_set_pos(HWND handle, unsigned int position); |
1076 void API dw_scrollbar_set_range(HWND handle, unsigned int range, unsigned int visible); | 1093 void API dw_scrollbar_set_range(HWND handle, unsigned int range, unsigned int visible); |
1077 void API dw_window_set_pos(HWND handle, unsigned long x, unsigned long y); | 1094 void API dw_window_set_pos(HWND handle, long x, long y); |
1078 void API dw_window_set_size(HWND handle, unsigned long width, unsigned long height); | 1095 void API dw_window_set_size(HWND handle, unsigned long width, unsigned long height); |
1079 void API dw_window_set_pos_size(HWND handle, unsigned long x, unsigned long y, unsigned long width, unsigned long height); | 1096 void API dw_window_set_pos_size(HWND handle, long x, long y, unsigned long width, unsigned long height); |
1080 void API dw_window_get_pos_size(HWND handle, unsigned long *x, unsigned long *y, unsigned long *width, unsigned long *height); | 1097 void API dw_window_get_pos_size(HWND handle, long *x, long *y, unsigned long *width, unsigned long *height); |
1081 void API dw_window_set_style(HWND handle, unsigned long style, unsigned long mask); | 1098 void API dw_window_set_style(HWND handle, unsigned long style, unsigned long mask); |
1082 void API dw_window_set_icon(HWND handle, unsigned long id); | 1099 void API dw_window_set_icon(HWND handle, unsigned long id); |
1083 void API dw_window_set_bitmap(HWND handle, unsigned long id, char *filename); | 1100 void API dw_window_set_bitmap(HWND handle, unsigned long id, char *filename); |
1084 void API dw_window_set_bitmap_from_data(HWND handle, unsigned long id, char *data, int len); | 1101 void API dw_window_set_bitmap_from_data(HWND handle, unsigned long id, char *data, int len); |
1085 char * API dw_window_get_text(HWND handle); | 1102 char * API dw_window_get_text(HWND handle); |
1166 void API dw_splitbar_set(HWND handle, float percent); | 1183 void API dw_splitbar_set(HWND handle, float percent); |
1167 float API dw_splitbar_get(HWND handle); | 1184 float API dw_splitbar_get(HWND handle); |
1168 HMENUI API dw_menu_new(unsigned long id); | 1185 HMENUI API dw_menu_new(unsigned long id); |
1169 HMENUI API dw_menubar_new(HWND location); | 1186 HMENUI API dw_menubar_new(HWND location); |
1170 HWND API dw_menu_append_item(HMENUI menu, char *title, unsigned long id, unsigned long flags, int end, int check, HMENUI submenu); | 1187 HWND API dw_menu_append_item(HMENUI menu, char *title, unsigned long id, unsigned long flags, int end, int check, HMENUI submenu); |
1171 #if 0 | 1188 #ifdef INCOMPLETE |
1172 TBD | |
1173 void API dw_menu_delete_item(HMENUI menu, unsigned long id); | 1189 void API dw_menu_delete_item(HMENUI menu, unsigned long id); |
1174 #endif | 1190 #endif |
1175 void API dw_menu_item_set_check(HMENUI menu, unsigned long id, int check); | 1191 void API dw_menu_item_set_check(HMENUI menu, unsigned long id, int check); |
1176 void API dw_menu_item_set_state( HMENUI menux, unsigned long id, unsigned long state); | 1192 void API dw_menu_item_set_state( HMENUI menux, unsigned long id, unsigned long state); |
1177 void API dw_menu_popup(HMENUI *menu, HWND parent, int x, int y); | 1193 void API dw_menu_popup(HMENUI *menu, HWND parent, int x, int y); |
1207 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); | 1223 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); |
1208 HPIXMAP API dw_pixmap_new(HWND handle, unsigned long width, unsigned long height, int depth); | 1224 HPIXMAP API dw_pixmap_new(HWND handle, unsigned long width, unsigned long height, int depth); |
1209 HPIXMAP API dw_pixmap_new_from_file(HWND handle, char *filename); | 1225 HPIXMAP API dw_pixmap_new_from_file(HWND handle, char *filename); |
1210 HPIXMAP API dw_pixmap_new_from_data(HWND handle, char *data, int len); | 1226 HPIXMAP API dw_pixmap_new_from_data(HWND handle, char *data, int len); |
1211 HPIXMAP API dw_pixmap_grab(HWND handle, ULONG id); | 1227 HPIXMAP API dw_pixmap_grab(HWND handle, ULONG id); |
1228 void API dw_pixmap_set_transparent_color( HPIXMAP pixmap, ULONG color ); | |
1212 void API dw_pixmap_destroy(HPIXMAP pixmap); | 1229 void API dw_pixmap_destroy(HPIXMAP pixmap); |
1213 void API dw_beep(int freq, int dur); | 1230 void API dw_beep(int freq, int dur); |
1214 int API dw_messagebox(char *title, int flags, char *format, ...); | 1231 int API dw_messagebox(char *title, int flags, char *format, ...); |
1215 void API dw_environment_query(DWEnv *env); | 1232 void API dw_environment_query(DWEnv *env); |
1216 int API dw_exec(char *program, int type, char **params); | 1233 int API dw_exec(char *program, int type, char **params); |