Mercurial > dwindows
comparison dw.h @ 671:c60a4f6cfae8
Implemented icon support on the Mac. In the process created a new HICN type.
The existing implementation works well on OS/2 but it is kind of bad on the
other platforms. I should revisit the Windows and GTK implementations.
The typedef currently in use should be backwards compatible for now.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 27 Feb 2011 19:01:40 +0000 |
parents | 55b677d460e9 |
children | 388f2a48aaae |
comparison
equal
deleted
inserted
replaced
670:0b920d0dc13e | 671:c60a4f6cfae8 |
---|---|
236 typedef void *HTREEITEM; | 236 typedef void *HTREEITEM; |
237 typedef HWND HMENUI; | 237 typedef HWND HMENUI; |
238 typedef HMODULE HMOD; | 238 typedef HMODULE HMOD; |
239 typedef unsigned short UWORD; | 239 typedef unsigned short UWORD; |
240 typedef unsigned long HSHM; | 240 typedef unsigned long HSHM; |
241 typedef unsigned long HICN; | |
241 | 242 |
242 extern HAB dwhab; | 243 extern HAB dwhab; |
243 extern HMQ dwhmq; | 244 extern HMQ dwhmq; |
244 #endif | 245 #endif |
245 | 246 |
286 int sid; | 287 int sid; |
287 int size; | 288 int size; |
288 }; | 289 }; |
289 typedef void *HTREEITEM; | 290 typedef void *HTREEITEM; |
290 typedef void *HMENUI; | 291 typedef void *HMENUI; |
292 typedef void *HICN; | |
291 | 293 |
292 typedef struct _window_data { | 294 typedef struct _window_data { |
293 UserData *root; | 295 UserData *root; |
294 HWND clickdefault; | 296 HWND clickdefault; |
295 ULONG flags; | 297 ULONG flags; |
364 #else | 366 #else |
365 # define DW_MLE_CASESENSITIVE 0 | 367 # define DW_MLE_CASESENSITIVE 0 |
366 #endif | 368 #endif |
367 | 369 |
368 #define DW_POINTER_DEFAULT 0 | 370 #define DW_POINTER_DEFAULT 0 |
369 #define DW_POINTER_ARROW 0 | 371 #define DW_POINTER_ARROW 1 |
370 #define DW_POINTER_CLOCK 0 | 372 #define DW_POINTER_CLOCK 2 |
371 | 373 |
372 #define HWND_DESKTOP ((HWND)0) | 374 #define HWND_DESKTOP ((HWND)0) |
373 | 375 |
374 /* flag values for dw_messagebox() */ | 376 /* flag values for dw_messagebox() */ |
375 #define DW_MB_OK (1 << 1) | 377 #define DW_MB_OK (1 << 1) |
603 | 605 |
604 typedef HANDLE HMTX; | 606 typedef HANDLE HMTX; |
605 typedef HANDLE HEV; | 607 typedef HANDLE HEV; |
606 typedef HANDLE HMOD; | 608 typedef HANDLE HMOD; |
607 typedef HANDLE HSHM; | 609 typedef HANDLE HSHM; |
610 typedef unsigned long HICN; | |
608 | 611 |
609 typedef struct _container { | 612 typedef struct _container { |
610 ColorInfo cinfo; | 613 ColorInfo cinfo; |
611 ULONG *flags; | 614 ULONG *flags; |
612 WNDPROC pOldProc; | 615 WNDPROC pOldProc; |
901 } *HPIXMAP; | 904 } *HPIXMAP; |
902 | 905 |
903 typedef GtkWidget *HMENUI; | 906 typedef GtkWidget *HMENUI; |
904 typedef void *HTREEITEM; | 907 typedef void *HTREEITEM; |
905 typedef void *HSHM; | 908 typedef void *HSHM; |
909 typedef unsigned long HICN; | |
906 | 910 |
907 typedef struct _resource_struct { | 911 typedef struct _resource_struct { |
908 long resource_max, *resource_id; | 912 long resource_max, *resource_id; |
909 char **resource_data; | 913 char **resource_data; |
910 } DWResources; | 914 } DWResources; |
1152 void API dw_spinbutton_set_limits(HWND handle, long upper, long lower); | 1156 void API dw_spinbutton_set_limits(HWND handle, long upper, long lower); |
1153 void API dw_entryfield_set_limit(HWND handle, ULONG limit); | 1157 void API dw_entryfield_set_limit(HWND handle, ULONG limit); |
1154 long API dw_spinbutton_get_pos(HWND handle); | 1158 long API dw_spinbutton_get_pos(HWND handle); |
1155 int API dw_checkbox_get(HWND handle); | 1159 int API dw_checkbox_get(HWND handle); |
1156 void API dw_checkbox_set(HWND handle, int value); | 1160 void API dw_checkbox_set(HWND handle, int value); |
1157 HTREEITEM API dw_tree_insert(HWND handle, char *title, unsigned long icon, HTREEITEM parent, void *itemdata); | 1161 HTREEITEM API dw_tree_insert(HWND handle, char *title, HICN icon, HTREEITEM parent, void *itemdata); |
1158 HTREEITEM API dw_tree_insert_after(HWND handle, HTREEITEM item, char *title, unsigned long icon, HTREEITEM parent, void *itemdata); | 1162 HTREEITEM API dw_tree_insert_after(HWND handle, HTREEITEM item, char *title, HICN icon, HTREEITEM parent, void *itemdata); |
1159 void API dw_tree_clear(HWND handle); | 1163 void API dw_tree_clear(HWND handle); |
1160 void API dw_tree_item_delete(HWND handle, HTREEITEM item); | 1164 void API dw_tree_item_delete(HWND handle, HTREEITEM item); |
1161 void API dw_tree_item_change(HWND handle, HTREEITEM item, char *title, unsigned long icon); | 1165 void API dw_tree_item_change(HWND handle, HTREEITEM item, char *title, HICN icon); |
1162 void API dw_tree_item_expand(HWND handle, HTREEITEM item); | 1166 void API dw_tree_item_expand(HWND handle, HTREEITEM item); |
1163 void API dw_tree_item_collapse(HWND handle, HTREEITEM item); | 1167 void API dw_tree_item_collapse(HWND handle, HTREEITEM item); |
1164 void API dw_tree_item_select(HWND handle, HTREEITEM item); | 1168 void API dw_tree_item_select(HWND handle, HTREEITEM item); |
1165 void API dw_tree_item_set_data(HWND handle, HTREEITEM item, void *itemdata); | 1169 void API dw_tree_item_set_data(HWND handle, HTREEITEM item, void *itemdata); |
1166 void * API dw_tree_item_get_data(HWND handle, HTREEITEM item); | 1170 void * API dw_tree_item_get_data(HWND handle, HTREEITEM item); |
1167 char * API dw_tree_get_title(HWND handle, HTREEITEM item); | 1171 char * API dw_tree_get_title(HWND handle, HTREEITEM item); |
1168 HTREEITEM API dw_tree_get_parent(HWND handle, HTREEITEM item); | 1172 HTREEITEM API dw_tree_get_parent(HWND handle, HTREEITEM item); |
1169 int API dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator); | 1173 int API dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator); |
1170 unsigned long API dw_icon_load(unsigned long module, unsigned long id); | 1174 HICN API dw_icon_load(unsigned long module, unsigned long id); |
1171 unsigned long API dw_icon_load_from_file(char *filename); | 1175 HICN API dw_icon_load_from_file(char *filename); |
1172 unsigned long API dw_icon_load_from_data(char *data, int len); | 1176 HICN API dw_icon_load_from_data(char *data, int len); |
1173 void API dw_icon_free(unsigned long handle); | 1177 void API dw_icon_free(HICN handle); |
1174 void * API dw_container_alloc(HWND handle, int rowcount); | 1178 void * API dw_container_alloc(HWND handle, int rowcount); |
1175 void API dw_container_set_item(HWND handle, void *pointer, int column, int row, void *data); | 1179 void API dw_container_set_item(HWND handle, void *pointer, int column, int row, void *data); |
1176 void API dw_container_change_item(HWND handle, int column, int row, void *data); | 1180 void API dw_container_change_item(HWND handle, int column, int row, void *data); |
1177 void API dw_container_set_column_width(HWND handle, int column, int width); | 1181 void API dw_container_set_column_width(HWND handle, int column, int width); |
1178 void API dw_container_set_row_title(void *pointer, int row, char *title); | 1182 void API dw_container_set_row_title(void *pointer, int row, char *title); |
1185 void API dw_container_cursor(HWND handle, char *text); | 1189 void API dw_container_cursor(HWND handle, char *text); |
1186 void API dw_container_delete_row(HWND handle, char *text); | 1190 void API dw_container_delete_row(HWND handle, char *text); |
1187 void API dw_container_optimize(HWND handle); | 1191 void API dw_container_optimize(HWND handle); |
1188 int API dw_filesystem_setup(HWND handle, unsigned long *flags, char **titles, int count); | 1192 int API dw_filesystem_setup(HWND handle, unsigned long *flags, char **titles, int count); |
1189 void API dw_filesystem_set_item(HWND handle, void *pointer, int column, int row, void *data); | 1193 void API dw_filesystem_set_item(HWND handle, void *pointer, int column, int row, void *data); |
1190 void API dw_filesystem_set_file(HWND handle, void *pointer, int row, char *filename, unsigned long icon); | 1194 void API dw_filesystem_set_file(HWND handle, void *pointer, int row, char *filename, HICN icon); |
1191 void API dw_filesystem_change_item(HWND handle, int column, int row, void *data); | 1195 void API dw_filesystem_change_item(HWND handle, int column, int row, void *data); |
1192 void API dw_filesystem_change_file(HWND handle, int row, char *filename, unsigned long icon); | 1196 void API dw_filesystem_change_file(HWND handle, int row, char *filename, HICN icon); |
1193 int API dw_container_get_column_type(HWND handle, int column); | 1197 int API dw_container_get_column_type(HWND handle, int column); |
1194 int API dw_filesystem_get_column_type(HWND handle, int column); | 1198 int API dw_filesystem_get_column_type(HWND handle, int column); |
1195 void API dw_taskbar_insert(HWND handle, unsigned long icon, char *bubbletext); | 1199 void API dw_taskbar_insert(HWND handle, HICN icon, char *bubbletext); |
1196 void API dw_taskbar_delete(HWND handle, unsigned long icon); | 1200 void API dw_taskbar_delete(HWND handle, HICN icon); |
1197 int API dw_screen_width(void); | 1201 int API dw_screen_width(void); |
1198 int API dw_screen_height(void); | 1202 int API dw_screen_height(void); |
1199 unsigned long API dw_color_depth_get(void); | 1203 unsigned long API dw_color_depth_get(void); |
1200 HWND API dw_notebook_new(unsigned long id, int top); | 1204 HWND API dw_notebook_new(unsigned long id, int top); |
1201 unsigned long API dw_notebook_page_new(HWND handle, unsigned long flags, int front); | 1205 unsigned long API dw_notebook_page_new(HWND handle, unsigned long flags, int front); |