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);