annotate dw.h @ 1853:4790589f52a9

Initial commit for new dw_signal_connect_data() function... Same as dw_signal_connect() but it has an additional callback parameter that gets called when the callback is being removed. This allows me to free memory allocated for the data parameter and prevent memory leaks in godwindows... Tested GTK and Mac.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 27 Feb 2013 19:14:22 +0000
parents 6ab13f213847
children 952a41463240
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1840
3343a61f3262 Linux seems to need stdint.h for uintptr_t...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1839
diff changeset
1 /* $Id$ */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
3 #ifndef _H_DW
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
4 #define _H_DW
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
5
15
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
6 /* Dynamic Windows version numbers */
1006
3e1c70896c13 Switched to using TransparentBlt() on Windows, and allow transparent bitblt for any depths below 32bpp.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1004
diff changeset
7 #define DW_MAJOR_VERSION 2
1845
6ab13f213847 Ug missed the version in the header. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1841
diff changeset
8 #define DW_MINOR_VERSION 5
624
7bdb2a58c51d Update package version
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 618
diff changeset
9 #define DW_SUB_VERSION 0
15
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
10
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
11 #if !defined(__PHOTON__)
224
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
12 /* These corespond to the entries in the color
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
13 * arrays in the Win32 dw.c, they are also the
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
14 * same as DOS ANSI colors.
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
15 */
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
16 #define DW_CLR_BLACK 0
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
17 #define DW_CLR_DARKRED 1
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
18 #define DW_CLR_DARKGREEN 2
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
19 #define DW_CLR_BROWN 3
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
20 #define DW_CLR_DARKBLUE 4
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
21 #define DW_CLR_DARKPINK 5
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
22 #define DW_CLR_DARKCYAN 6
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
23 #define DW_CLR_PALEGRAY 7
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
24 #define DW_CLR_DARKGRAY 8
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
25 #define DW_CLR_RED 9
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
26 #define DW_CLR_GREEN 10
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
27 #define DW_CLR_YELLOW 11
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
28 #define DW_CLR_BLUE 12
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
29 #define DW_CLR_PINK 13
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
30 #define DW_CLR_CYAN 14
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
31 #define DW_CLR_WHITE 15
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
32 #define DW_CLR_DEFAULT 16
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
33 #endif
224
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
34
306
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
35 /* Signal handler defines */
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
36 #define DW_SIGNAL_CONFIGURE "configure_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
37 #define DW_SIGNAL_KEY_PRESS "key_press_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
38 #define DW_SIGNAL_BUTTON_PRESS "button_press_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
39 #define DW_SIGNAL_BUTTON_RELEASE "button_release_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
40 #define DW_SIGNAL_MOTION_NOTIFY "motion_notify_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
41 #define DW_SIGNAL_DELETE "delete_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
42 #define DW_SIGNAL_EXPOSE "expose_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
43 #define DW_SIGNAL_CLICKED "clicked"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
44 #define DW_SIGNAL_ITEM_ENTER "container-select"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
45 #define DW_SIGNAL_ITEM_CONTEXT "container-context"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
46 #define DW_SIGNAL_ITEM_SELECT "tree-select"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
47 #define DW_SIGNAL_LIST_SELECT "item-select"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
48 #define DW_SIGNAL_SET_FOCUS "set-focus"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
49 #define DW_SIGNAL_VALUE_CHANGED "value_changed"
330
b87afd126cb7 Add switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 328
diff changeset
50 #define DW_SIGNAL_SWITCH_PAGE "switch-page"
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
51 #define DW_SIGNAL_COLUMN_CLICK "click-column"
478
ea099ba917c6 Added two new tree functions, get_title and get_parent and finished the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 471
diff changeset
52 #define DW_SIGNAL_TREE_EXPAND "tree-expand"
306
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
53
618
a431ee5e049f Added dw_menu_item_set_state() to set checked status of menu item and ability to enable/disable menu items.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 613
diff changeset
54 /* status of menu items */
a431ee5e049f Added dw_menu_item_set_state() to set checked status of menu item and ability to enable/disable menu items.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 613
diff changeset
55 #define DW_MIS_ENABLED 1
a431ee5e049f Added dw_menu_item_set_state() to set checked status of menu item and ability to enable/disable menu items.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 613
diff changeset
56 #define DW_MIS_DISABLED (1 << 1)
a431ee5e049f Added dw_menu_item_set_state() to set checked status of menu item and ability to enable/disable menu items.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 613
diff changeset
57 #define DW_MIS_CHECKED (1 << 2)
a431ee5e049f Added dw_menu_item_set_state() to set checked status of menu item and ability to enable/disable menu items.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 613
diff changeset
58 #define DW_MIS_UNCHECKED (1 << 3)
a431ee5e049f Added dw_menu_item_set_state() to set checked status of menu item and ability to enable/disable menu items.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 613
diff changeset
59
1468
b2235efd9914 Rewrite of window position code for GTK2. DW_BORDER_WIDTH and DW_BORDER_HEIGHT
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1437
diff changeset
60 /* Gravity */
b2235efd9914 Rewrite of window position code for GTK2. DW_BORDER_WIDTH and DW_BORDER_HEIGHT
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1437
diff changeset
61 #define DW_GRAV_TOP 0
b2235efd9914 Rewrite of window position code for GTK2. DW_BORDER_WIDTH and DW_BORDER_HEIGHT
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1437
diff changeset
62 #define DW_GRAV_LEFT 0
b2235efd9914 Rewrite of window position code for GTK2. DW_BORDER_WIDTH and DW_BORDER_HEIGHT
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1437
diff changeset
63 #define DW_GRAV_CENTER 1
b2235efd9914 Rewrite of window position code for GTK2. DW_BORDER_WIDTH and DW_BORDER_HEIGHT
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1437
diff changeset
64 #define DW_GRAV_RIGHT 2
b2235efd9914 Rewrite of window position code for GTK2. DW_BORDER_WIDTH and DW_BORDER_HEIGHT
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1437
diff changeset
65 #define DW_GRAV_BOTTOM 2
b2235efd9914 Rewrite of window position code for GTK2. DW_BORDER_WIDTH and DW_BORDER_HEIGHT
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1437
diff changeset
66 #define DW_GRAV_OBSTACLES (1 << 10)
b2235efd9914 Rewrite of window position code for GTK2. DW_BORDER_WIDTH and DW_BORDER_HEIGHT
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1437
diff changeset
67
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
68 /* ensure we can build the Gtk port with MingW on Windows */
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
69 #if defined(DW_USE_GTK) && defined(__MINGW32__)
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
70 # ifndef GDK_WINDOWING_WIN32
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
71 # define GDK_WINDOWING_WIN32
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
72 # endif
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
73 #endif
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
74
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
75 #if defined(__OS2__) || (defined(__WIN32__) && !defined(GDK_WINDOWING_WIN32)) || defined(__MAC__) || (defined(WINNT) && !defined(GDK_WINDOWING_WIN32)) || defined(__EMX__)
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
76 /* OS/2, Windows or MacOS */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
77
1404
56f311dc23f6 Changes to get the library building with Watcom on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1392
diff changeset
78 #ifdef __OS2__
56f311dc23f6 Changes to get the library building with Watcom on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1392
diff changeset
79 # if (defined(__IBMC__) || defined(__WATCOMC__) || defined(_System)) && !defined(API)
56f311dc23f6 Changes to get the library building with Watcom on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1392
diff changeset
80 # define API _System
56f311dc23f6 Changes to get the library building with Watcom on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1392
diff changeset
81 # endif
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
82 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
83
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
84 /* Used internally */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
85 #define TYPEBOX 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
86 #define TYPEITEM 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
87
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
88 #define SIZESTATIC 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
89 #define SIZEEXPAND 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
90
182
b8caec82a4d2 Minor splitbar fixes on OS/2 and Windows. The splitbar width is now 4
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 177
diff changeset
91 #define SPLITBAR_WIDTH 4
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
92
90
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
93 typedef struct _user_data
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
94 {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
95 struct _user_data *next;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
96 void *data;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
97 char *varname;
90
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
98 } UserData;
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
99
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
100 /* OS/2 Specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
101 #if defined(__OS2__) || defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
102 #define INCL_DOS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
103 #define INCL_WIN
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
104 #define INCL_GPI
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
105
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
106 #include <os2.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
107
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
108 #define DW_DT_LEFT DT_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
109 #define DW_DT_QUERYEXTENT DT_QUERYEXTENT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
110 #define DW_DT_UNDERSCORE DT_UNDERSCORE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
111 #define DW_DT_STRIKEOUT DT_STRIKEOUT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
112 #define DW_DT_TEXTATTRS DT_TEXTATTRS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
113 #define DW_DT_EXTERNALLEADING DT_EXTERNALLEADING
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
114 #define DW_DT_CENTER DT_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
115 #define DW_DT_RIGHT DT_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
116 #define DW_DT_TOP DT_TOP
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
117 #define DW_DT_VCENTER DT_VCENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
118 #define DW_DT_BOTTOM DT_BOTTOM
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
119 #define DW_DT_HALFTONE DT_HALFTONE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
120 #define DW_DT_MNEMONIC DT_MNEMONIC
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
121 #define DW_DT_WORDBREAK DT_WORDBREAK
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
122 #define DW_DT_ERASERECT DT_ERASERECT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
123
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
124 #ifndef FCF_CLOSEBUTTON
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
125 #define FCF_CLOSEBUTTON 0x04000000L
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
126 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
127
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
128 #define DW_FCF_CLOSEBUTTON 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
129 #define DW_FCF_TITLEBAR FCF_TITLEBAR
113
553f3b4f8b5b Added the CLOSEBUTTON flag to the SYSMENU flag on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 90
diff changeset
130 #define DW_FCF_SYSMENU (FCF_SYSMENU | FCF_CLOSEBUTTON)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
131 #define DW_FCF_MENU FCF_MENU
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
132 #define DW_FCF_SIZEBORDER FCF_SIZEBORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
133 #define DW_FCF_MINBUTTON FCF_MINBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
134 #define DW_FCF_MAXBUTTON FCF_MAXBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
135 #define DW_FCF_MINMAX FCF_MINMAX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
136 #define DW_FCF_DLGBORDER FCF_DLGBORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
137 #define DW_FCF_BORDER FCF_BORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
138 #define DW_FCF_TASKLIST FCF_TASKLIST
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
139 #define DW_FCF_NOMOVEWITHOWNER FCF_NOMOVEWITHOWNER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
140 #define DW_FCF_SYSMODAL FCF_SYSMODAL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
141 #define DW_FCF_HIDEBUTTON FCF_HIDEBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
142 #define DW_FCF_HIDEMAX FCF_HIDEMAX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
143 #define DW_FCF_AUTOICON FCF_AUTOICON
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
144 #define DW_FCF_MAXIMIZE WS_MAXIMIZED
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
145 #define DW_FCF_MINIMIZE WS_MINIMIZED
1802
aedf5903db0a Add DW_FCF_TEXTURED window style; relevant only for Mac port.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1795
diff changeset
146 #define DW_FCF_TEXTURED 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
147
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
148 #define DW_CFA_BITMAPORICON CFA_BITMAPORICON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
149 #define DW_CFA_STRING CFA_STRING
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
150 #define DW_CFA_ULONG CFA_ULONG
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
151 #define DW_CFA_TIME CFA_TIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
152 #define DW_CFA_DATE CFA_DATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
153 #define DW_CFA_CENTER CFA_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
154 #define DW_CFA_LEFT CFA_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
155 #define DW_CFA_RIGHT CFA_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
156 #define DW_CFA_HORZSEPARATOR CFA_HORZSEPARATOR
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
157 #define DW_CFA_SEPARATOR CFA_SEPARATOR
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
158 #define DW_CFA_STRINGANDICON 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
159
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
160 #define DW_CRA_SELECTED CRA_SELECTED
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
161 #define DW_CRA_CURSORED CRA_CURSORED
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
162
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
163 #define DW_LS_MULTIPLESEL LS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
164
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
165 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
166
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
167 #define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
168
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
169 #define DW_POINTER_DEFAULT 0
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
170 #define DW_POINTER_ARROW SPTR_ARROW
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
171 #define DW_POINTER_CLOCK SPTR_WAIT
1004
cb81c08bd8c3 Correct OS/2 question mark pointer #define; should be SPTR_ICONQUESTION despite some online
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 987
diff changeset
172 #define DW_POINTER_QUESTION SPTR_ICONQUESTION
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
173
763
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
174 #define DW_BS_NOBORDER BS_NOBORDER
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
175
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
176 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
177 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
178 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
179 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
180 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
181
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
182 #define DW_MB_WARNING MB_WARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
183 #define DW_MB_ERROR MB_ERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
184 #define DW_MB_INFORMATION MB_INFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
185 #define DW_MB_QUESTION MB_QUERY
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
186
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
187 /* Virtual Key Codes */
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
188 #define VK_LBUTTON VK_BUTTON1
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
189 #define VK_RBUTTON VK_BUTTON2
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
190 #define VK_MBUTTON VK_BUTTON3
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
191 #define VK_RETURN VK_NEWLINE
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
192 #define VK_SNAPSHOT VK_PRINTSCRN
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
193 #define VK_CANCEL VK_BREAK
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
194 #define VK_CAPITAL VK_CAPSLOCK
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
195 #define VK_ESCAPE VK_ESC
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
196 #define VK_PRIOR VK_PAGEUP
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
197 #define VK_NEXT VK_PAGEDOWN
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
198 #define VK_SELECT 133
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
199 #define VK_EXECUTE 134
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
200 #define VK_PRINT 135
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
201 #define VK_HELP 136
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
202 #define VK_LWIN 137
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
203 #define VK_RWIN 138
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
204 #define VK_MULTIPLY ('*' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
205 #define VK_ADD ('+' + 128)
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
206 #define VK_SEPARATOR 141
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
207 #define VK_SUBTRACT ('-' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
208 #define VK_DECIMAL ('.' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
209 #define VK_DIVIDE ('/' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
210 #define VK_SCROLL VK_SCRLLOCK
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
211 #define VK_LSHIFT VK_SHIFT
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
212 #define VK_RSHIFT 147
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
213 #define VK_LCONTROL VK_CTRL
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
214 #define VK_RCONTROL 149
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
215 #define VK_NUMPAD0 ('0' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
216 #define VK_NUMPAD1 ('1' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
217 #define VK_NUMPAD2 ('2' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
218 #define VK_NUMPAD3 ('3' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
219 #define VK_NUMPAD4 ('4' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
220 #define VK_NUMPAD5 ('5' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
221 #define VK_NUMPAD6 ('6' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
222 #define VK_NUMPAD7 ('7' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
223 #define VK_NUMPAD8 ('8' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
224 #define VK_NUMPAD9 ('9' + 128)
446
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
225 #define VK_BACK VK_BACKSPACE
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
226 #define VK_LMENU VK_MENU
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
227 #define VK_RMENU VK_MENU
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
228
1392
943266c86aed Refactoring OS/2 and Windows code... eliminating BubbleButton...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1389
diff changeset
229 #define BUBBLE_HELP_MAX 256
943266c86aed Refactoring OS/2 and Windows code... eliminating BubbleButton...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1389
diff changeset
230
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
231 typedef struct _window_data {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
232 PFNWP oldproc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
233 UserData *root;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
234 HWND clickdefault;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
235 ULONG flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
236 void *data;
1392
943266c86aed Refactoring OS/2 and Windows code... eliminating BubbleButton...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1389
diff changeset
237 char bubbletext[BUBBLE_HELP_MAX];
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
238 } WindowData;
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
239
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
240 typedef struct _hpixmap {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
241 unsigned long width, height;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
242 HDC hdc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
243 HPS hps;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
244 HBITMAP hbm;
1182
cef7400dcaba Switch to using a dummy window handle for pixmap fonts on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1171
diff changeset
245 HWND handle, font;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
246 unsigned long transcolor;
1701
cc3aba44943e Oops... missed the header file change in that last commit.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1667
diff changeset
247 int depth;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
248 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
249
328
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
250 typedef void *HTREEITEM;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
251 typedef HWND HMENUI;
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
252 typedef HMODULE HMOD;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
253 typedef unsigned short UWORD;
557
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
254 typedef unsigned long HSHM;
671
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
255 typedef unsigned long HICN;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
256
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
257 extern HAB dwhab;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
258 extern HMQ dwhmq;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
259 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
260
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
261 #if defined(__MAC__)
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
262 /* MacOS specific section */
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
263 #include <pthread.h>
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
264 #include <dlfcn.h>
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
265
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
266 /* Unfortunately using Cocoa we can't include
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
267 * Cocoa.h from C code, so we have to instead
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
268 * use opaque types and use the values from
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
269 * Cocoa.h in the header here directly without
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
270 * using the symbolic names.
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
271 */
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
272
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
273 #define TRUE 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
274 #define FALSE 0
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
275
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
276 typedef void *HWND;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
277 typedef void *HSHM;
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
278 typedef unsigned long ULONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
279 typedef long LONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
280 typedef unsigned short USHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
281 typedef short SHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
282 typedef unsigned short UWORD;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
283 typedef short WORD ;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
284 typedef unsigned char UCHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
285 typedef char CHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
286 typedef unsigned UINT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
287 typedef int INT;
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
288 typedef pthread_mutex_t *HMTX;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
289 typedef struct _dw_unix_event {
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
290 pthread_mutex_t mutex;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
291 pthread_cond_t event;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
292 pthread_t thread;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
293 int alive;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
294 int posted;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
295 } *HEV;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
296 typedef pthread_t DWTID;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
297 typedef void * HMOD;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
298 struct _dw_unix_shm {
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
299 int fd;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
300 char *path;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
301 int sid;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
302 int size;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
303 };
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
304 typedef void *HTREEITEM;
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
305 typedef void *HMENUI;
671
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
306 typedef void *HICN;
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
307
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
308 typedef struct _window_data {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
309 UserData *root;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
310 HWND clickdefault;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
311 ULONG flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
312 void *data;
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
313 } WindowData;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
314
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
315 typedef struct _hpixmap {
745
d29fb0d5b291 Fixes for font handling on pixmaps... it needs to use the associated render control to get the fonts.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 744
diff changeset
316 unsigned long width, height;
1146
9d97610b2140 Adding dw_pixmap_set_font() which is equivalent to dw_window_set_font() except for pixmaps.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1136
diff changeset
317 void *image, *font;
745
d29fb0d5b291 Fixes for font handling on pixmaps... it needs to use the associated render control to get the fonts.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 744
diff changeset
318 HWND handle;
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
319 } *HPIXMAP;
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
320
697
830e1f3672b9 Added draining mechanism for threads that don't have run loops.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 676
diff changeset
321 void _dw_pool_drain(void);
830e1f3672b9 Added draining mechanism for threads that don't have run loops.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 676
diff changeset
322
676
9861d264925d MLE was missing the scrollbar. Fixes for getting and setting the position.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 675
diff changeset
323 #define DW_DT_LEFT 0 /* NSLeftTextAlignment */
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
324 #define DW_DT_QUERYEXTENT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
325 #define DW_DT_UNDERSCORE 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
326 #define DW_DT_STRIKEOUT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
327 #define DW_DT_TEXTATTRS 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
328 #define DW_DT_EXTERNALLEADING 0
675
48f8efba898f Filled in most of the remaining MLE and container functions... the remaining few
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 672
diff changeset
329 #define DW_DT_CENTER 2 /* NSCenterTextAlignment */
741
d2de18d4ea50 Fixed an error in the comments.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 731
diff changeset
330 #define DW_DT_RIGHT 1 /* NSRightTextAlignment */
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
331 #define DW_DT_TOP 0
859
80a88c91ccf6 Implemented vertical centering on text fields.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 839
diff changeset
332 #define DW_DT_VCENTER (1 << 10)
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
333 #define DW_DT_BOTTOM 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
334 #define DW_DT_HALFTONE 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
335 #define DW_DT_MNEMONIC 0
1788
9d499b162fe1 Discovered a breakage in OS/2 functionality when building
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1783
diff changeset
336 #define DW_DT_WORDBREAK (1 << 11)
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
337 #define DW_DT_ERASERECT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
338
1017
362e584fb3bd DW_FCF_CLOSEBUTTON should have the closable mask on Mac.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1015
diff changeset
339 #define DW_FCF_CLOSEBUTTON (1 << 1) /* NSClosableWindowMask */
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
340 #define DW_FCF_TITLEBAR (1 << 0) /* NSTitledWindowMask */
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
341 #define DW_FCF_SYSMENU (1 << 1) /* NSClosableWindowMask */
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
342 #define DW_FCF_MENU 0
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
343 #define DW_FCF_SIZEBORDER (1 << 3) /* NSResizableWindowMask */
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
344 #define DW_FCF_MINBUTTON (1 << 2) /* NSMiniaturizableWindowMask */
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
345 #define DW_FCF_MAXBUTTON 0
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
346 #define DW_FCF_MINMAX (1 << 2) /* NSMiniaturizableWindowMask */
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
347 #define DW_FCF_DLGBORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
348 #define DW_FCF_BORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
349 #define DW_FCF_TASKLIST 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
350 #define DW_FCF_NOMOVEWITHOWNER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
351 #define DW_FCF_SYSMODAL 0
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
352 #define DW_FCF_HIDEBUTTON 0
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
353 #define DW_FCF_HIDEMAX 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
354 #define DW_FCF_AUTOICON 0
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
355 #define DW_FCF_MAXIMIZE 0
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
356 #define DW_FCF_MINIMIZE 0
1802
aedf5903db0a Add DW_FCF_TEXTURED window style; relevant only for Mac port.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1795
diff changeset
357 #define DW_FCF_TEXTURED (1 << 8) /* NSTexturedBackgroundWindowMask */
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
358
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
359 #define DW_CFA_BITMAPORICON 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
360 #define DW_CFA_STRING (1 << 1)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
361 #define DW_CFA_ULONG (1 << 2)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
362 #define DW_CFA_TIME (1 << 3)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
363 #define DW_CFA_DATE (1 << 4)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
364 #define DW_CFA_CENTER (1 << 5)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
365 #define DW_CFA_LEFT (1 << 6)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
366 #define DW_CFA_RIGHT (1 << 7)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
367 #define DW_CFA_STRINGANDICON (1 << 8)
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
368 #define DW_CFA_HORZSEPARATOR 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
369 #define DW_CFA_SEPARATOR 0
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
370
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
371 #define DW_CRA_SELECTED 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
372 #define DW_CRA_CURSORED (1 << 1)
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
373
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
374 #define DW_LS_MULTIPLESEL 1
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
375
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
376 #define DW_LIT_NONE -1
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
377
889
238ca78e71a7 Set DW_MLE_CASESENSITIVE to be the NSLiteralSearch value.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 859
diff changeset
378 #define DW_MLE_CASESENSITIVE 2 /* NSLiteralSearch */
763
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
379
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
380 #define DW_BS_NOBORDER 1
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
381
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
382 #define DW_POINTER_DEFAULT 0
671
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
383 #define DW_POINTER_ARROW 1
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
384 #define DW_POINTER_CLOCK 2
1004
cb81c08bd8c3 Correct OS/2 question mark pointer #define; should be SPTR_ICONQUESTION despite some online
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 987
diff changeset
385 #define DW_POINTER_QUESTION 3
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
386
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
387 #define HWND_DESKTOP ((HWND)0)
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
388
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
389 /* flag values for dw_messagebox() */
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
390 #define DW_MB_OK (1 << 1)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
391 #define DW_MB_OKCANCEL (1 << 2)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
392 #define DW_MB_YESNO (1 << 3)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
393 #define DW_MB_YESNOCANCEL (1 << 4)
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
394
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
395 #define DW_MB_WARNING (1 << 10)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
396 #define DW_MB_ERROR (1 << 11)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
397 #define DW_MB_INFORMATION (1 << 12)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
398 #define DW_MB_QUESTION (1 << 13)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
399
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
400 /* Virtual Key Codes */
723
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
401 #define VK_LBUTTON 0xFF10 /* TODO */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
402 #define VK_RBUTTON 0xFF11 /* TODO */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
403 #define VK_CANCEL 0xFF12 /* TODO */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
404 #define VK_MBUTTON 0xFF13 /* TODO */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
405 #define VK_BACK 0x7F
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
406 #define VK_TAB 0x09
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
407 #define VK_CLEAR 71
768
7a236fdcf4ba Fixed a typo in VK_RETURN and initial implementation of dw_window_click_default().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 765
diff changeset
408 #define VK_RETURN 13
723
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
409 #define VK_MENU 0xF735 /* NSMenuFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
410 #define VK_PAUSE 0xF730 /* NSPauseFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
411 #define VK_CAPITAL 57
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
412 #define VK_ESCAPE 0x1B
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
413 #define VK_SPACE ' '
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
414 #define VK_PRIOR 0xF72C /* NSPageUpFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
415 #define VK_NEXT 0xF72D /* NSPageDownFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
416 #define VK_END 0xF72B /* NSEndFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
417 #define VK_HOME 0xF729 /* NSHomeFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
418 #define VK_LEFT 0xF702 /* NSLeftArrowFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
419 #define VK_UP 0xF700 /* NSUpArrowFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
420 #define VK_RIGHT 0xF703 /* NSRightArrowFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
421 #define VK_DOWN 0xF701 /* NSDownArrowFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
422 #define VK_SELECT 0xF741 /* NSSelectFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
423 #define VK_PRINT 0xF738 /* NSPrintFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
424 #define VK_EXECUTE 0xF742 /* NSExecuteFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
425 #define VK_SNAPSHOT 0xF72E /* NSPrintScreenFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
426 #define VK_INSERT 0xF727 /* NSInsertFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
427 #define VK_DELETE 0xF728 /* NSDeleteFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
428 #define VK_HELP 0xF746 /* NSHelpFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
429 #define VK_LWIN 55
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
430 #define VK_RWIN 0xFF14 /* TODO */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
431 #define VK_NUMPAD0 82
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
432 #define VK_NUMPAD1 83
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
433 #define VK_NUMPAD2 84
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
434 #define VK_NUMPAD3 85
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
435 #define VK_NUMPAD4 86
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
436 #define VK_NUMPAD5 87
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
437 #define VK_NUMPAD6 88
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
438 #define VK_NUMPAD7 89
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
439 #define VK_NUMPAD8 91
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
440 #define VK_NUMPAD9 92
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
441 #define VK_MULTIPLY 67
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
442 #define VK_ADD 69
724
41080d22edc8 Couple more fixes to keyhandling... committed before I finished what I was doing...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 723
diff changeset
443 #define VK_SEPARATOR 0xFF15 /* TODO */
723
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
444 #define VK_SUBTRACT 78
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
445 #define VK_DECIMAL 65
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
446 #define VK_DIVIDE 75
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
447 #define VK_F1 0xF704 /* NSF1FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
448 #define VK_F2 0xF705 /* NSF2FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
449 #define VK_F3 0xF706 /* NSF3FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
450 #define VK_F4 0xF707 /* NSF4FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
451 #define VK_F5 0xF708 /* NSF5FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
452 #define VK_F6 0xF709 /* NSF6FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
453 #define VK_F7 0xF70A /* NSF7FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
454 #define VK_F8 0xF70B /* NSF8FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
455 #define VK_F9 0xF70C /* NSF9FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
456 #define VK_F10 0xF70D /* NSF10FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
457 #define VK_F11 0xF70E /* NSF11FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
458 #define VK_F12 0xF70F /* NSF12FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
459 #define VK_F13 0xF710 /* NSF13FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
460 #define VK_F14 0xF711 /* NSF14FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
461 #define VK_F15 0xF712 /* NSF15FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
462 #define VK_F16 0xF713 /* NSF16FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
463 #define VK_F17 0xF714 /* NSF17FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
464 #define VK_F18 0xF715 /* NSF18FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
465 #define VK_F19 0xF716 /* NSF19FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
466 #define VK_F20 0xF717 /* NSF20FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
467 #define VK_F21 0xF718 /* NSF21FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
468 #define VK_F22 0xF719 /* NSF22FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
469 #define VK_F23 0xF71A /* NSF23FunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
470 #define VK_F24 0xF71B /* NSF24FunctionKey */
724
41080d22edc8 Couple more fixes to keyhandling... committed before I finished what I was doing...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 723
diff changeset
471 #define VK_NUMLOCK 0xFF16 /* TODO */
723
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
472 #define VK_SCROLL 0xF72F /* NSScrollLockFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
473 #define VK_LSHIFT 56
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
474 #define VK_RSHIFT 60
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
475 #define VK_LCONTROL 59
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
476 #define VK_RCONTROL 62
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
477 #define VK_LMENU 0xF735 /* NSMenuFunctionKey */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
478 #define VK_RMENU 0xF735 /* NSMenuFunctionKey */
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
479
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
480 /* Key Modifiers */
723
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
481 #define KC_CTRL (1 << 18) /* NSControlKeyMask */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
482 #define KC_SHIFT (1 << 17) /* NSShiftKeyMask */
37c8d2b4cec5 Initial key press event/signal handling... does not seem to trap on all controls...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 697
diff changeset
483 #define KC_ALT (1 << 19) /* NSAlternateKeyMask */
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
484 #endif
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
485
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
486 /* Windows specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
487 #if defined(__WIN32__) || defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
488 #include <windows.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
489 #include <commctrl.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
490
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
491 #if defined(MSVC) && !defined(API)
1663
a76fb5f1a6c8 Fixes for building in Unicode mode with MinGW on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1658
diff changeset
492 # if defined(__MINGW32__) && defined(BUILD_DLL)
a76fb5f1a6c8 Fixes for building in Unicode mode with MinGW on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1658
diff changeset
493 # define API _cdecl __declspec(dllexport)
571
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
494 # else
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
495 # define API _cdecl
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
496 #endif
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
497 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
498
1788
9d499b162fe1 Discovered a breakage in OS/2 functionality when building
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1783
diff changeset
499 #define DW_DT_LEFT SS_LEFTNOWORDWRAP
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
500 #define DW_DT_QUERYEXTENT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
501 #define DW_DT_UNDERSCORE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
502 #define DW_DT_STRIKEOUT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
503 #define DW_DT_TEXTATTRS 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
504 #define DW_DT_EXTERNALLEADING 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
505 #define DW_DT_CENTER SS_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
506 #define DW_DT_RIGHT SS_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
507 #define DW_DT_TOP 0
1790
209c57a14b09 Rewrite dw_window_set_style() on Windows to properly handle the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1788
diff changeset
508 #define DW_DT_VCENTER (1 << 29)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
509 #define DW_DT_BOTTOM 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
510 #define DW_DT_HALFTONE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
511 #define DW_DT_MNEMONIC 0
1790
209c57a14b09 Rewrite dw_window_set_style() on Windows to properly handle the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1788
diff changeset
512 #define DW_DT_WORDBREAK (1 << 28)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
513 #define DW_DT_ERASERECT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
514
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
515 #define DW_FCF_CLOSEBUTTON 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
516 #define DW_FCF_TITLEBAR WS_CAPTION
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
517 #define DW_FCF_SYSMENU WS_SYSMENU
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
518 #define DW_FCF_MENU 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
519 #define DW_FCF_SIZEBORDER WS_THICKFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
520 #define DW_FCF_MINBUTTON WS_MINIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
521 #define DW_FCF_MAXBUTTON WS_MAXIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
522 #define DW_FCF_MINMAX (WS_MINIMIZEBOX|WS_MAXIMIZEBOX)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
523 #define DW_FCF_DLGBORDER WS_DLGFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
524 #define DW_FCF_BORDER WS_BORDER
1535
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
525 #define DW_FCF_TASKLIST (1 << 1)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
526 #define DW_FCF_NOMOVEWITHOWNER 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
527 #define DW_FCF_SYSMODAL 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
528 #define DW_FCF_HIDEBUTTON WS_MINIMIZEBOX
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
529 #define DW_FCF_HIDEMAX (WS_MINIMIZEBOX|WS_MAXIMIZEBOX)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
530 #define DW_FCF_AUTOICON 0
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
531 #define DW_FCF_MAXIMIZE WS_MAXIMIZE
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
532 #define DW_FCF_MINIMIZE WS_MINIMIZE
1535
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
533 #define DW_FCF_COMPOSITED 1
1802
aedf5903db0a Add DW_FCF_TEXTURED window style; relevant only for Mac port.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1795
diff changeset
534 #define DW_FCF_TEXTURED 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
535
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
536 #define DW_CFA_BITMAPORICON 1
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
537 #define DW_CFA_STRING (1 << 1)
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
538 #define DW_CFA_ULONG (1 << 2)
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
539 #define DW_CFA_TIME (1 << 3)
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
540 #define DW_CFA_DATE (1 << 4)
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
541 #define DW_CFA_CENTER (1 << 5)
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
542 #define DW_CFA_LEFT (1 << 6)
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
543 #define DW_CFA_RIGHT (1 << 7)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
544 #define DW_CFA_STRINGANDICON (1 << 8)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
545 #define DW_CFA_HORZSEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
546 #define DW_CFA_SEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
547
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
548 #define DW_CRA_SELECTED LVNI_SELECTED
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
549 #define DW_CRA_CURSORED LVNI_FOCUSED
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
550
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
551 #define DW_LS_MULTIPLESEL LBS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
552
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
553 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
554
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
555 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
556
763
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
557 #define DW_BS_NOBORDER BS_FLAT
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
558
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
559 #define DW_POINTER_DEFAULT 0
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
560 #define DW_POINTER_ARROW 32512
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
561 #define DW_POINTER_CLOCK 32514
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
562 #define DW_POINTER_QUESTION 32651
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
563
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
564 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
565 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
566 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
567 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
568 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
569
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
570 #define DW_MB_WARNING MB_ICONWARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
571 #define DW_MB_ERROR MB_ICONERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
572 #define DW_MB_INFORMATION MB_ICONINFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
573 #define DW_MB_QUESTION MB_ICONQUESTION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
574
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
575 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
576 #define KC_CTRL (1)
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
577 #define KC_SHIFT (1 << 1)
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
578 #define KC_ALT (1 << 2)
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
579
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
580 typedef struct _color {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
581 int fore;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
582 int back;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
583 HWND combo, buddy;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
584 int user;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
585 int vcenter;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
586 HWND clickdefault;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
587 HBRUSH hbrush;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
588 HFONT hfont;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
589 char fontname[128];
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
590 WNDPROC pOldProc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
591 UserData *root;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
592 } ColorInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
593
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
594 typedef struct _notebookpage {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
595 ColorInfo cinfo;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
596 TC_ITEM item;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
597 HWND hwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
598 int realid;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
599 } NotebookPage;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
600
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
601 typedef HANDLE HMTX;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
602 typedef HANDLE HEV;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
603 typedef HANDLE HMOD;
557
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
604 typedef HANDLE HSHM;
975
52cd98b7e45c Changed to using HANDLE as the base type for HICN on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 960
diff changeset
605 typedef HANDLE HICN;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
606
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
607 typedef struct _container {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
608 ColorInfo cinfo;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
609 ULONG *flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
610 ULONG columns;
1212
5271d5cb27ac Implemented dw_container_set_row_bg() on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1206
diff changeset
611 COLORREF odd, even;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
612 } ContainerInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
613
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
614 typedef struct _hpixmap {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
615 unsigned long width, height;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
616 HBITMAP hbm;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
617 HDC hdc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
618 unsigned long transcolor;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
619 HWND handle;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
620 void *bits;
960
841b66d2d1b9 Added initial support for transparent pixmap/bitmaps on Windows...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 889
diff changeset
621 unsigned long depth;
1146
9d97610b2140 Adding dw_pixmap_set_font() which is equivalent to dw_window_set_font() except for pixmaps.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1136
diff changeset
622 HFONT font;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
623 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
624
238
13d3de3f1e83 Rewrote the menu code to not return structs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 236
diff changeset
625 typedef HWND HMENUI;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
626 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
627
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
628 typedef struct _item {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
629 /* Item type - Box or Item */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
630 int type;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
631 /* Handle to Frame or Window */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
632 HWND hwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
633 /* Width and Height of static size */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
634 int width, height, origwidth, origheight;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
635 /* Size Type - Static or Expand */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
636 int hsize, vsize;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
637 /* Padding */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
638 int pad;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
639 } Item;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
640
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
641 typedef struct _box {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
642 #if defined(__WIN32__) || defined(WINNT)
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
643 ColorInfo cinfo;
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 22
diff changeset
644 #elif defined(__OS2__) || defined(__EMX__)
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
645 PFNWP oldproc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
646 UserData *root;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
647 HWND hwndtitle, hwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
648 int titlebar;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
649 #endif
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
650 /* Number of items in the box */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
651 int count;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
652 /* Box type - horizontal or vertical */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
653 int type;
1435
3c5287b8eebb Temporary fix on Mac for box miscalculation when box is not expandable but items are in complex layouts.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1430
diff changeset
654 /* Keep track of how box is packed */
3c5287b8eebb Temporary fix on Mac for box miscalculation when box is not expandable but items are in complex layouts.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1430
diff changeset
655 int hsize, vsize;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
656 /* Padding */
1437
a50e8b486a1a Initial layout engine 2.0 for the Mac... Windows and OS/2 may not compile until
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1435
diff changeset
657 int pad, grouppadx, grouppady;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
658 /* Groupbox */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
659 HWND grouphwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
660 /* Default item */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
661 HWND defaultitem;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
662 /* Used as temporary storage in the calculation stage */
1437
a50e8b486a1a Initial layout engine 2.0 for the Mac... Windows and OS/2 may not compile until
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1435
diff changeset
663 int usedpadx, usedpady, minheight, minwidth;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
664 /* Used for calculating individual item ratios */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
665 int width, height;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
666 /* Any combinations of flags describing the box */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
667 unsigned long flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
668 /* Array of item structures */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
669 struct _item *items;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
670 } Box;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
671
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
672 #elif defined(__PHOTON__)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
673 #include <stdio.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
674 #include <stdlib.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
675 #include <unistd.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
676 #include <sys/utsname.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
677 /* Photon specific section */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
678 #include <Pt.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
679 #include <Ph.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
680 /* which image formats supported */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
681 #define PX_IMAGE_MODULES
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
682 #define PX_GIF_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
683 #define PX_JPG_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
684 #define PX_BMP_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
685 #define PX_PND_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
686 #include <photon/PxImage.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
687
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
688 #define TRUE 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
689 #define FALSE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
690
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
691 typedef PtWidget_t *pPtWidget_t;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
692 typedef pPtWidget_t HWND;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
693
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
694 typedef unsigned long ULONG;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
695 typedef long LONG;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
696 typedef unsigned short USHORT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
697 typedef short SHORT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
698 typedef unsigned short UWORD;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
699 typedef short WORD ;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
700 typedef unsigned char UCHAR;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
701 typedef char CHAR;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
702 typedef unsigned UINT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
703 typedef int INT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
704 typedef void *HMTX;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
705 typedef void *HEV;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
706 typedef void *HSHM;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
707 typedef void *HMOD;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
708 typedef PtTreeItem_t *HTREEITEM;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
709 typedef HWND HMENUI;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
710 typedef int DWTID;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
711 typedef unsigned long HICN;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
712
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
713 typedef struct _user_data
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
714 {
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
715 struct _user_data *next;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
716 void *data;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
717 char *varname;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
718 } UserData;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
719
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
720 typedef struct _window_data {
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
721 UserData *root;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
722 HWND clickdefault;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
723 ULONG flags;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
724 void *data;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
725 } WindowData;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
726
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
727 typedef struct _hpixmap {
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
728 unsigned long width, height;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
729 /* ?? *pixmap; */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
730 HWND handle;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
731 } *HPIXMAP;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
732
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
733 /* colors matching Photon Graphics colors */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
734 #define DW_CLR_BLACK Pg_BLACK
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
735 #define DW_CLR_DARKRED Pg_DRED
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
736 #define DW_CLR_DARKGREEN Pg_DGREEN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
737 #define DW_CLR_BROWN Pg_BROWN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
738 #define DW_CLR_DARKBLUE Pg_DBLUE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
739 #define DW_CLR_DARKPINK Pg_PURPLE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
740 #define DW_CLR_DARKCYAN Pg_DCYAN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
741 #define DW_CLR_PALEGRAY Pg_GRAY
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
742 #define DW_CLR_DARKGRAY Pg_MGRAY
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
743 #define DW_CLR_RED Pg_RED
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
744 #define DW_CLR_GREEN Pg_GREEN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
745 #define DW_CLR_YELLOW Pg_YELLOW
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
746 #define DW_CLR_BLUE Pg_BLUE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
747 #define DW_CLR_PINK Pg_MAGENTA
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
748 #define DW_CLR_CYAN Pg_CYAN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
749 #define DW_CLR_WHITE Pg_WHITE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
750 #define DW_CLR_DEFAULT Pg_GRAY
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
751 /* color manipulation macros */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
752 #define DW_RGB_COLOR (0xF0000000)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
753 #define DW_RGB_TRANSPARENT (0x0F000000)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
754 #define DW_RGB_MASK (0x00FFFFFF)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
755 #define DW_RED_MASK (0x00FF0000)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
756 #define DW_GREEN_MASK (0x0000FF00)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
757 #define DW_BLUE_MASK (0x000000FF)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
758 #define DW_RED_VALUE(a) PgRedValue(a)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
759 #define DW_GREEN_VALUE(a) PgGreenValue(a)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
760 #define DW_BLUE_VALUE(a) PgBluValue(a)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
761 #define DW_RGB(a, b, c) PgRGB( a, b, c )
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
762
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
763 #define DW_DT_LEFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
764 #define DW_DT_QUERYEXTENT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
765 #define DW_DT_UNDERSCORE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
766 #define DW_DT_STRIKEOUT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
767 #define DW_DT_TEXTATTRS 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
768 #define DW_DT_EXTERNALLEADING 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
769 #define DW_DT_CENTER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
770 #define DW_DT_RIGHT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
771 #define DW_DT_TOP 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
772 #define DW_DT_VCENTER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
773 #define DW_DT_BOTTOM 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
774 #define DW_DT_HALFTONE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
775 #define DW_DT_MNEMONIC 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
776 #define DW_DT_WORDBREAK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
777 #define DW_DT_ERASERECT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
778
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
779 #define DW_FCF_CLOSEBUTTON Ph_WM_RENDER_CLOSE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
780 #define DW_FCF_TITLEBAR Ph_WM_RENDER_TITLE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
781 #define DW_FCF_SYSMENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
782 #define DW_FCF_MENU Ph_WM_RENDER_MENU
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
783 #define DW_FCF_SIZEBORDER Ph_WM_RENDER_RESIZE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
784 #define DW_FCF_MINBUTTON Ph_WM_RENDER_MIN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
785 #define DW_FCF_MAXBUTTON Ph_WM_RENDER_MAX
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
786 #define DW_FCF_MINMAX (Ph_WM_RENDER_MIN|Ph_WM_RENDER_MAX)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
787 #define DW_FCF_DLGBORDER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
788 #define DW_FCF_BORDER Ph_WM_RENDER_BORDER
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
789 #define DW_FCF_TASKLIST 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
790 #define DW_FCF_NOMOVEWITHOWNER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
791 #define DW_FCF_SYSMODAL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
792 #define DW_FCF_HIDEBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
793 #define DW_FCF_HIDEMAX 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
794 #define DW_FCF_AUTOICON (Ph_WM_RENDER_ASICON | ~Ph_WM_RENDER_ASAPP)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
795 #define DW_FCF_MAXIMIZE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
796 #define DW_FCF_MINIMIZE 0
1802
aedf5903db0a Add DW_FCF_TEXTURED window style; relevant only for Mac port.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1795
diff changeset
797 #define DW_FCF_TEXTURED 0
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
798
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
799 #define DW_CFA_BITMAPORICON 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
800 #define DW_CFA_STRING (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
801 #define DW_CFA_ULONG (1 << 2)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
802 #define DW_CFA_TIME (1 << 3)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
803 #define DW_CFA_DATE (1 << 4)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
804 #define DW_CFA_CENTER (1 << 5)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
805 #define DW_CFA_LEFT (1 << 6)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
806 #define DW_CFA_RIGHT (1 << 7)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
807 #define DW_CFA_STRINGANDICON (1 << 8)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
808 #define DW_CFA_HORZSEPARATOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
809 #define DW_CFA_SEPARATOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
810
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
811 #define DW_CRA_SELECTED 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
812 #define DW_CRA_CURSORED (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
813
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
814 #define DW_LS_MULTIPLESEL 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
815
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
816 #define DW_LIT_NONE -1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
817
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
818 #ifdef MLFSEARCH_CASESENSITIVE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
819 # define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
820 #else
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
821 # define DW_MLE_CASESENSITIVE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
822 #endif
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
823
763
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
824 #define DW_BS_NOBORDER 1
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
825
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
826 #define DW_POINTER_DEFAULT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
827 #define DW_POINTER_ARROW 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
828 #define DW_POINTER_CLOCK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
829 #define DW_POINTER_QUESTION 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
830
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
831 #define HWND_DESKTOP ((HWND)0)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
832
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
833 /* flag values for dw_messagebox() */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
834 #define DW_MB_OK (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
835 #define DW_MB_OKCANCEL (1 << 2)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
836 #define DW_MB_YESNO (1 << 3)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
837 #define DW_MB_YESNOCANCEL (1 << 4)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
838
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
839 #define DW_MB_WARNING (1 << 10)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
840 #define DW_MB_ERROR (1 << 11)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
841 #define DW_MB_INFORMATION (1 << 12)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
842 #define DW_MB_QUESTION (1 << 13)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
843
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
844 /* Virtual Key Codes */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
845 #define VK_LBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
846 #define VK_RBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
847 #define VK_CANCEL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
848 #define VK_MBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
849 #define VK_BACK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
850 #define VK_TAB 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
851 #define VK_CLEAR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
852 #define VK_RETURN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
853 #define VK_MENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
854 #define VK_PAUSE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
855 #define VK_CAPITAL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
856 #define VK_ESCAPE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
857 #define VK_SPACE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
858 #define VK_PRIOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
859 #define VK_NEXT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
860 #define VK_END 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
861 #define VK_HOME 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
862 #define VK_LEFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
863 #define VK_UP 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
864 #define VK_RIGHT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
865 #define VK_DOWN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
866 #define VK_SELECT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
867 #define VK_PRINT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
868 #define VK_EXECUTE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
869 #define VK_SNAPSHOT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
870 #define VK_INSERT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
871 #define VK_DELETE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
872 #define VK_HELP 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
873 #define VK_LWIN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
874 #define VK_RWIN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
875 #define VK_NUMPAD0 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
876 #define VK_NUMPAD1 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
877 #define VK_NUMPAD2 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
878 #define VK_NUMPAD3 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
879 #define VK_NUMPAD4 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
880 #define VK_NUMPAD5 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
881 #define VK_NUMPAD6 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
882 #define VK_NUMPAD7 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
883 #define VK_NUMPAD8 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
884 #define VK_NUMPAD9 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
885 #define VK_MULTIPLY 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
886 #define VK_ADD 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
887 #define VK_SEPARATOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
888 #define VK_SUBTRACT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
889 #define VK_DECIMAL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
890 #define VK_DIVIDE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
891 #define VK_F1 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
892 #define VK_F2 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
893 #define VK_F3 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
894 #define VK_F4 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
895 #define VK_F5 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
896 #define VK_F6 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
897 #define VK_F7 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
898 #define VK_F8 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
899 #define VK_F9 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
900 #define VK_F10 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
901 #define VK_F11 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
902 #define VK_F12 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
903 #define VK_F13 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
904 #define VK_F14 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
905 #define VK_F15 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
906 #define VK_F16 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
907 #define VK_F17 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
908 #define VK_F18 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
909 #define VK_F19 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
910 #define VK_F20 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
911 #define VK_F21 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
912 #define VK_F22 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
913 #define VK_F23 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
914 #define VK_F24 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
915 #define VK_NUMLOCK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
916 #define VK_SCROLL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
917 #define VK_LSHIFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
918 #define VK_RSHIFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
919 #define VK_LCONTROL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
920 #define VK_RCONTROL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
921 #define VK_LMENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
922 #define VK_RMENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
923
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
924 /* Key Modifiers */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
925 #define KC_CTRL (1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
926 #define KC_SHIFT (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
927 #define KC_ALT (1 << 2)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
928
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
929 #else
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
930 /* GTK Specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
931 #include <gtk/gtk.h>
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
932 #ifdef GDK_WINDOWING_X11
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
933 # include <gdk/gdkx.h>
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
934 #else
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
935 # include <gdk/gdk.h>
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
936 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
937 #include <gdk/gdkprivate.h>
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
938 #include <gdk/gdkkeysyms.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
939 #include <pthread.h>
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
940 #if !defined(GDK_WINDOWING_WIN32)
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
941 # include <dlfcn.h>
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
942 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
943
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
944 #define DW_DT_LEFT 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
945 #define DW_DT_UNDERSCORE (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
946 #define DW_DT_STRIKEOUT (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
947 #define DW_DT_CENTER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
948 #define DW_DT_RIGHT (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
949 #define DW_DT_TOP (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
950 #define DW_DT_VCENTER (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
951 #define DW_DT_BOTTOM (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
952 #define DW_DT_HALFTONE (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
953 #define DW_DT_MNEMONIC (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
954 #define DW_DT_WORDBREAK (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
955 #define DW_DT_ERASERECT (1 << 11)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
956
262
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
957 /* these don't exist under gtk, so make them dummy entries */
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
958 #define DW_DT_QUERYEXTENT 0
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
959 #define DW_DT_TEXTATTRS 0
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
960 #define DW_DT_EXTERNALLEADING 0
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
961
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
962 #define DW_FCF_TITLEBAR 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
963 #define DW_FCF_SYSMENU (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
964 #define DW_FCF_MENU (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
965 #define DW_FCF_SIZEBORDER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
966 #define DW_FCF_MINBUTTON (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
967 #define DW_FCF_MAXBUTTON (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
968 #define DW_FCF_MINMAX (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
969 #define DW_FCF_DLGBORDER (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
970 #define DW_FCF_BORDER (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
971 #define DW_FCF_TASKLIST (1 << 12)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
972 #define DW_FCF_NOMOVEWITHOWNER (1 << 14)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
973 #define DW_FCF_SYSMODAL (1 << 15)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
974 #define DW_FCF_HIDEBUTTON (1 << 16)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
975 #define DW_FCF_HIDEMAX (1 << 17)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
976 #define DW_FCF_AUTOICON (1 << 18)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
977 #define DW_FCF_MAXIMIZE (1 << 19)
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
978 #define DW_FCF_MINIMIZE (1 << 20)
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
979 #define DW_FCF_CLOSEBUTTON (1 << 21)
1802
aedf5903db0a Add DW_FCF_TEXTURED window style; relevant only for Mac port.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1795
diff changeset
980 #define DW_FCF_TEXTURED 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
981
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
982 #define DW_CFA_BITMAPORICON 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
983 #define DW_CFA_STRING (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
984 #define DW_CFA_ULONG (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
985 #define DW_CFA_TIME (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
986 #define DW_CFA_DATE (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
987 #define DW_CFA_CENTER (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
988 #define DW_CFA_LEFT (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
989 #define DW_CFA_RIGHT (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
990 #define DW_CFA_HORZSEPARATOR (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
991 #define DW_CFA_SEPARATOR (1 << 9)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
992 #define DW_CFA_STRINGANDICON (1 << 10)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
993
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
994 #define DW_CRA_SELECTED 1
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
995 #define DW_CRA_CURSORED (1 << 1)
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
996
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
997 #define DW_LS_MULTIPLESEL 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
998
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
999 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1000
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1001 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1002
763
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
1003 #define DW_BS_NOBORDER 1
2cace4e6e69a Added DW_BS_NOBORDER style which can be set on buttons with dw_window_set_style() to make them flat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 745
diff changeset
1004
532
1e60e98a9168 Forgot DW_POINTER_DEFAULT on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 531
diff changeset
1005 #define DW_POINTER_DEFAULT 0
390
2dbed2673df0 Change mouse cursor definitions under GTK. DW_POINTER_ARROW now uses "default"
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 384
diff changeset
1006 #define DW_POINTER_ARROW GDK_TOP_LEFT_ARROW
2dbed2673df0 Change mouse cursor definitions under GTK. DW_POINTER_ARROW now uses "default"
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 384
diff changeset
1007 #define DW_POINTER_CLOCK GDK_WATCH
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1008 #define DW_POINTER_QUESTION GDK_QUESTION_ARROW
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
1009
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1010 #define HWND_DESKTOP ((HWND)0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1011
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1012 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1013 #define DW_MB_OK (1 << 1)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1014 #define DW_MB_OKCANCEL (1 << 2)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1015 #define DW_MB_YESNO (1 << 3)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1016 #define DW_MB_YESNOCANCEL (1 << 4)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1017
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1018 #define DW_MB_WARNING (1 << 10)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1019 #define DW_MB_ERROR (1 << 11)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1020 #define DW_MB_INFORMATION (1 << 12)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1021 #define DW_MB_QUESTION (1 << 13)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1022
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1023 /* Virtual Key Codes */
775
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1024 #if GTK_MAJOR_VERSION > 2
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1025 #define VK_LBUTTON GDK_KEY_Pointer_Button1
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1026 #define VK_RBUTTON GDK_KEY_Pointer_Button3
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1027 #define VK_CANCEL GDK_KEY_Cancel
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1028 #define VK_MBUTTON GDK_KEY_Pointer_Button2
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1029 #define VK_BACK GDK_KEY_BackSpace
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1030 #define VK_TAB GDK_KEY_Tab
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1031 #define VK_CLEAR GDK_KEY_Clear
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1032 #define VK_RETURN GDK_KEY_Return
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1033 #define VK_MENU GDK_KEY_Menu
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1034 #define VK_PAUSE GDK_KEY_Pause
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1035 #define VK_CAPITAL GDK_KEY_Caps_Lock
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1036 #define VK_ESCAPE GDK_KEY_Escape
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1037 #define VK_SPACE GDK_KEY_space
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1038 #define VK_PRIOR GDK_KEY_Page_Up
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1039 #define VK_NEXT GDK_KEY_Page_Down
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1040 #define VK_END GDK_KEY_End
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1041 #define VK_HOME GDK_KEY_Home
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1042 #define VK_LEFT GDK_KEY_Left
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1043 #define VK_UP GDK_KEY_Up
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1044 #define VK_RIGHT GDK_KEY_Right
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1045 #define VK_DOWN GDK_KEY_Down
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1046 #define VK_SELECT GDK_KEY_Select
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1047 #define VK_PRINT GDK_KEY_Sys_Req
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1048 #define VK_EXECUTE GDK_KEY_Execute
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1049 #define VK_SNAPSHOT GDK_KEY_Print
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1050 #define VK_INSERT GDK_KEY_Insert
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1051 #define VK_DELETE GDK_KEY_Delete
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1052 #define VK_HELP GDK_KEY_Help
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1053 #define VK_LWIN GDK_KEY_Super_L
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1054 #define VK_RWIN GDK_KEY_Super_R
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1055 #define VK_NUMPAD0 GDK_KEY_KP_0
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1056 #define VK_NUMPAD1 GDK_KEY_KP_1
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1057 #define VK_NUMPAD2 GDK_KEY_KP_2
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1058 #define VK_NUMPAD3 GDK_KEY_KP_3
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1059 #define VK_NUMPAD4 GDK_KEY_KP_4
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1060 #define VK_NUMPAD5 GDK_KEY_KP_5
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1061 #define VK_NUMPAD6 GDK_KEY_KP_6
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1062 #define VK_NUMPAD7 GDK_KEY_KP_7
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1063 #define VK_NUMPAD8 GDK_KEY_KP_8
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1064 #define VK_NUMPAD9 GDK_KEY_KP_9
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1065 #define VK_MULTIPLY GDK_KEY_KP_Multiply
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1066 #define VK_ADD GDK_KEY_KP_Add
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1067 #define VK_SEPARATOR GDK_KEY_KP_Separator
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1068 #define VK_SUBTRACT GDK_KEY_KP_Subtract
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1069 #define VK_DECIMAL GDK_KEY_KP_Decimal
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1070 #define VK_DIVIDE GDK_KEY_KP_Divide
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1071 #define VK_F1 GDK_KEY_F1
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1072 #define VK_F2 GDK_KEY_F2
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1073 #define VK_F3 GDK_KEY_F3
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1074 #define VK_F4 GDK_KEY_F4
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1075 #define VK_F5 GDK_KEY_F5
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1076 #define VK_F6 GDK_KEY_F6
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1077 #define VK_F7 GDK_KEY_F7
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1078 #define VK_F8 GDK_KEY_F8
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1079 #define VK_F9 GDK_KEY_F9
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1080 #define VK_F10 GDK_KEY_F10
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1081 #define VK_F11 GDK_KEY_F11
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1082 #define VK_F12 GDK_KEY_F12
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1083 #define VK_F13 GDK_KEY_F13
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1084 #define VK_F14 GDK_KEY_F14
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1085 #define VK_F15 GDK_KEY_F15
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1086 #define VK_F16 GDK_KEY_F16
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1087 #define VK_F17 GDK_KEY_F17
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1088 #define VK_F18 GDK_KEY_F18
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1089 #define VK_F19 GDK_KEY_F19
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1090 #define VK_F20 GDK_KEY_F20
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1091 #define VK_F21 GDK_KEY_F21
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1092 #define VK_F22 GDK_KEY_F22
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1093 #define VK_F23 GDK_KEY_F23
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1094 #define VK_F24 GDK_KEY_F24
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1095 #define VK_NUMLOCK GDK_KEY_Num_Lock
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1096 #define VK_SCROLL GDK_KEY_Scroll_Lock
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1097 #define VK_LSHIFT GDK_KEY_Shift_L
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1098 #define VK_RSHIFT GDK_KEY_Shift_R
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1099 #define VK_LCONTROL GDK_KEY_Control_L
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1100 #define VK_RCONTROL GDK_KEY_Control_R
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1101 #define VK_LMENU GDK_KEY_Menu
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1102 #define VK_RMENU GDK_KEY_Menu
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1103
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1104 #else
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1105 #define VK_LBUTTON GDK_Pointer_Button1
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1106 #define VK_RBUTTON GDK_Pointer_Button3
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1107 #define VK_CANCEL GDK_Cancel
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1108 #define VK_MBUTTON GDK_Pointer_Button2
384
cbf4df4bc2f1 Fix typo with backspace key name under GTK
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 369
diff changeset
1109 #define VK_BACK GDK_BackSpace
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1110 #define VK_TAB GDK_Tab
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1111 #define VK_CLEAR GDK_Clear
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1112 #define VK_RETURN GDK_Return
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1113 #define VK_MENU GDK_Menu
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1114 #define VK_PAUSE GDK_Pause
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1115 #define VK_CAPITAL GDK_Caps_Lock
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1116 #define VK_ESCAPE GDK_Escape
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1117 #define VK_SPACE GDK_space
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1118 #define VK_PRIOR GDK_Page_Up
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1119 #define VK_NEXT GDK_Page_Down
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1120 #define VK_END GDK_End
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1121 #define VK_HOME GDK_Home
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1122 #define VK_LEFT GDK_Left
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1123 #define VK_UP GDK_Up
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1124 #define VK_RIGHT GDK_Right
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1125 #define VK_DOWN GDK_Down
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1126 #define VK_SELECT GDK_Select
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1127 #define VK_PRINT GDK_Sys_Req
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1128 #define VK_EXECUTE GDK_Execute
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1129 #define VK_SNAPSHOT GDK_Print
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1130 #define VK_INSERT GDK_Insert
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1131 #define VK_DELETE GDK_Delete
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1132 #define VK_HELP GDK_Help
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1133 #define VK_LWIN GDK_Super_L
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1134 #define VK_RWIN GDK_Super_R
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1135 #define VK_NUMPAD0 GDK_KP_0
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1136 #define VK_NUMPAD1 GDK_KP_1
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1137 #define VK_NUMPAD2 GDK_KP_2
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1138 #define VK_NUMPAD3 GDK_KP_3
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1139 #define VK_NUMPAD4 GDK_KP_4
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1140 #define VK_NUMPAD5 GDK_KP_5
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1141 #define VK_NUMPAD6 GDK_KP_6
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1142 #define VK_NUMPAD7 GDK_KP_7
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1143 #define VK_NUMPAD8 GDK_KP_8
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1144 #define VK_NUMPAD9 GDK_KP_9
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1145 #define VK_MULTIPLY GDK_KP_Multiply
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1146 #define VK_ADD GDK_KP_Add
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1147 #define VK_SEPARATOR GDK_KP_Separator
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1148 #define VK_SUBTRACT GDK_KP_Subtract
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1149 #define VK_DECIMAL GDK_KP_Decimal
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1150 #define VK_DIVIDE GDK_KP_Divide
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1151 #define VK_F1 GDK_F1
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1152 #define VK_F2 GDK_F2
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1153 #define VK_F3 GDK_F3
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1154 #define VK_F4 GDK_F4
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1155 #define VK_F5 GDK_F5
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1156 #define VK_F6 GDK_F6
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1157 #define VK_F7 GDK_F7
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1158 #define VK_F8 GDK_F8
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1159 #define VK_F9 GDK_F9
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1160 #define VK_F10 GDK_F10
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1161 #define VK_F11 GDK_F11
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1162 #define VK_F12 GDK_F12
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1163 #define VK_F13 GDK_F13
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1164 #define VK_F14 GDK_F14
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1165 #define VK_F15 GDK_F15
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1166 #define VK_F16 GDK_F16
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1167 #define VK_F17 GDK_F17
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1168 #define VK_F18 GDK_F18
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1169 #define VK_F19 GDK_F19
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1170 #define VK_F20 GDK_F20
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1171 #define VK_F21 GDK_F21
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1172 #define VK_F22 GDK_F22
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1173 #define VK_F23 GDK_F23
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1174 #define VK_F24 GDK_F24
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1175 #define VK_NUMLOCK GDK_Num_Lock
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1176 #define VK_SCROLL GDK_Scroll_Lock
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1177 #define VK_LSHIFT GDK_Shift_L
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1178 #define VK_RSHIFT GDK_Shift_R
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1179 #define VK_LCONTROL GDK_Control_L
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1180 #define VK_RCONTROL GDK_Control_R
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1181 #define VK_LMENU GDK_Menu
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1182 #define VK_RMENU GDK_Menu
775
5ec50e403a8a Added initial support for GTK 3.0. Split it off into its own directory.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 768
diff changeset
1183 #endif
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1184
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1185 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1186 #define KC_CTRL GDK_CONTROL_MASK
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1187 #define KC_SHIFT GDK_SHIFT_MASK
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1188 #define KC_ALT GDK_MOD1_MASK
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1189
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1190 typedef GtkWidget *HWND;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
1191 #ifndef _ENVRNMNT_H
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1192 typedef unsigned long ULONG;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
1193 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1194 typedef long LONG;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1195 typedef unsigned short USHORT;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1196 typedef short SHORT;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1197 typedef unsigned short UWORD;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1198 typedef short WORD ;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1199 typedef unsigned char UCHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1200 typedef char CHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1201 typedef unsigned UINT;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1202 typedef int INT;
239
403b07f873e1 Use a pointer for HMTX instead of a pthread_mutex_t struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 238
diff changeset
1203 typedef pthread_mutex_t *HMTX;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1204 typedef struct _dw_unix_event {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1205 pthread_mutex_t mutex;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1206 pthread_cond_t event;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1207 pthread_t thread;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1208 int alive;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1209 int posted;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1210 } *HEV;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1211 typedef pthread_t DWTID;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
1212 typedef void * HMOD;
558
05060ce4d6ae Fixes for the new shared memory and named event code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 557
diff changeset
1213 struct _dw_unix_shm {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1214 int fd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1215 char *path;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1216 int sid;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1217 int size;
558
05060ce4d6ae Fixes for the new shared memory and named event code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 557
diff changeset
1218 };
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1219
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1220 typedef struct _hpixmap {
633
87db549e79bc Add dw_polygon_draw() to draw closed polygons.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 624
diff changeset
1221 unsigned long width, height;
1146
9d97610b2140 Adding dw_pixmap_set_font() which is equivalent to dw_window_set_font() except for pixmaps.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1136
diff changeset
1222 HWND handle;
1148
439f276042cc Implemented dw_pixmap_set_font() on GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1146
diff changeset
1223 char *font;
1253
28c2c7e6671c On GTK2 save the original pixbuf that is loaded so we can use it
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1243
diff changeset
1224 #if GTK_MAJOR_VERSION > 1
28c2c7e6671c On GTK2 save the original pixbuf that is loaded so we can use it
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1243
diff changeset
1225 GdkPixbuf *pixbuf; /* the actual image */
28c2c7e6671c On GTK2 save the original pixbuf that is loaded so we can use it
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1243
diff changeset
1226 #endif
776
425f3d46b75f Accidentally clobbered something in dw.h required for GTK 2.x.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 775
diff changeset
1227 #if GTK_MAJOR_VERSION > 2
815
c1e93dd575a5 Initial implementation of a slightly disjointed dual cairo_surface gdkpixbuf image model.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 776
diff changeset
1228 cairo_surface_t *image; /* Going to have dual storage for now */
776
425f3d46b75f Accidentally clobbered something in dw.h required for GTK 2.x.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 775
diff changeset
1229 #else
1004
cb81c08bd8c3 Correct OS/2 question mark pointer #define; should be SPTR_ICONQUESTION despite some online
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 987
diff changeset
1230 GdkPixmap *pixmap; /* the actual image */
cb81c08bd8c3 Correct OS/2 question mark pointer #define; should be SPTR_ICONQUESTION despite some online
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 987
diff changeset
1231 GdkBitmap *bitmap; /* if not null, the image mask representing the transparency mask */
1168
4e8f00c31c91 Added basic printing support for GTK 2.10 and above...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1157
diff changeset
1232 void *image; /* Opaque handle to a cairo_surface_t for printing */
776
425f3d46b75f Accidentally clobbered something in dw.h required for GTK 2.x.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 775
diff changeset
1233 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1234 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1235
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
1236 typedef GtkWidget *HMENUI;
328
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
1237 typedef void *HTREEITEM;
558
05060ce4d6ae Fixes for the new shared memory and named event code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 557
diff changeset
1238 typedef void *HSHM;
977
634bb6cecef1 Oops... missed including the header change in that last commit.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 975
diff changeset
1239 typedef void *HICN;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
1240
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1241 typedef struct _resource_struct {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1242 long resource_max, *resource_id;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1243 char **resource_data;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1244 } DWResources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1245
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1246 #if !defined(DW_RESOURCES) || defined(BUILD_DLL)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1247 static DWResources _resources = { 0, 0, 0 };
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1248 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1249 extern DWResources _resources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1250 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1251
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1252 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1253
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1254 #if !defined(__OS2__) && !defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1255 typedef struct _CDATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1256 {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1257 UCHAR day;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1258 UCHAR month;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1259 USHORT year;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1260 } CDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1261 typedef CDATE *PCDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1262
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1263 typedef struct _CTIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1264 {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1265 UCHAR hours;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1266 UCHAR minutes;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1267 UCHAR seconds;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1268 UCHAR ucReserved;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1269 } CTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1270 typedef CTIME *PCTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1271 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1272
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1273 #if defined(__OS2__) || (defined(__WIN32__) && !defined(GDK_WINDOWING_WIN32)) || (defined(WINNT) && !defined(GDK_WINDOWING_WIN32)) || defined(__EMX__)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1274 typedef unsigned long DWTID;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1275 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1276
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1277 typedef struct _dwenv {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1278 /* Operating System Name and DW Build Date/Time */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1279 char osName[30], buildDate[30], buildTime[30];
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1280 /* Versions and builds */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1281 short MajorVersion, MinorVersion, MajorBuild, MinorBuild;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1282 /* Dynamic Window version */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1283 short DWMajorVersion, DWMinorVersion, DWSubVersion;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1284 } DWEnv;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1285
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1286
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1287 typedef struct _dwexpose {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1288 int x, y;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1289 int width, height;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1290 } DWExpose;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1291
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1292 typedef struct _dwdialog {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1293 HEV eve;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1294 int done;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1295 int method;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1296 void *data, *result;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1297 } DWDialog;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1298
1136
1a5b0908659b Initial implementation of the DynamicWindows Print object for GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1108
diff changeset
1299 typedef void *HPRINT;
1a5b0908659b Initial implementation of the DynamicWindows Print object for GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1108
diff changeset
1300
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1301 #define DW_SIGNAL_FUNC(a) ((void *)a)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1302
262
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
1303 #define DW_DESKTOP HWND_DESKTOP
7
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
1304 #define DW_MINIMIZED 1
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
1305
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1306 #define DW_BUTTON1_MASK 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1307 #define DW_BUTTON2_MASK (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1308 #define DW_BUTTON3_MASK (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1309
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1310 #define DW_EXEC_CON 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1311 #define DW_EXEC_GUI 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1312
449
787cc1e27897 Add support for directory browsing under Win32. DW_DIRECTORY_OPEN can be
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 446
diff changeset
1313 #define DW_FILE_OPEN 0
787cc1e27897 Add support for directory browsing under Win32. DW_DIRECTORY_OPEN can be
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 446
diff changeset
1314 #define DW_FILE_SAVE 1
787cc1e27897 Add support for directory browsing under Win32. DW_DIRECTORY_OPEN can be
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 446
diff changeset
1315 #define DW_DIRECTORY_OPEN 2
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1316
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
1317 #define DW_HORZ 0
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
1318 #define DW_VERT 1
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
1319
1157
79bd0aff0bc2 Added DW_TIMEOUT_INFINITE constant to the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1152
diff changeset
1320 #define DW_TIMEOUT_INFINITE ((unsigned long)-1)
79bd0aff0bc2 Added DW_TIMEOUT_INFINITE constant to the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1152
diff changeset
1321
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
1322 /* Obsolete, should disappear sometime */
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
1323 #define BOXHORZ DW_HORZ
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
1324 #define BOXVERT DW_VERT
1483
73f2ad84d4ec Fixed OS/2 windows being shown when setting position/size.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1468
diff changeset
1325 #define DW_FCF_SHELLPOSITION 0
73f2ad84d4ec Fixed OS/2 windows being shown when setting position/size.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1468
diff changeset
1326 #define DW_FCF_NOBYTEALIGN 0
1535
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1327 #define DW_FCF_VERTSCROLL 0
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1328 #define DW_FCF_HORZSCROLL 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1329
1483
73f2ad84d4ec Fixed OS/2 windows being shown when setting position/size.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1468
diff changeset
1330 /* Scrolling constants */
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
1331 #define DW_SCROLL_UP 0
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
1332 #define DW_SCROLL_DOWN 1
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
1333 #define DW_SCROLL_TOP 2
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
1334 #define DW_SCROLL_BOTTOM 3
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
1335
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1336 /* return values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1337 #define DW_MB_RETURN_OK 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1338 #define DW_MB_RETURN_YES 1
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1339 #define DW_MB_RETURN_NO 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1340 #define DW_MB_RETURN_CANCEL 2
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1341
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1342 #define DW_PIXMAP_WIDTH(x) (x ? x->width : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1343 #define DW_PIXMAP_HEIGHT(x) (x ? x->height : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1344
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1345 #if !defined(__PHOTON__)
62
2be5174bdb5d Sync with latest DW code. Tab and RGB fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 61
diff changeset
1346 #define DW_RGB_COLOR (0xF0000000)
369
39983df2b93d Updated the license information, and copyrights. Code to do background
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 350
diff changeset
1347 #define DW_RGB_TRANSPARENT (0x0F000000)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1348 #define DW_RGB_MASK (0x00FFFFFF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1349 #define DW_RED_MASK (0x000000FF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1350 #define DW_GREEN_MASK (0x0000FF00)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1351 #define DW_BLUE_MASK (0x00FF0000)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1352 #define DW_RED_VALUE(a) (a & DW_RED_MASK)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1353 #define DW_GREEN_VALUE(a) ((a & DW_GREEN_MASK) >> 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1354 #define DW_BLUE_VALUE(a) ((a & DW_BLUE_MASK) >> 16)
1103
bf932c9316ff Minor change to the DW_RGB() macro to avoid compiler warnings under certain circumstances.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1102
diff changeset
1355 #define DW_RGB(a, b, c) (0xF0000000 | (a) | (b) << 8 | (c) << 16)
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1356 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1357
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
1358 #define DW_MENU_SEPARATOR ""
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
1359 #define DW_NOMENU 0
1305
18a31ab94e3d Added DW_MENU_AUTO and DW_MENU_POPUP flags that can be passed to dw_menu_append_item() in the id field.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1291
diff changeset
1360 #define DW_MENU_AUTO 0
18a31ab94e3d Added DW_MENU_AUTO and DW_MENU_POPUP flags that can be passed to dw_menu_append_item() in the id field.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1291
diff changeset
1361 #define DW_MENU_POPUP (unsigned long)-1
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
1362
1190
76262040ed5f Added DW_PERCENT_INDETERMINATE which can be passed to dw_percent_set_pos() to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1182
diff changeset
1363 #define DW_PERCENT_INDETERMINATE ((unsigned int)-1)
76262040ed5f Added DW_PERCENT_INDETERMINATE which can be passed to dw_percent_set_pos() to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1182
diff changeset
1364
557
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1365 /* Return value error codes */
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1366 #define DW_ERROR_NONE 0
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1367 #define DW_ERROR_GENERAL 1
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1368 #define DW_ERROR_TIMEOUT 2
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1369 #define DW_ERROR_NON_INIT 3
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1370 #define DW_ERROR_NO_MEM 4
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1371 #define DW_ERROR_INTERRUPT 5
984
57cb9edb8944 Added a template skeleton file for porting DW to other platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 977
diff changeset
1372 #define DW_ERROR_UNKNOWN -1
557
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1373
584
420c6c94abc7 Added dw_html_* functionality for embedding HTML pages in Dynamic Windows
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 571
diff changeset
1374 /* Embedded HTML actions */
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1375 #define DW_HTML_GOBACK 0
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1376 #define DW_HTML_GOFORWARD 1
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1377 #define DW_HTML_GOHOME 2
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1378 #define DW_HTML_SEARCH 3
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1379 #define DW_HTML_RELOAD 4
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1380 #define DW_HTML_STOP 5
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1381 #define DW_HTML_PRINT 6
584
420c6c94abc7 Added dw_html_* functionality for embedding HTML pages in Dynamic Windows
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 571
diff changeset
1382
1523
026c0b4d6ee9 Initial implmentation of DW_DRAW_NOAA on Mac... only works on pixmaps right now.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1483
diff changeset
1383 /* Drawing flags */
1269
9e477efbacca Added DW_DRAW_DEFAULT, DW_DRAW_FILL and DW_DRAW_FULL drawing flags.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1261
diff changeset
1384 #define DW_DRAW_DEFAULT 0
9e477efbacca Added DW_DRAW_DEFAULT, DW_DRAW_FILL and DW_DRAW_FULL drawing flags.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1261
diff changeset
1385 #define DW_DRAW_FILL 1
9e477efbacca Added DW_DRAW_DEFAULT, DW_DRAW_FILL and DW_DRAW_FULL drawing flags.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1261
diff changeset
1386 #define DW_DRAW_FULL (1 << 1)
1523
026c0b4d6ee9 Initial implmentation of DW_DRAW_NOAA on Mac... only works on pixmaps right now.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1483
diff changeset
1387 #define DW_DRAW_NOAA (1 << 2)
1269
9e477efbacca Added DW_DRAW_DEFAULT, DW_DRAW_FILL and DW_DRAW_FULL drawing flags.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1261
diff changeset
1388
987
297f2e790e57 Added a DW_RESOURCE() macro for typecasting parameters to HICN and for doing bounds checking.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 986
diff changeset
1389 /* Macro for casting resource IDs to HICN */
297f2e790e57 Added a DW_RESOURCE() macro for typecasting parameters to HICN and for doing bounds checking.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 986
diff changeset
1390 #define DW_RESOURCE(a) (a < 65536 ? (HICN)a : (HICN)0)
297f2e790e57 Added a DW_RESOURCE() macro for typecasting parameters to HICN and for doing bounds checking.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 986
diff changeset
1391
1102
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1392 #include <limits.h>
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1393 /* Macros for converting from INT/UINT to and from POINTER without compiler warnings */
1841
7677754a1ca5 Ok, slight changes to prevent missing stdint.h with
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1840
diff changeset
1394 #if _MSC_VER > 1500 || (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 30100 || defined(__has_extension)
7677754a1ca5 Ok, slight changes to prevent missing stdint.h with
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1840
diff changeset
1395 #include <stdint.h>
1839
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1396 /* There has got to be a better way to check for the intptr_t type....
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1397 * for now just include valid versions of Visual C and GCC plus clang.
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1398 */
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1399 #define DW_INT_TO_POINTER(a) ((void *)(intptr_t)a)
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1400 #define DW_POINTER_TO_INT(a) ((int)(intptr_t)a)
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1401 #define DW_UINT_TO_POINTER(a) ((void *)(uintptr_t)a)
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1402 #define DW_POINTER_TO_UINT(a) ((unsigned int)(uintptr_t)a)
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1403 #elif ULONG_MAX > UINT_MAX
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1404 /* If no intptr_t... ULONG is often bigger than UINT */
1102
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1405 #define DW_INT_TO_POINTER(a) ((void *)(long)a)
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1406 #define DW_POINTER_TO_INT(a) ((int)(long)a)
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1407 #define DW_UINT_TO_POINTER(a) ((void *)(unsigned long)a)
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1408 #define DW_POINTER_TO_UINT(a) ((unsigned int)(unsigned long)a)
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1409 #else
1839
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1410 /* Otherwise just fall back to standard casts */
1102
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1411 #define DW_INT_TO_POINTER(a) ((void *)a)
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1412 #define DW_POINTER_TO_INT(a) ((int)a)
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1413 #define DW_UINT_TO_POINTER(a) ((void *)a)
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1414 #define DW_POINTER_TO_UINT(a) ((unsigned int)a)
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1415 #endif
1658
6fe1e91da477 Added DW_POINTER() macro for casting parameters to (void *)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1616
diff changeset
1416 #define DW_POINTER(a) ((void *)a)
1102
cfe7d2b6bc16 Added DW_INT_TO_POINTER/DW_UINT_TO_POINTER/DW_POINTER_TO_INT/DW_POINTER_TO_UINT macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1077
diff changeset
1417
1535
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1418 #ifndef DW_FCF_COMPOSITED
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1419 #define DW_FCF_COMPOSITED 0
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1420 #endif
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1421
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1422 #ifndef API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1423 #define API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1424 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1425
175
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
1426 #define DWSIGNAL API
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
1427
1541
1c6593b0ce45 Initial scrolled minimum and maximum code on Windows... MLE implemented, container to go.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1535
diff changeset
1428 /* Constants for sizing scrolled widgets */
1c6593b0ce45 Initial scrolled minimum and maximum code on Windows... MLE implemented, container to go.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1535
diff changeset
1429 #define _DW_SCROLLED_MIN_WIDTH 100
1c6593b0ce45 Initial scrolled minimum and maximum code on Windows... MLE implemented, container to go.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1535
diff changeset
1430 #define _DW_SCROLLED_MIN_HEIGHT 75
1c6593b0ce45 Initial scrolled minimum and maximum code on Windows... MLE implemented, container to go.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1535
diff changeset
1431 #define _DW_SCROLLED_MAX_WIDTH 500
1c6593b0ce45 Initial scrolled minimum and maximum code on Windows... MLE implemented, container to go.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1535
diff changeset
1432 #define _DW_SCROLLED_MAX_HEIGHT 400
1c6593b0ce45 Initial scrolled minimum and maximum code on Windows... MLE implemented, container to go.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1535
diff changeset
1433
1783
9de6d1cc8fb8 Put test program code into DEPRECATED #ifdef again to avoid build warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1769
diff changeset
1434 #include <wchar.h>
9de6d1cc8fb8 Put test program code into DEPRECATED #ifdef again to avoid build warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1769
diff changeset
1435
492
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1436 /* Let other APIs know what types we've defined,
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1437 * Regina REXX in particular, on Unix.
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1438 */
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1439 #define ULONG_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1440 #define LONG_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1441 #define USHORT_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1442 #define SHORT_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1443 #define UWORD_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1444 #define WORD_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1445 #define UCHAR_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1446 #define CHAR_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1447 #define UINT_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1448 #define INT_TYPEDEFED 1
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1449
1598
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1450 /* Support for API deprecation in supported compilers */
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1451 #if defined(__has_feature) && !defined(__has_extension)
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1452 #define __has_extension __has_feature
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1453 #endif
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1454
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1455 /* Visual C */
1802
aedf5903db0a Add DW_FCF_TEXTURED window style; relevant only for Mac port.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1795
diff changeset
1456 #if defined(_MSC_VER)
1601
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1457 # if _MSC_VER >= 1400
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1458 # define DW_DEPRECATED(func, message) __declspec(deprecated(message)) func
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1459 # endif
1599
d2864925afb9 Last commit didn't work with GCC... not quite as pretty but this works.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1598
diff changeset
1460 /* Clang */
d2864925afb9 Last commit didn't work with GCC... not quite as pretty but this works.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1598
diff changeset
1461 #elif defined(__has_extension)
1802
aedf5903db0a Add DW_FCF_TEXTURED window style; relevant only for Mac port.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1795
diff changeset
1462 # if __has_extension(attribute_deprecated_with_message)
1601
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1463 # define DW_DEPRECATED(func, message) func __attribute__ ((deprecated (message)))
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1464 # else
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1465 # define DW_DEPRECATED(func, message) func __attribute__ ((deprecated))
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1466 # endif
1599
d2864925afb9 Last commit didn't work with GCC... not quite as pretty but this works.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1598
diff changeset
1467 /* GCC */
d2864925afb9 Last commit didn't work with GCC... not quite as pretty but this works.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1598
diff changeset
1468 #elif defined(__GNUC__)
1802
aedf5903db0a Add DW_FCF_TEXTURED window style; relevant only for Mac port.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1795
diff changeset
1469 # if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40500
1601
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1470 # define DW_DEPRECATED(func, message) func __attribute__ ((deprecated (message)))
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1471 # else
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1472 # define DW_DEPRECATED(func, message) func __attribute__ ((deprecated))
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1473 # endif
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1474 #endif
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1475
1598
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1476 /* Compiler without deprecation support */
1601
71e0a3ad07f7 Enable level 3 warnings in DEBUG mode with Visual C to show deprecation warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1600
diff changeset
1477 #ifndef DW_DEPRECATED
1600
cbfdd56e3e72 Fixed building dwcompat with Watcom on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1599
diff changeset
1478 #define DW_DEPRECATED(func, message) func
1598
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1479 #endif
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1480
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1481 /* Public function prototypes */
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1482 void API dw_box_pack_start(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1483 void API dw_box_pack_end(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad);
1077
34f1d6f5f1c3 Added function dw_box_pack_at_index() on Windows, Mac and OS/2. And an example usage in dwtest.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1075
diff changeset
1484 void API dw_box_pack_at_index(HWND box, HWND item, int index, int width, int height, int hsize, int vsize, int pad);
1769
d81bebc5c8cc Mark and I decided to change dw_box_remove*() to dw_box_unpack*() for consistency.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1768
diff changeset
1485 HWND API dw_box_unpack_at_index(HWND box, int index);
d81bebc5c8cc Mark and I decided to change dw_box_remove*() to dw_box_unpack*() for consistency.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1768
diff changeset
1486 int API dw_box_unpack(HWND handle);
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
1487 #if !defined(__OS2__) && !defined(__WIN32__) && !defined(__EMX__) && !defined(__MAC__)
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1488 int API dw_int_init(DWResources *res, int newthread, int *argc, char **argv[]);
134
caeb52bb5ef4 Pass pointers to argc and argv on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 120
diff changeset
1489 #define dw_init(a, b, c) dw_int_init(&_resources, a, &b, &c)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1490 #else
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1491 int API dw_init(int newthread, int argc, char *argv[]);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1492 #endif
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1493 void API dw_main(void);
1528
5facb5380944 Added dw_main_quit() function for exiting the dw_main() loop.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1523
diff changeset
1494 void API dw_main_quit(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1495 void API dw_main_sleep(int seconds);
203
e0beea487e8f Added the basics for scrollbar thumb size on OS/2, and dw_main_iteration()
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 199
diff changeset
1496 void API dw_main_iteration(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1497 void API dw_free(void *ptr);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1498 int API dw_window_show(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1499 int API dw_window_hide(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1500 int API dw_window_minimize(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1501 int API dw_window_raise(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1502 int API dw_window_lower(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1503 int API dw_window_destroy(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1504 void API dw_window_redraw(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1505 int API dw_window_set_font(HWND handle, char *fontname);
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1506 char * API dw_window_get_font(HWND handle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1507 int API dw_window_set_color(HWND handle, unsigned long fore, unsigned long back);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1508 HWND API dw_window_new(HWND hwndOwner, char *title, unsigned long flStyle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1509 HWND API dw_box_new(int type, int pad);
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1510 HWND API dw_scrollbox_new(int type, int pad);
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1511 int API dw_scrollbox_get_pos( HWND handle, int orient );
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1512 int API dw_scrollbox_get_range( HWND handle, int orient );
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1513 HWND API dw_groupbox_new(int type, int pad, char *title);
1598
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1514 DW_DEPRECATED(HWND API dw_mdi_new(unsigned long id), "Due to lack of full Mac support consider avoiding this function.");
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1515 HWND API dw_bitmap_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1516 HWND API dw_bitmapbutton_new(char *text, unsigned long id);
279
984db8aefd7f Build fixes for GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 278
diff changeset
1517 HWND API dw_bitmapbutton_new_from_file(char *text, unsigned long id, char *filename);
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
1518 HWND API dw_bitmapbutton_new_from_data(char *text, unsigned long id, char *str, int len);
350
2216e65ad2ae Removed slider flags and container selection flags from the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
1519 HWND API dw_container_new(unsigned long id, int multi);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1520 HWND API dw_tree_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1521 HWND API dw_text_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1522 HWND API dw_status_text_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1523 HWND API dw_mle_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1524 HWND API dw_entryfield_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1525 HWND API dw_entryfield_password_new(char *text, ULONG id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1526 HWND API dw_combobox_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1527 HWND API dw_button_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1528 HWND API dw_spinbutton_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1529 HWND API dw_radiobutton_new(char *text, ULONG id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1530 HWND API dw_percent_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1531 HWND API dw_slider_new(int vertical, int increments, ULONG id);
511
80dbd5a1f403 Removed the increments parameter from dw_scrollbar_new().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 510
diff changeset
1532 HWND API dw_scrollbar_new(int vertical, ULONG id);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1533 HWND API dw_checkbox_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1534 HWND API dw_listbox_new(unsigned long id, int multi);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1535 void API dw_listbox_append(HWND handle, char *text);
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1536 void API dw_listbox_insert(HWND handle, char *text, int pos);
571
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
1537 void API dw_listbox_list_append(HWND handle, char **text, int count);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1538 void API dw_listbox_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1539 int API dw_listbox_count(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1540 void API dw_listbox_set_top(HWND handle, int top);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1541 void API dw_listbox_select(HWND handle, int index, int state);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1542 void API dw_listbox_delete(HWND handle, int index);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1543 void API dw_listbox_get_text(HWND handle, unsigned int index, char *buffer, unsigned int length);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1544 void API dw_listbox_set_text(HWND handle, unsigned int index, char *buffer);
986
87dc0f5f96d0 Fix return type of dw_listbox_selected() to be "int" instead of "unsigned int" to allow -1 return.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 984
diff changeset
1545 int API dw_listbox_selected(HWND handle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1546 int API dw_listbox_selected_multi(HWND handle, int where);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1547 void API dw_percent_set_pos(HWND handle, unsigned int position);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1548 unsigned int API dw_slider_get_pos(HWND handle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1549 void API dw_slider_set_pos(HWND handle, unsigned int position);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1550 unsigned int API dw_scrollbar_get_pos(HWND handle);
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 185
diff changeset
1551 void API dw_scrollbar_set_pos(HWND handle, unsigned int position);
203
e0beea487e8f Added the basics for scrollbar thumb size on OS/2, and dw_main_iteration()
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 199
diff changeset
1552 void API dw_scrollbar_set_range(HWND handle, unsigned int range, unsigned int visible);
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1553 void API dw_window_set_pos(HWND handle, long x, long y);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1554 void API dw_window_set_size(HWND handle, unsigned long width, unsigned long height);
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1555 void API dw_window_set_pos_size(HWND handle, long x, long y, unsigned long width, unsigned long height);
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1556 void API dw_window_get_pos_size(HWND handle, long *x, long *y, unsigned long *width, unsigned long *height);
1430
cfc7af97c295 Added dw_window_set_preferred_size() prototype to the header.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1415
diff changeset
1557 void API dw_window_get_preferred_size(HWND handle, int *width, int *height);
1468
b2235efd9914 Rewrite of window position code for GTK2. DW_BORDER_WIDTH and DW_BORDER_HEIGHT
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1437
diff changeset
1558 void API dw_window_set_gravity(HWND handle, int horz, int vert);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1559 void API dw_window_set_style(HWND handle, unsigned long style, unsigned long mask);
672
388f2a48aaae Missed one function to typedef. Fixed errors in the test program and switched to using
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 671
diff changeset
1560 void API dw_window_set_icon(HWND handle, HICN icon);
278
df0665ba147f Initial code for dw_bitmapbutton_new_from_file and added filename parameter
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 267
diff changeset
1561 void API dw_window_set_bitmap(HWND handle, unsigned long id, char *filename);
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
1562 void API dw_window_set_bitmap_from_data(HWND handle, unsigned long id, char *data, int len);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1563 char * API dw_window_get_text(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1564 void API dw_window_set_text(HWND handle, char *text);
1389
0512fbb08abf Added dw_window_set_tooltip() for adding bubble help to most controls.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1384
diff changeset
1565 void API dw_window_set_tooltip(HWND handle, char *bubbletext);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1566 int API dw_window_set_border(HWND handle, int border);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1567 void API dw_window_disable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1568 void API dw_window_enable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1569 void API dw_window_capture(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1570 void API dw_window_release(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1571 void API dw_window_reparent(HWND handle, HWND newparent);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1572 void API dw_window_set_pointer(HWND handle, int pointertype);
1795
9304241b7b33 Added new dw_window_set_focus() function and attempted to fix...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1790
diff changeset
1573 void API dw_window_set_focus(HWND handle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1574 void API dw_window_default(HWND window, HWND defaultitem);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1575 void API dw_window_click_default(HWND window, HWND next);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1576 unsigned int API dw_mle_import(HWND handle, char *buffer, int startpoint);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1577 void API dw_mle_export(HWND handle, char *buffer, int startpoint, int length);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1578 void API dw_mle_get_size(HWND handle, unsigned long *bytes, unsigned long *lines);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1579 void API dw_mle_delete(HWND handle, int startpoint, int length);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1580 void API dw_mle_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1581 void API dw_mle_freeze(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1582 void API dw_mle_thaw(HWND handle);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1583 void API dw_mle_set_cursor(HWND handle, int point);
513
7755599311d4 Fixes search and replace errors.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 511
diff changeset
1584 void API dw_mle_set_visible(HWND handle, int line);
7755599311d4 Fixes search and replace errors.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 511
diff changeset
1585 void API dw_mle_set_editable(HWND handle, int state);
7755599311d4 Fixes search and replace errors.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 511
diff changeset
1586 void API dw_mle_set_word_wrap(HWND handle, int state);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1587 int API dw_mle_search(HWND handle, char *text, int point, unsigned long flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1588 void API dw_spinbutton_set_pos(HWND handle, long position);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1589 void API dw_spinbutton_set_limits(HWND handle, long upper, long lower);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1590 void API dw_entryfield_set_limit(HWND handle, ULONG limit);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1591 long API dw_spinbutton_get_pos(HWND handle);
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1592 int API dw_checkbox_get(HWND handle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1593 void API dw_checkbox_set(HWND handle, int value);
671
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1594 HTREEITEM API dw_tree_insert(HWND handle, char *title, HICN icon, HTREEITEM parent, void *itemdata);
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1595 HTREEITEM API dw_tree_insert_after(HWND handle, HTREEITEM item, char *title, HICN icon, HTREEITEM parent, void *itemdata);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1596 void API dw_tree_clear(HWND handle);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1597 void API dw_tree_item_delete(HWND handle, HTREEITEM item);
671
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1598 void API dw_tree_item_change(HWND handle, HTREEITEM item, char *title, HICN icon);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1599 void API dw_tree_item_expand(HWND handle, HTREEITEM item);
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1600 void API dw_tree_item_collapse(HWND handle, HTREEITEM item);
328
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
1601 void API dw_tree_item_select(HWND handle, HTREEITEM item);
513
7755599311d4 Fixes search and replace errors.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 511
diff changeset
1602 void API dw_tree_item_set_data(HWND handle, HTREEITEM item, void *itemdata);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1603 void * API dw_tree_item_get_data(HWND handle, HTREEITEM item);
478
ea099ba917c6 Added two new tree functions, get_title and get_parent and finished the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 471
diff changeset
1604 char * API dw_tree_get_title(HWND handle, HTREEITEM item);
ea099ba917c6 Added two new tree functions, get_title and get_parent and finished the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 471
diff changeset
1605 HTREEITEM API dw_tree_get_parent(HWND handle, HTREEITEM item);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1606 int API dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator);
671
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1607 HICN API dw_icon_load(unsigned long module, unsigned long id);
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1608 HICN API dw_icon_load_from_file(char *filename);
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1609 HICN API dw_icon_load_from_data(char *data, int len);
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1610 void API dw_icon_free(HICN handle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1611 void * API dw_container_alloc(HWND handle, int rowcount);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1612 void API dw_container_set_item(HWND handle, void *pointer, int column, int row, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1613 void API dw_container_change_item(HWND handle, int column, int row, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1614 void API dw_container_set_column_width(HWND handle, int column, int width);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1615 void API dw_container_set_row_title(void *pointer, int row, char *title);
819
2dd7638a7719 Fix for some dw_container_change_item() misbehavior... was functioning the same as dw_container_set_item().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 815
diff changeset
1616 void API dw_container_change_row_title(HWND handle, int row, char *title);
1205
39a5f5fc7628 Added dw_container_set_row_data() and dw_container_change_row_data() macros which just call dw_container_set/change_row_title() but with (void *).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1190
diff changeset
1617 #define dw_container_set_row_data(a, b, c) dw_container_set_row_title(a, b, (char *)c)
39a5f5fc7628 Added dw_container_set_row_data() and dw_container_change_row_data() macros which just call dw_container_set/change_row_title() but with (void *).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1190
diff changeset
1618 #define dw_container_change_row_data(a, b, c) dw_container_change_row_title(a, b, (char *)c)
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1619 void API dw_container_insert(HWND handle, void *pointer, int rowcount);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1620 void API dw_container_clear(HWND handle, int redraw);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1621 void API dw_container_delete(HWND handle, int rowcount);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1622 char * API dw_container_query_start(HWND handle, unsigned long flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1623 char * API dw_container_query_next(HWND handle, unsigned long flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1624 void API dw_container_scroll(HWND handle, int direction, long rows);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1625 void API dw_container_cursor(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1626 void API dw_container_delete_row(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1627 void API dw_container_optimize(HWND handle);
1291
b99b0b2c2826 Renamed dw_container_set_row_bg() to dw_container_set_stripe().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1269
diff changeset
1628 void API dw_container_set_stripe(HWND handle, unsigned long oddcolor, unsigned long evencolor);
1744
535e8c19a13d Added dw_filesystem_set_column_title() function to aid in localization.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1701
diff changeset
1629 void API dw_filesystem_set_column_title(HWND handle, char *title);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1630 int API dw_filesystem_setup(HWND handle, unsigned long *flags, char **titles, int count);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1631 void API dw_filesystem_set_item(HWND handle, void *pointer, int column, int row, void *data);
671
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1632 void API dw_filesystem_set_file(HWND handle, void *pointer, int row, char *filename, HICN icon);
503
f3ed8dda02f8 Added dw_filesystem_change_*() and testcase code from Mark in dwtest.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 494
diff changeset
1633 void API dw_filesystem_change_item(HWND handle, int column, int row, void *data);
671
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1634 void API dw_filesystem_change_file(HWND handle, int row, char *filename, HICN icon);
508
078a40ba2e41 Added dw_container_get_column_type and dw_filesystem_get_column_type.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 507
diff changeset
1635 int API dw_container_get_column_type(HWND handle, int column);
078a40ba2e41 Added dw_container_get_column_type and dw_filesystem_get_column_type.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 507
diff changeset
1636 int API dw_filesystem_get_column_type(HWND handle, int column);
671
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1637 void API dw_taskbar_insert(HWND handle, HICN icon, char *bubbletext);
c60a4f6cfae8 Implemented icon support on the Mac. In the process created a new HICN type.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 650
diff changeset
1638 void API dw_taskbar_delete(HWND handle, HICN icon);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1639 int API dw_screen_width(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1640 int API dw_screen_height(void);
514
08d770271709 More function name changes for Rexx/DW compatibility.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 513
diff changeset
1641 unsigned long API dw_color_depth_get(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1642 HWND API dw_notebook_new(unsigned long id, int top);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1643 unsigned long API dw_notebook_page_new(HWND handle, unsigned long flags, int front);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1644 void API dw_notebook_page_destroy(HWND handle, unsigned int pageid);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1645 void API dw_notebook_page_set_text(HWND handle, unsigned long pageid, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1646 void API dw_notebook_page_set_status_text(HWND handle, unsigned long pageid, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1647 void API dw_notebook_page_set(HWND handle, unsigned int pageid);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
1648 unsigned long API dw_notebook_page_get(HWND handle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1649 void API dw_notebook_pack(HWND handle, unsigned long pageid, HWND page);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1650 HWND API dw_splitbar_new(int type, HWND topleft, HWND bottomright, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1651 void API dw_splitbar_set(HWND handle, float percent);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1652 float API dw_splitbar_get(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1653 HMENUI API dw_menu_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1654 HMENUI API dw_menubar_new(HWND location);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1655 HWND API dw_menu_append_item(HMENUI menu, char *title, unsigned long id, unsigned long flags, int end, int check, HMENUI submenu);
1371
896347a9be19 Initial versions of dw_menu_delete_item() on OS/2 and Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1350
diff changeset
1656 int API dw_menu_delete_item(HMENUI menu, unsigned long id);
1598
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1657 DW_DEPRECATED(void API dw_menu_item_set_check(HMENUI menu, unsigned long id, int check), "Use dw_menu_item_set_state() for new code.");
618
a431ee5e049f Added dw_menu_item_set_state() to set checked status of menu item and ability to enable/disable menu items.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 613
diff changeset
1658 void API dw_menu_item_set_state( HMENUI menux, unsigned long id, unsigned long state);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1659 void API dw_menu_popup(HMENUI *menu, HWND parent, int x, int y);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1660 void API dw_menu_destroy(HMENUI *menu);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1661 void API dw_pointer_query_pos(long *x, long *y);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1662 void API dw_pointer_set_pos(long x, long y);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1663 void API dw_window_function(HWND handle, void *function, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1664 HWND API dw_window_from_id(HWND handle, int id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1665 HMTX API dw_mutex_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1666 void API dw_mutex_close(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1667 void API dw_mutex_lock(HMTX mutex);
1171
13d046d301f7 Added missing dw_mutex_trylock() prototype to header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1168
diff changeset
1668 int API dw_mutex_trylock(HMTX mutex);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1669 void API dw_mutex_unlock(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1670 HEV API dw_event_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1671 int API dw_event_reset(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1672 int API dw_event_post(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1673 int API dw_event_wait(HEV eve, unsigned long timeout);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1674 int API dw_event_close (HEV *eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1675 DWTID API dw_thread_new(void *func, void *data, int stack);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1676 void API dw_thread_end(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1677 DWTID API dw_thread_id(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1678 void API dw_exit(int exitcode);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1679 HWND API dw_render_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1680 void API dw_color_foreground_set(unsigned long value);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1681 void API dw_color_background_set(unsigned long value);
566
f6de197ecbe9 Add dw_color_choose()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 564
diff changeset
1682 unsigned long API dw_color_choose(unsigned long value);
1050
48f43c975533 Added dw_font_choose() on the Mac for 2.1.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1017
diff changeset
1683 char * API dw_font_choose(char *currfont);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1684 void API dw_draw_point(HWND handle, HPIXMAP pixmap, int x, int y);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1685 void API dw_draw_line(HWND handle, HPIXMAP pixmap, int x1, int y1, int x2, int y2);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1686 void API dw_draw_rect(HWND handle, HPIXMAP pixmap, int fill, int x, int y, int width, int height);
633
87db549e79bc Add dw_polygon_draw() to draw closed polygons.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 624
diff changeset
1687 void API dw_draw_polygon(HWND handle, HPIXMAP pixmap, int fill, int npoints, int *x, int *y);
1261
61d0c5f84644 Initial attempt at adding dw_draw_arc() support on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1253
diff changeset
1688 void API dw_draw_arc(HWND handle, HPIXMAP pixmap, int flags, int xorigin, int yorigin, int x1, int y1, int x2, int y2);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1689 void API dw_draw_text(HWND handle, HPIXMAP pixmap, int x, int y, char *text);
514
08d770271709 More function name changes for Rexx/DW compatibility.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 513
diff changeset
1690 void API dw_font_text_extents_get(HWND handle, HPIXMAP pixmap, char *text, int *width, int *height);
1075
3d117071a50b Renamed Mac _dw_default_font() to dw_font_set_default() and added it on OS/2 and Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1050
diff changeset
1691 void API dw_font_set_default(char *fontname);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1692 void API dw_flush(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1693 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);
1243
c191a562c14a Added new dw_pixmap_stretch_bitblt() function on Windows and OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1212
diff changeset
1694 int API dw_pixmap_stretch_bitblt(HWND dest, HPIXMAP destp, int xdest, int ydest, int width, int height, HWND src, HPIXMAP srcp, int xsrc, int ysrc, int srcwidth, int srcheight);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1695 HPIXMAP API dw_pixmap_new(HWND handle, unsigned long width, unsigned long height, int depth);
241
00d2b1bcf036 Added dw_pixmap_new_from_file().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 239
diff changeset
1696 HPIXMAP API dw_pixmap_new_from_file(HWND handle, char *filename);
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
1697 HPIXMAP API dw_pixmap_new_from_data(HWND handle, char *data, int len);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1698 HPIXMAP API dw_pixmap_grab(HWND handle, ULONG id);
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1699 void API dw_pixmap_set_transparent_color( HPIXMAP pixmap, ULONG color );
1146
9d97610b2140 Adding dw_pixmap_set_font() which is equivalent to dw_window_set_font() except for pixmaps.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1136
diff changeset
1700 int API dw_pixmap_set_font(HPIXMAP pixmap, char *fontname);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1701 void API dw_pixmap_destroy(HPIXMAP pixmap);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1702 void API dw_beep(int freq, int dur);
1306
dbd507f42947 Added dw_debug() logging function which will output a message to the debugging console.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1305
diff changeset
1703 void API dw_debug(char *format, ...);
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1704 int API dw_messagebox(char *title, int flags, char *format, ...);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1705 void API dw_environment_query(DWEnv *env);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1706 int API dw_exec(char *program, int type, char **params);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1707 int API dw_browse(char *url);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1708 char * API dw_file_browse(char *title, char *defpath, char *ext, int flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1709 char * API dw_user_dir(void);
1384
156e32814c83 Cleanup of the previous commits and added Unix support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1371
diff changeset
1710 char * API dw_app_dir(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1711 DWDialog * API dw_dialog_new(void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1712 int API dw_dialog_dismiss(DWDialog *dialog, void *result);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1713 void * API dw_dialog_wait(DWDialog *dialog);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1714 void API dw_window_set_data(HWND window, char *dataname, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1715 void * API dw_window_get_data(HWND window, char *dataname);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1716 int API dw_module_load(char *name, HMOD *handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1717 int API dw_module_symbol(HMOD handle, char *name, void**func);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1718 int API dw_module_close(HMOD handle);
199
b955228477b3 Removed the window parameter to dw_timer_connect() it was no needed.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 195
diff changeset
1719 int API dw_timer_connect(int interval, void *sigfunc, void *data);
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 185
diff changeset
1720 void API dw_timer_disconnect(int id);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1721 void API dw_signal_connect(HWND window, char *signame, void *sigfunc, void *data);
1853
4790589f52a9 Initial commit for new dw_signal_connect_data() function...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1845
diff changeset
1722 void API dw_signal_connect_data(HWND window, char *signame, void *sigfunc, void *discfunc, void *data);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1723 void API dw_signal_disconnect_by_window(HWND window);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1724 void API dw_signal_disconnect_by_data(HWND window, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1725 void API dw_signal_disconnect_by_name(HWND window, char *signame);
557
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1726 HEV API dw_named_event_new(char *name);
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1727 HEV API dw_named_event_get(char *name);
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1728 int API dw_named_event_reset(HEV eve);
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1729 int API dw_named_event_post(HEV eve);
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1730 int API dw_named_event_wait(HEV eve, unsigned long timeout);
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1731 int API dw_named_event_close(HEV eve);
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1732 HSHM API dw_named_memory_new(void **dest, int size, char *name);
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1733 HSHM API dw_named_memory_get(void **dest, int size, char *name);
1a210e2f214b Added a bunch of support routines I now own due to the settlement
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 535
diff changeset
1734 int API dw_named_memory_free(HSHM handle, void *ptr);
584
420c6c94abc7 Added dw_html_* functionality for embedding HTML pages in Dynamic Windows
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 571
diff changeset
1735 void API dw_html_action(HWND hwnd, int action);
420c6c94abc7 Added dw_html_* functionality for embedding HTML pages in Dynamic Windows
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 571
diff changeset
1736 int API dw_html_raw(HWND hwnd, char *string);
420c6c94abc7 Added dw_html_* functionality for embedding HTML pages in Dynamic Windows
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 571
diff changeset
1737 int API dw_html_url(HWND hwnd, char *url);
420c6c94abc7 Added dw_html_* functionality for embedding HTML pages in Dynamic Windows
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 571
diff changeset
1738 HWND API dw_html_new(unsigned long id);
613
f7d318cffc3e Fix compiler error
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 612
diff changeset
1739 char * API dw_clipboard_get_text(void);
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
1740 void API dw_clipboard_set_text( char *str, int len );
596
a8ea3d68b9ec Update version
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 584
diff changeset
1741 HWND API dw_calendar_new(unsigned long id);
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
1742 void API dw_calendar_set_date( HWND window, unsigned int year, unsigned int month, unsigned int day );
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
1743 void API dw_calendar_get_date( HWND window, unsigned int *year, unsigned int *month, unsigned int *day );
1152
58b5374355ab Added print jobname parameter to dw_print_new().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1148
diff changeset
1744 HPRINT API dw_print_new(char *jobname, unsigned long flags, unsigned int pages, void *drawfunc, void *drawdata);
1136
1a5b0908659b Initial implementation of the DynamicWindows Print object for GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1108
diff changeset
1745 int API dw_print_run(HPRINT print, unsigned long flags);
1a5b0908659b Initial implementation of the DynamicWindows Print object for GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1108
diff changeset
1746 void API dw_print_cancel(HPRINT print);
1783
9de6d1cc8fb8 Put test program code into DEPRECATED #ifdef again to avoid build warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1769
diff changeset
1747 wchar_t * API dw_utf8_to_wchar(char *utf8string);
9de6d1cc8fb8 Put test program code into DEPRECATED #ifdef again to avoid build warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1769
diff changeset
1748 char * API dw_wchar_to_utf8(wchar_t *wstring);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1749
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1750 #endif