annotate dw.h @ 1991:d83a86f5fe7f

OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used anywhere that includes dw.h or dwcompat.h allowing continued use of VAC. Fix an issue where PIPENAME was erroneously defined in the Windows section, breaking any non-windows systems using domain sockets, like OS/2 with VAC.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 16 Sep 2019 19:12:39 +0000
parents 22e3e829be13
children 77e43d71eaa7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1897
951356ced7d5 Changes preparing for 3.0 release.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1893
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 */
1897
951356ced7d5 Changes preparing for 3.0 release.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1893
diff changeset
7 #define DW_MAJOR_VERSION 3
951356ced7d5 Changes preparing for 3.0 release.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1893
diff changeset
8 #define DW_MINOR_VERSION 0
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
1933
758f49e54566 Enable dw_windows_get_text() to return value of label under GTK.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1924
diff changeset
147 #define DW_FCF_FULLSCREEN 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
148
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
149 #define DW_CFA_BITMAPORICON CFA_BITMAPORICON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
150 #define DW_CFA_STRING CFA_STRING
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
151 #define DW_CFA_ULONG CFA_ULONG
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
152 #define DW_CFA_TIME CFA_TIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
153 #define DW_CFA_DATE CFA_DATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
154 #define DW_CFA_CENTER CFA_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
155 #define DW_CFA_LEFT CFA_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
156 #define DW_CFA_RIGHT CFA_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
157 #define DW_CFA_HORZSEPARATOR CFA_HORZSEPARATOR
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
158 #define DW_CFA_SEPARATOR CFA_SEPARATOR
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
159 #define DW_CFA_STRINGANDICON 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
160
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
161 #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
162 #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
163
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
164 #define DW_CR_RETDATA (1 << 10)
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
165
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
166 #define DW_LS_MULTIPLESEL LS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
167
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
168 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
169
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
170 #define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
171
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
172 #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
173 #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
174 #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
175 #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
176
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
177 #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
178
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
179 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
180 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
181 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
182 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
183 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
184
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
185 #define DW_MB_WARNING MB_WARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
186 #define DW_MB_ERROR MB_ERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
187 #define DW_MB_INFORMATION MB_INFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
188 #define DW_MB_QUESTION MB_QUERY
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
189
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
190 /* 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
191 #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
192 #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
193 #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
194 #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
195 #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
196 #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
197 #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
198 #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
199 #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
200 #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
201 #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
202 #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
203 #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
204 #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
205 #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
206 #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
207 #define VK_MULTIPLY ('*' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
208 #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
209 #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
210 #define VK_SUBTRACT ('-' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
211 #define VK_DECIMAL ('.' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
212 #define VK_DIVIDE ('/' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
213 #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
214 #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
215 #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
216 #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
217 #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
218 #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
219 #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
220 #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
221 #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
222 #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
223 #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
224 #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
225 #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
226 #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
227 #define VK_NUMPAD9 ('9' + 128)
446
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
228 #define VK_BACK VK_BACKSPACE
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
229 #define VK_LMENU VK_MENU
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
230 #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
231
1392
943266c86aed Refactoring OS/2 and Windows code... eliminating BubbleButton...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1389
diff changeset
232 #define BUBBLE_HELP_MAX 256
943266c86aed Refactoring OS/2 and Windows code... eliminating BubbleButton...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1389
diff changeset
233
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
234 typedef struct _window_data {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
235 PFNWP oldproc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
236 UserData *root;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
237 HWND clickdefault;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
238 ULONG flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
239 void *data;
1392
943266c86aed Refactoring OS/2 and Windows code... eliminating BubbleButton...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1389
diff changeset
240 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
241 } WindowData;
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
242
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
243 typedef struct _hpixmap {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
244 unsigned long width, height;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
245 HDC hdc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
246 HPS hps;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
247 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
248 HWND handle, font;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
249 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
250 int depth;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
251 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
252
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
253 typedef void *HTREEITEM;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
254 typedef HWND HMENUI;
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
255 typedef HMODULE HMOD;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
256 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
257 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
258 typedef unsigned long HICN;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
259
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
260 extern HAB dwhab;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
261 extern HMQ dwhmq;
1991
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
262
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
263 #include <stdio.h>
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
264
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
265 /* Mostly safe but slow snprintf() for compilers that don't have it...
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
266 * like VisualAge. So we can write safe code and still use VAC to test.
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
267 */
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
268 #if defined(__IBMC__) && !defined(snprintf)
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
269 #include <stdarg.h>
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
270 #include <string.h>
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
271 #include <stdlib.h>
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
272 static int _dw_snprintf(char *str, size_t size, const char *format, ...)
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
273 {
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
274 va_list args;
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
275 char *outbuf = calloc(1, size + strlen(format) + 1024);
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
276 int retval = -1;
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
277
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
278 if(outbuf)
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
279 {
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
280 va_start(args, format);
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
281 vsprintf(outbuf, format, args);
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
282 va_end(args);
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
283 retval = strlen(outbuf);
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
284 strncpy(str, outbuf, size);
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
285 free(outbuf);
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
286 }
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
287 return retval;
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
288 }
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
289 #define snprintf _dw_snprintf
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
290 #endif
d83a86f5fe7f OS/2: Move internal snprintf() into dw.h and dwcompat.h so it can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1960
diff changeset
291
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
292 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
293
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
294 #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
295 /* MacOS specific section */
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
296 #include <pthread.h>
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
297 #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
298
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
299 /* 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
300 * 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
301 * 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
302 * 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
303 * using the symbolic names.
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
304 */
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
305
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
306 #define TRUE 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
307 #define FALSE 0
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
308
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
309 typedef void *HWND;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
310 typedef void *HSHM;
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
311 typedef unsigned long ULONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
312 typedef long LONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
313 typedef unsigned short USHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
314 typedef short SHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
315 typedef unsigned short UWORD;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
316 typedef short WORD ;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
317 typedef unsigned char UCHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
318 typedef char CHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
319 typedef unsigned UINT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
320 typedef int INT;
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
321 typedef pthread_mutex_t *HMTX;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
322 typedef struct _dw_unix_event {
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
323 pthread_mutex_t mutex;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
324 pthread_cond_t event;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
325 pthread_t thread;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
326 int alive;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
327 int posted;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
328 } *HEV;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
329 typedef pthread_t DWTID;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
330 typedef void * HMOD;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
331 struct _dw_unix_shm {
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
332 int fd;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
333 char *path;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
334 int sid;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
335 int size;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
336 };
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
337 typedef void *HTREEITEM;
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
338 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
339 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
340
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
341 typedef struct _window_data {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
342 UserData *root;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
343 HWND clickdefault;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
344 ULONG flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
345 void *data;
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
346 } WindowData;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
347
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
348 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
349 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
350 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
351 HWND handle;
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
352 } *HPIXMAP;
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
353
697
830e1f3672b9 Added draining mechanism for threads that don't have run loops.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 676
diff changeset
354 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
355
676
9861d264925d MLE was missing the scrollbar. Fixes for getting and setting the position.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 675
diff changeset
356 #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
357 #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
358 #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
359 #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
360 #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
361 #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
362 #define DW_DT_CENTER 2 /* NSCenterTextAlignment */
741
d2de18d4ea50 Fixed an error in the comments.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 731
diff changeset
363 #define DW_DT_RIGHT 1 /* NSRightTextAlignment */
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
364 #define DW_DT_TOP 0
859
80a88c91ccf6 Implemented vertical centering on text fields.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 839
diff changeset
365 #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
366 #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
367 #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
368 #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
369 #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
370 #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
371
1017
362e584fb3bd DW_FCF_CLOSEBUTTON should have the closable mask on Mac.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1015
diff changeset
372 #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
373 #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
374 #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
375 #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
376 #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
377 #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
378 #define DW_FCF_MAXBUTTON 0
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
379 #define DW_FCF_MINMAX (1 << 2) /* NSMiniaturizableWindowMask */
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
380 #define DW_FCF_DLGBORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
381 #define DW_FCF_BORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
382 #define DW_FCF_TASKLIST 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
383 #define DW_FCF_NOMOVEWITHOWNER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
384 #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
385 #define DW_FCF_HIDEBUTTON 0
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
386 #define DW_FCF_HIDEMAX 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
387 #define DW_FCF_AUTOICON 0
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
388 #define DW_FCF_MAXIMIZE 0
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
389 #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
390 #define DW_FCF_TEXTURED (1 << 8) /* NSTexturedBackgroundWindowMask */
1933
758f49e54566 Enable dw_windows_get_text() to return value of label under GTK.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1924
diff changeset
391 #define DW_FCF_FULLSCREEN (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
392
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
393 #define DW_CFA_BITMAPORICON 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
394 #define DW_CFA_STRING (1 << 1)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
395 #define DW_CFA_ULONG (1 << 2)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
396 #define DW_CFA_TIME (1 << 3)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
397 #define DW_CFA_DATE (1 << 4)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
398 #define DW_CFA_CENTER (1 << 5)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
399 #define DW_CFA_LEFT (1 << 6)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
400 #define DW_CFA_RIGHT (1 << 7)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
401 #define DW_CFA_STRINGANDICON (1 << 8)
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
402 #define DW_CFA_HORZSEPARATOR 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
403 #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
404
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
405 #define DW_CRA_SELECTED 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
406 #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
407
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
408 #define DW_CR_RETDATA (1 << 10)
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
409
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
410 #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
411
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
412 #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
413
889
238ca78e71a7 Set DW_MLE_CASESENSITIVE to be the NSLiteralSearch value.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 859
diff changeset
414 #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
415
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
416 #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
417
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
418 #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
419 #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
420 #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
421 #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
422
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
423 #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
424
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
425 /* 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
426 #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
427 #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
428 #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
429 #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
430
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
431 #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
432 #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
433 #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
434 #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
435
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
436 /* 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
437 #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
438 #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
439 #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
440 #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
441 #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
442 #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
443 #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
444 #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
445 #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
446 #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
447 #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
448 #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
449 #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
450 #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
451 #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
452 #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
453 #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
454 #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
455 #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
456 #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
457 #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
458 #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
459 #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
460 #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
461 #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
462 #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
463 #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
464 #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
465 #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
466 #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
467 #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
468 #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
469 #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
470 #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
471 #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
472 #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
473 #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
474 #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
475 #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
476 #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
477 #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
478 #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
479 #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
480 #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
481 #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
482 #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
483 #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
484 #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
485 #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
486 #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
487 #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
488 #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
489 #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
490 #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
491 #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
492 #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
493 #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
494 #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
495 #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
496 #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
497 #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
498 #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
499 #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
500 #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
501 #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
502 #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
503 #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
504 #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
505 #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
506 #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
507 #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
508 #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
509 #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
510 #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
511 #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
512 #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
513 #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
514 #define VK_RMENU 0xF735 /* NSMenuFunctionKey */
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
515
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
516 /* 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
517 #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
518 #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
519 #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
520 #endif
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
521
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
522 /* Windows specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
523 #if defined(__WIN32__) || defined(WINNT)
1960
22e3e829be13 Win: Switch to using winsock 2.x, this will remove support for ancient versions of Windows like 95 and NT 3.5 and older...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1933
diff changeset
524 #include <winsock2.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
525 #include <windows.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
526 #include <commctrl.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
527
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
528 #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
529 # 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
530 # define API _cdecl __declspec(dllexport)
571
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
531 # else
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
532 # define API _cdecl
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
533 #endif
1858
952a41463240 Make sure callbacks have their calling convention specified explicitly on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1853
diff changeset
534 #define DWSIGNAL _cdecl
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
535 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
536
1788
9d499b162fe1 Discovered a breakage in OS/2 functionality when building
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1783
diff changeset
537 #define DW_DT_LEFT SS_LEFTNOWORDWRAP
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
538 #define DW_DT_QUERYEXTENT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
539 #define DW_DT_UNDERSCORE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
540 #define DW_DT_STRIKEOUT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
541 #define DW_DT_TEXTATTRS 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
542 #define DW_DT_EXTERNALLEADING 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
543 #define DW_DT_CENTER SS_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
544 #define DW_DT_RIGHT SS_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
545 #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
546 #define DW_DT_VCENTER (1 << 29)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
547 #define DW_DT_BOTTOM 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
548 #define DW_DT_HALFTONE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
549 #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
550 #define DW_DT_WORDBREAK (1 << 28)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
551 #define DW_DT_ERASERECT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
552
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
553 #define DW_FCF_CLOSEBUTTON 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
554 #define DW_FCF_TITLEBAR WS_CAPTION
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
555 #define DW_FCF_SYSMENU WS_SYSMENU
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
556 #define DW_FCF_MENU 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
557 #define DW_FCF_SIZEBORDER WS_THICKFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
558 #define DW_FCF_MINBUTTON WS_MINIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
559 #define DW_FCF_MAXBUTTON WS_MAXIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
560 #define DW_FCF_MINMAX (WS_MINIMIZEBOX|WS_MAXIMIZEBOX)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
561 #define DW_FCF_DLGBORDER WS_DLGFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
562 #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
563 #define DW_FCF_TASKLIST (1 << 1)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
564 #define DW_FCF_NOMOVEWITHOWNER 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
565 #define DW_FCF_SYSMODAL 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
566 #define DW_FCF_HIDEBUTTON WS_MINIMIZEBOX
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
567 #define DW_FCF_HIDEMAX (WS_MINIMIZEBOX|WS_MAXIMIZEBOX)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
568 #define DW_FCF_AUTOICON 0
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
569 #define DW_FCF_MAXIMIZE WS_MAXIMIZE
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
570 #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
571 #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
572 #define DW_FCF_TEXTURED 0
1933
758f49e54566 Enable dw_windows_get_text() to return value of label under GTK.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1924
diff changeset
573 #define DW_FCF_FULLSCREEN (1 << 2)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
574
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
575 #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
576 #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
577 #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
578 #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
579 #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
580 #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
581 #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
582 #define DW_CFA_RIGHT (1 << 7)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
583 #define DW_CFA_STRINGANDICON (1 << 8)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
584 #define DW_CFA_HORZSEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
585 #define DW_CFA_SEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
586
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
587 #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
588 #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
589
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
590 #define DW_CR_RETDATA (1 << 10)
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
591
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
592 #define DW_LS_MULTIPLESEL LBS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
593
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
594 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
595
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
596 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
597
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
598 #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
599
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
600 #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
601 #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
602 #define DW_POINTER_CLOCK 32514
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
603 #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
604
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
605 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
606 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
607 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
608 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
609 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
610
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
611 #define DW_MB_WARNING MB_ICONWARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
612 #define DW_MB_ERROR MB_ICONERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
613 #define DW_MB_INFORMATION MB_ICONINFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
614 #define DW_MB_QUESTION MB_ICONQUESTION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
615
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
616 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
617 #define KC_CTRL (1)
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
618 #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
619 #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
620
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
621 typedef struct _color {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
622 int fore;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
623 int back;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
624 HWND combo, buddy;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
625 int user;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
626 int vcenter;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
627 HWND clickdefault;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
628 HBRUSH hbrush;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
629 HFONT hfont;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
630 char fontname[128];
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
631 WNDPROC pOldProc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
632 UserData *root;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
633 } ColorInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
634
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
635 typedef struct _notebookpage {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
636 ColorInfo cinfo;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
637 TC_ITEM item;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
638 HWND hwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
639 int realid;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
640 } NotebookPage;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
641
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
642 typedef HANDLE HMTX;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
643 typedef HANDLE HEV;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
644 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
645 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
646 typedef HANDLE HICN;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
647
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
648 typedef struct _container {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
649 ColorInfo cinfo;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
650 ULONG *flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
651 ULONG columns;
1212
5271d5cb27ac Implemented dw_container_set_row_bg() on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1206
diff changeset
652 COLORREF odd, even;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
653 } ContainerInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
654
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
655 typedef struct _hpixmap {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
656 unsigned long width, height;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
657 HBITMAP hbm;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
658 HDC hdc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
659 unsigned long transcolor;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
660 HWND handle;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
661 void *bits;
960
841b66d2d1b9 Added initial support for transparent pixmap/bitmaps on Windows...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 889
diff changeset
662 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
663 HFONT font;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
664 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
665
238
13d3de3f1e83 Rewrote the menu code to not return structs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 236
diff changeset
666 typedef HWND HMENUI;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
667 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
668
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
669 typedef struct _item {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
670 /* Item type - Box or Item */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
671 int type;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
672 /* Handle to Frame or Window */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
673 HWND hwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
674 /* Width and Height of static size */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
675 int width, height, origwidth, origheight;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
676 /* Size Type - Static or Expand */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
677 int hsize, vsize;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
678 /* Padding */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
679 int pad;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
680 } Item;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
681
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
682 typedef struct _box {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
683 #if defined(__WIN32__) || defined(WINNT)
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
684 ColorInfo cinfo;
1933
758f49e54566 Enable dw_windows_get_text() to return value of label under GTK.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1924
diff changeset
685 int fullscreen;
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 22
diff changeset
686 #elif defined(__OS2__) || defined(__EMX__)
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
687 PFNWP oldproc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
688 UserData *root;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
689 HWND hwndtitle, hwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
690 int titlebar;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
691 #endif
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
692 /* Number of items in the box */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
693 int count;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
694 /* Box type - horizontal or vertical */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
695 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
696 /* 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
697 int hsize, vsize;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
698 /* 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
699 int pad, grouppadx, grouppady;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
700 /* Groupbox */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
701 HWND grouphwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
702 /* Default item */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
703 HWND defaultitem;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
704 /* 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
705 int usedpadx, usedpady, minheight, minwidth;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
706 /* Used for calculating individual item ratios */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
707 int width, height;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
708 /* Any combinations of flags describing the box */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
709 unsigned long flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
710 /* Array of item structures */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
711 struct _item *items;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
712 } Box;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
713
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
714 #elif defined(__PHOTON__)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
715 #include <stdio.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
716 #include <stdlib.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
717 #include <unistd.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
718 #include <sys/utsname.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
719 /* Photon specific section */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
720 #include <Pt.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
721 #include <Ph.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
722 /* which image formats supported */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
723 #define PX_IMAGE_MODULES
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
724 #define PX_GIF_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
725 #define PX_JPG_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
726 #define PX_BMP_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
727 #define PX_PND_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
728 #include <photon/PxImage.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
729
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
730 #define TRUE 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
731 #define FALSE 0
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 typedef PtWidget_t *pPtWidget_t;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
734 typedef pPtWidget_t HWND;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
735
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
736 typedef unsigned long ULONG;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
737 typedef long LONG;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
738 typedef unsigned short USHORT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
739 typedef short SHORT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
740 typedef unsigned short UWORD;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
741 typedef short WORD ;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
742 typedef unsigned char UCHAR;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
743 typedef char CHAR;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
744 typedef unsigned UINT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
745 typedef int INT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
746 typedef void *HMTX;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
747 typedef void *HEV;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
748 typedef void *HSHM;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
749 typedef void *HMOD;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
750 typedef PtTreeItem_t *HTREEITEM;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
751 typedef HWND HMENUI;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
752 typedef int DWTID;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
753 typedef unsigned long HICN;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
754
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
755 typedef struct _user_data
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
756 {
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
757 struct _user_data *next;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
758 void *data;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
759 char *varname;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
760 } UserData;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
761
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
762 typedef struct _window_data {
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
763 UserData *root;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
764 HWND clickdefault;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
765 ULONG flags;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
766 void *data;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
767 } WindowData;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
768
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
769 typedef struct _hpixmap {
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
770 unsigned long width, height;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
771 /* ?? *pixmap; */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
772 HWND handle;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
773 } *HPIXMAP;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
774
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
775 /* colors matching Photon Graphics colors */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
776 #define DW_CLR_BLACK Pg_BLACK
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
777 #define DW_CLR_DARKRED Pg_DRED
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
778 #define DW_CLR_DARKGREEN Pg_DGREEN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
779 #define DW_CLR_BROWN Pg_BROWN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
780 #define DW_CLR_DARKBLUE Pg_DBLUE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
781 #define DW_CLR_DARKPINK Pg_PURPLE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
782 #define DW_CLR_DARKCYAN Pg_DCYAN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
783 #define DW_CLR_PALEGRAY Pg_GRAY
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
784 #define DW_CLR_DARKGRAY Pg_MGRAY
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
785 #define DW_CLR_RED Pg_RED
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
786 #define DW_CLR_GREEN Pg_GREEN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
787 #define DW_CLR_YELLOW Pg_YELLOW
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
788 #define DW_CLR_BLUE Pg_BLUE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
789 #define DW_CLR_PINK Pg_MAGENTA
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
790 #define DW_CLR_CYAN Pg_CYAN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
791 #define DW_CLR_WHITE Pg_WHITE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
792 #define DW_CLR_DEFAULT Pg_GRAY
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
793 /* color manipulation macros */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
794 #define DW_RGB_COLOR (0xF0000000)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
795 #define DW_RGB_TRANSPARENT (0x0F000000)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
796 #define DW_RGB_MASK (0x00FFFFFF)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
797 #define DW_RED_MASK (0x00FF0000)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
798 #define DW_GREEN_MASK (0x0000FF00)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
799 #define DW_BLUE_MASK (0x000000FF)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
800 #define DW_RED_VALUE(a) PgRedValue(a)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
801 #define DW_GREEN_VALUE(a) PgGreenValue(a)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
802 #define DW_BLUE_VALUE(a) PgBluValue(a)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
803 #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
804
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
805 #define DW_DT_LEFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
806 #define DW_DT_QUERYEXTENT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
807 #define DW_DT_UNDERSCORE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
808 #define DW_DT_STRIKEOUT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
809 #define DW_DT_TEXTATTRS 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
810 #define DW_DT_EXTERNALLEADING 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
811 #define DW_DT_CENTER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
812 #define DW_DT_RIGHT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
813 #define DW_DT_TOP 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
814 #define DW_DT_VCENTER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
815 #define DW_DT_BOTTOM 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
816 #define DW_DT_HALFTONE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
817 #define DW_DT_MNEMONIC 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
818 #define DW_DT_WORDBREAK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
819 #define DW_DT_ERASERECT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
820
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
821 #define DW_FCF_CLOSEBUTTON Ph_WM_RENDER_CLOSE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
822 #define DW_FCF_TITLEBAR Ph_WM_RENDER_TITLE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
823 #define DW_FCF_SYSMENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
824 #define DW_FCF_MENU Ph_WM_RENDER_MENU
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
825 #define DW_FCF_SIZEBORDER Ph_WM_RENDER_RESIZE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
826 #define DW_FCF_MINBUTTON Ph_WM_RENDER_MIN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
827 #define DW_FCF_MAXBUTTON Ph_WM_RENDER_MAX
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
828 #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
829 #define DW_FCF_DLGBORDER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
830 #define DW_FCF_BORDER Ph_WM_RENDER_BORDER
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
831 #define DW_FCF_TASKLIST 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
832 #define DW_FCF_NOMOVEWITHOWNER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
833 #define DW_FCF_SYSMODAL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
834 #define DW_FCF_HIDEBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
835 #define DW_FCF_HIDEMAX 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
836 #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
837 #define DW_FCF_MAXIMIZE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
838 #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
839 #define DW_FCF_TEXTURED 0
1933
758f49e54566 Enable dw_windows_get_text() to return value of label under GTK.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1924
diff changeset
840 #define DW_FCF_FULLSCREEN 0
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
841
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
842 #define DW_CFA_BITMAPORICON 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
843 #define DW_CFA_STRING (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
844 #define DW_CFA_ULONG (1 << 2)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
845 #define DW_CFA_TIME (1 << 3)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
846 #define DW_CFA_DATE (1 << 4)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
847 #define DW_CFA_CENTER (1 << 5)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
848 #define DW_CFA_LEFT (1 << 6)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
849 #define DW_CFA_RIGHT (1 << 7)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
850 #define DW_CFA_STRINGANDICON (1 << 8)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
851 #define DW_CFA_HORZSEPARATOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
852 #define DW_CFA_SEPARATOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
853
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
854 #define DW_CRA_SELECTED 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
855 #define DW_CRA_CURSORED (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
856
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
857 #define DW_CR_RETDATA (1 << 10)
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
858
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
859 #define DW_LS_MULTIPLESEL 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
860
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
861 #define DW_LIT_NONE -1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
862
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
863 #ifdef MLFSEARCH_CASESENSITIVE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
864 # define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
865 #else
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
866 # define DW_MLE_CASESENSITIVE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
867 #endif
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
868
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
869 #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
870
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
871 #define DW_POINTER_DEFAULT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
872 #define DW_POINTER_ARROW 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
873 #define DW_POINTER_CLOCK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
874 #define DW_POINTER_QUESTION 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
875
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
876 #define HWND_DESKTOP ((HWND)0)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
877
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
878 /* flag values for dw_messagebox() */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
879 #define DW_MB_OK (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
880 #define DW_MB_OKCANCEL (1 << 2)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
881 #define DW_MB_YESNO (1 << 3)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
882 #define DW_MB_YESNOCANCEL (1 << 4)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
883
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
884 #define DW_MB_WARNING (1 << 10)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
885 #define DW_MB_ERROR (1 << 11)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
886 #define DW_MB_INFORMATION (1 << 12)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
887 #define DW_MB_QUESTION (1 << 13)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
888
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
889 /* Virtual Key Codes */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
890 #define VK_LBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
891 #define VK_RBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
892 #define VK_CANCEL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
893 #define VK_MBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
894 #define VK_BACK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
895 #define VK_TAB 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
896 #define VK_CLEAR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
897 #define VK_RETURN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
898 #define VK_MENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
899 #define VK_PAUSE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
900 #define VK_CAPITAL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
901 #define VK_ESCAPE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
902 #define VK_SPACE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
903 #define VK_PRIOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
904 #define VK_NEXT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
905 #define VK_END 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
906 #define VK_HOME 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
907 #define VK_LEFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
908 #define VK_UP 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
909 #define VK_RIGHT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
910 #define VK_DOWN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
911 #define VK_SELECT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
912 #define VK_PRINT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
913 #define VK_EXECUTE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
914 #define VK_SNAPSHOT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
915 #define VK_INSERT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
916 #define VK_DELETE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
917 #define VK_HELP 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
918 #define VK_LWIN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
919 #define VK_RWIN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
920 #define VK_NUMPAD0 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
921 #define VK_NUMPAD1 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
922 #define VK_NUMPAD2 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
923 #define VK_NUMPAD3 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
924 #define VK_NUMPAD4 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
925 #define VK_NUMPAD5 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
926 #define VK_NUMPAD6 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
927 #define VK_NUMPAD7 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
928 #define VK_NUMPAD8 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
929 #define VK_NUMPAD9 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
930 #define VK_MULTIPLY 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
931 #define VK_ADD 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
932 #define VK_SEPARATOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
933 #define VK_SUBTRACT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
934 #define VK_DECIMAL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
935 #define VK_DIVIDE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
936 #define VK_F1 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
937 #define VK_F2 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
938 #define VK_F3 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
939 #define VK_F4 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
940 #define VK_F5 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
941 #define VK_F6 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
942 #define VK_F7 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
943 #define VK_F8 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
944 #define VK_F9 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
945 #define VK_F10 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
946 #define VK_F11 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
947 #define VK_F12 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
948 #define VK_F13 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
949 #define VK_F14 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
950 #define VK_F15 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
951 #define VK_F16 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
952 #define VK_F17 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
953 #define VK_F18 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
954 #define VK_F19 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
955 #define VK_F20 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
956 #define VK_F21 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
957 #define VK_F22 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
958 #define VK_F23 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
959 #define VK_F24 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
960 #define VK_NUMLOCK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
961 #define VK_SCROLL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
962 #define VK_LSHIFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
963 #define VK_RSHIFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
964 #define VK_LCONTROL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
965 #define VK_RCONTROL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
966 #define VK_LMENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
967 #define VK_RMENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
968
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
969 /* Key Modifiers */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
970 #define KC_CTRL (1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
971 #define KC_SHIFT (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
972 #define KC_ALT (1 << 2)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
973
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
974 #else
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
975 /* GTK Specific section */
1893
c6b47f3db988 Oops missed change to dw.h adding _GNU_SOURCE define to the header.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1887
diff changeset
976 #define _GNU_SOURCE
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
977 #include <gtk/gtk.h>
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
978 #ifdef GDK_WINDOWING_X11
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
979 # include <gdk/gdkx.h>
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
980 #else
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
981 # include <gdk/gdk.h>
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
982 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
983 #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
984 #include <gdk/gdkkeysyms.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
985 #include <pthread.h>
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
986 #if !defined(GDK_WINDOWING_WIN32)
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
987 # include <dlfcn.h>
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
988 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
989
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
990 #define DW_DT_LEFT 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
991 #define DW_DT_UNDERSCORE (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
992 #define DW_DT_STRIKEOUT (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
993 #define DW_DT_CENTER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
994 #define DW_DT_RIGHT (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
995 #define DW_DT_TOP (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
996 #define DW_DT_VCENTER (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
997 #define DW_DT_BOTTOM (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
998 #define DW_DT_HALFTONE (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
999 #define DW_DT_MNEMONIC (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1000 #define DW_DT_WORDBREAK (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1001 #define DW_DT_ERASERECT (1 << 11)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1002
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
1003 /* 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
1004 #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
1005 #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
1006 #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
1007
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1008 #define DW_FCF_TITLEBAR 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1009 #define DW_FCF_SYSMENU (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1010 #define DW_FCF_MENU (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1011 #define DW_FCF_SIZEBORDER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1012 #define DW_FCF_MINBUTTON (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1013 #define DW_FCF_MAXBUTTON (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1014 #define DW_FCF_MINMAX (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1015 #define DW_FCF_DLGBORDER (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1016 #define DW_FCF_BORDER (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1017 #define DW_FCF_TASKLIST (1 << 12)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1018 #define DW_FCF_NOMOVEWITHOWNER (1 << 14)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1019 #define DW_FCF_SYSMODAL (1 << 15)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1020 #define DW_FCF_HIDEBUTTON (1 << 16)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1021 #define DW_FCF_HIDEMAX (1 << 17)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1022 #define DW_FCF_AUTOICON (1 << 18)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
1023 #define DW_FCF_MAXIMIZE (1 << 19)
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
1024 #define DW_FCF_MINIMIZE (1 << 20)
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1025 #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
1026 #define DW_FCF_TEXTURED 0
1933
758f49e54566 Enable dw_windows_get_text() to return value of label under GTK.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1924
diff changeset
1027 #define DW_FCF_FULLSCREEN (1 << 22)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1028
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1029 #define DW_CFA_BITMAPORICON 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1030 #define DW_CFA_STRING (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1031 #define DW_CFA_ULONG (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1032 #define DW_CFA_TIME (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1033 #define DW_CFA_DATE (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1034 #define DW_CFA_CENTER (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1035 #define DW_CFA_LEFT (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1036 #define DW_CFA_RIGHT (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1037 #define DW_CFA_HORZSEPARATOR (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1038 #define DW_CFA_SEPARATOR (1 << 9)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
1039 #define DW_CFA_STRINGANDICON (1 << 10)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1040
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
1041 #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
1042 #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
1043
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
1044 #define DW_CR_RETDATA (1 << 10)
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
1045
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1046 #define DW_LS_MULTIPLESEL 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1047
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1048 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1049
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1050 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1051
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
1052 #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
1053
532
1e60e98a9168 Forgot DW_POINTER_DEFAULT on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 531
diff changeset
1054 #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
1055 #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
1056 #define DW_POINTER_CLOCK GDK_WATCH
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1057 #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
1058
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1059 #define HWND_DESKTOP ((HWND)0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1060
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1061 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1062 #define DW_MB_OK (1 << 1)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1063 #define DW_MB_OKCANCEL (1 << 2)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1064 #define DW_MB_YESNO (1 << 3)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1065 #define DW_MB_YESNOCANCEL (1 << 4)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1066
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1067 #define DW_MB_WARNING (1 << 10)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1068 #define DW_MB_ERROR (1 << 11)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1069 #define DW_MB_INFORMATION (1 << 12)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1070 #define DW_MB_QUESTION (1 << 13)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1071
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1072 /* 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
1073 #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
1074 #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
1075 #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
1076 #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
1077 #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
1078 #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
1079 #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
1080 #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
1081 #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
1082 #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
1083 #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
1084 #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
1085 #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
1086 #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
1087 #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
1088 #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
1089 #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
1090 #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
1091 #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
1092 #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
1093 #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
1094 #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
1095 #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
1096 #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
1097 #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
1098 #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
1099 #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
1100 #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
1101 #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
1102 #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
1103 #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
1104 #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
1105 #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
1106 #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
1107 #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
1108 #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
1109 #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
1110 #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
1111 #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
1112 #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
1113 #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
1114 #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
1115 #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
1116 #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
1117 #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
1118 #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
1119 #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
1120 #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
1121 #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
1122 #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
1123 #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
1124 #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
1125 #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
1126 #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
1127 #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
1128 #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
1129 #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
1130 #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
1131 #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
1132 #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
1133 #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
1134 #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
1135 #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
1136 #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
1137 #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
1138 #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
1139 #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
1140 #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
1141 #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
1142 #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
1143 #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
1144 #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
1145 #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
1146 #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
1147 #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
1148 #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
1149 #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
1150 #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
1151 #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
1152
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
1153 #else
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1154 #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
1155 #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
1156 #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
1157 #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
1158 #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
1159 #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
1160 #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
1161 #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
1162 #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
1163 #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
1164 #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
1165 #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
1166 #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
1167 #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
1168 #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
1169 #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
1170 #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
1171 #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
1172 #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
1173 #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
1174 #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
1175 #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
1176 #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
1177 #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
1178 #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
1179 #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
1180 #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
1181 #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
1182 #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
1183 #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
1184 #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
1185 #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
1186 #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
1187 #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
1188 #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
1189 #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
1190 #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
1191 #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
1192 #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
1193 #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
1194 #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
1195 #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
1196 #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
1197 #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
1198 #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
1199 #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
1200 #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
1201 #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
1202 #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
1203 #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
1204 #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
1205 #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
1206 #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
1207 #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
1208 #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
1209 #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
1210 #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
1211 #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
1212 #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
1213 #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
1214 #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
1215 #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
1216 #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
1217 #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
1218 #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
1219 #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
1220 #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
1221 #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
1222 #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
1223 #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
1224 #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
1225 #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
1226 #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
1227 #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
1228 #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
1229 #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
1230 #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
1231 #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
1232 #endif
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1233
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1234 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1235 #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
1236 #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
1237 #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
1238
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1239 typedef GtkWidget *HWND;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
1240 #ifndef _ENVRNMNT_H
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1241 typedef unsigned long ULONG;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
1242 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1243 typedef long LONG;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1244 typedef unsigned short USHORT;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1245 typedef short SHORT;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1246 typedef unsigned short UWORD;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1247 typedef short WORD ;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1248 typedef unsigned char UCHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1249 typedef char CHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1250 typedef unsigned UINT;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1251 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
1252 typedef pthread_mutex_t *HMTX;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1253 typedef struct _dw_unix_event {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1254 pthread_mutex_t mutex;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1255 pthread_cond_t event;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1256 pthread_t thread;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1257 int alive;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1258 int posted;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1259 } *HEV;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1260 typedef pthread_t DWTID;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
1261 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
1262 struct _dw_unix_shm {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1263 int fd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1264 char *path;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1265 int sid;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1266 int size;
558
05060ce4d6ae Fixes for the new shared memory and named event code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 557
diff changeset
1267 };
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1268
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1269 typedef struct _hpixmap {
633
87db549e79bc Add dw_polygon_draw() to draw closed polygons.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 624
diff changeset
1270 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
1271 HWND handle;
1148
439f276042cc Implemented dw_pixmap_set_font() on GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1146
diff changeset
1272 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
1273 #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
1274 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
1275 #endif
776
425f3d46b75f Accidentally clobbered something in dw.h required for GTK 2.x.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 775
diff changeset
1276 #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
1277 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
1278 #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
1279 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
1280 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
1281 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
1282 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1283 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1284
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
1285 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
1286 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
1287 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
1288 typedef void *HICN;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
1289
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1290 typedef struct _resource_struct {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1291 long resource_max, *resource_id;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1292 char **resource_data;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1293 } DWResources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1294
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1295 #if !defined(DW_RESOURCES) || defined(BUILD_DLL)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1296 static DWResources _resources = { 0, 0, 0 };
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1297 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1298 extern DWResources _resources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1299 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1300
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1301 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1302
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1303 #if !defined(__OS2__) && !defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1304 typedef struct _CDATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1305 {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1306 UCHAR day;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1307 UCHAR month;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1308 USHORT year;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1309 } CDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1310 typedef CDATE *PCDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1311
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1312 typedef struct _CTIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1313 {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1314 UCHAR hours;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1315 UCHAR minutes;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1316 UCHAR seconds;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1317 UCHAR ucReserved;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1318 } CTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1319 typedef CTIME *PCTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1320 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1321
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1322 #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
1323 typedef unsigned long DWTID;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1324 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1325
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1326 typedef struct _dwenv {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1327 /* Operating System Name and DW Build Date/Time */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1328 char osName[30], buildDate[30], buildTime[30];
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1329 /* Versions and builds */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1330 short MajorVersion, MinorVersion, MajorBuild, MinorBuild;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1331 /* Dynamic Window version */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1332 short DWMajorVersion, DWMinorVersion, DWSubVersion;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1333 } DWEnv;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1334
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1335
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1336 typedef struct _dwexpose {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1337 int x, y;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1338 int width, height;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1339 } DWExpose;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1340
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1341 typedef struct _dwdialog {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1342 HEV eve;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1343 int done;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1344 int method;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1345 void *data, *result;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1346 } DWDialog;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1347
1136
1a5b0908659b Initial implementation of the DynamicWindows Print object for GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1108
diff changeset
1348 typedef void *HPRINT;
1a5b0908659b Initial implementation of the DynamicWindows Print object for GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1108
diff changeset
1349
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1350 #define DW_SIGNAL_FUNC(a) ((void *)a)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1351
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
1352 #define DW_DESKTOP HWND_DESKTOP
7
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
1353 #define DW_MINIMIZED 1
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
1354
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1355 #define DW_BUTTON1_MASK 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1356 #define DW_BUTTON2_MASK (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1357 #define DW_BUTTON3_MASK (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1358
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1359 #define DW_EXEC_CON 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1360 #define DW_EXEC_GUI 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1361
449
787cc1e27897 Add support for directory browsing under Win32. DW_DIRECTORY_OPEN can be
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 446
diff changeset
1362 #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
1363 #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
1364 #define DW_DIRECTORY_OPEN 2
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1365
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
1366 #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
1367 #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
1368
1157
79bd0aff0bc2 Added DW_TIMEOUT_INFINITE constant to the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1152
diff changeset
1369 #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
1370
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
1371 /* 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
1372 #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
1373 #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
1374 #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
1375 #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
1376 #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
1377 #define DW_FCF_HORZSCROLL 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1378
1483
73f2ad84d4ec Fixed OS/2 windows being shown when setting position/size.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1468
diff changeset
1379 /* 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
1380 #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
1381 #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
1382 #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
1383 #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
1384
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1385 /* return values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1386 #define DW_MB_RETURN_OK 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1387 #define DW_MB_RETURN_YES 1
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1388 #define DW_MB_RETURN_NO 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1389 #define DW_MB_RETURN_CANCEL 2
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1390
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1391 #define DW_PIXMAP_WIDTH(x) (x ? x->width : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1392 #define DW_PIXMAP_HEIGHT(x) (x ? x->height : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1393
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1394 #if !defined(__PHOTON__)
62
2be5174bdb5d Sync with latest DW code. Tab and RGB fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 61
diff changeset
1395 #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
1396 #define DW_RGB_TRANSPARENT (0x0F000000)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1397 #define DW_RGB_MASK (0x00FFFFFF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1398 #define DW_RED_MASK (0x000000FF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1399 #define DW_GREEN_MASK (0x0000FF00)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1400 #define DW_BLUE_MASK (0x00FF0000)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1401 #define DW_RED_VALUE(a) (a & DW_RED_MASK)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1402 #define DW_GREEN_VALUE(a) ((a & DW_GREEN_MASK) >> 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1403 #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
1404 #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
1405 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1406
1863
0656c716dc9f Added a few convenience paramater macros to match some code I added in godwindows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1861
diff changeset
1407 /* Menu convenience paramaters */
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
1408 #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
1409 #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
1410 #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
1411 #define DW_MENU_POPUP (unsigned long)-1
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
1412
1863
0656c716dc9f Added a few convenience paramater macros to match some code I added in godwindows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1861
diff changeset
1413 /* Convenience parameters for various types */
0656c716dc9f Added a few convenience paramater macros to match some code I added in godwindows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1861
diff changeset
1414 #define DW_NOHWND 0
0656c716dc9f Added a few convenience paramater macros to match some code I added in godwindows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1861
diff changeset
1415 #define DW_NOHTIMER 0
0656c716dc9f Added a few convenience paramater macros to match some code I added in godwindows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1861
diff changeset
1416 #define DW_NOHPRINT 0
0656c716dc9f Added a few convenience paramater macros to match some code I added in godwindows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1861
diff changeset
1417 #define DW_NOHPIXMAP 0
0656c716dc9f Added a few convenience paramater macros to match some code I added in godwindows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1861
diff changeset
1418 #define DW_NOHICN 0
0656c716dc9f Added a few convenience paramater macros to match some code I added in godwindows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1861
diff changeset
1419
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
1420 #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
1421
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
1422 /* 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
1423 #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
1424 #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
1425 #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
1426 #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
1427 #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
1428 #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
1429 #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
1430
584
420c6c94abc7 Added dw_html_* functionality for embedding HTML pages in Dynamic Windows
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 571
diff changeset
1431 /* Embedded HTML actions */
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1432 #define DW_HTML_GOBACK 0
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1433 #define DW_HTML_GOFORWARD 1
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1434 #define DW_HTML_GOHOME 2
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1435 #define DW_HTML_SEARCH 3
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1436 #define DW_HTML_RELOAD 4
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1437 #define DW_HTML_STOP 5
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1438 #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
1439
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
1440 /* 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
1441 #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
1442 #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
1443 #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
1444 #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
1445
1924
c47a04d83b90 Added dw_mle_set_auto_complete() to enable MLE auto completion on supported platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1897
diff changeset
1446 /* MLE Completion flags */
c47a04d83b90 Added dw_mle_set_auto_complete() to enable MLE auto completion on supported platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1897
diff changeset
1447 #define DW_MLE_COMPLETE_TEXT 1
c47a04d83b90 Added dw_mle_set_auto_complete() to enable MLE auto completion on supported platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1897
diff changeset
1448 #define DW_MLE_COMPLETE_DASH (1 << 1)
c47a04d83b90 Added dw_mle_set_auto_complete() to enable MLE auto completion on supported platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1897
diff changeset
1449 #define DW_MLE_COMPLETE_QUOTE (1 << 2)
c47a04d83b90 Added dw_mle_set_auto_complete() to enable MLE auto completion on supported platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1897
diff changeset
1450
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
1451 /* 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
1452 #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
1453
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
1454 #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
1455 /* 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
1456 #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
1457 #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
1458 /* 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
1459 * 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
1460 */
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1461 #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
1462 #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
1463 #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
1464 #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
1465 #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
1466 /* 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
1467 #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
1468 #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
1469 #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
1470 #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
1471 #else
1839
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1472 /* 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
1473 #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
1474 #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
1475 #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
1476 #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
1477 #endif
1658
6fe1e91da477 Added DW_POINTER() macro for casting parameters to (void *)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1616
diff changeset
1478 #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
1479
1535
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1480 #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
1481 #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
1482 #endif
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1483
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1484 #ifndef API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1485 #define API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1486 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1487
1858
952a41463240 Make sure callbacks have their calling convention specified explicitly on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1853
diff changeset
1488 #ifndef DWSIGNAL
175
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
1489 #define DWSIGNAL API
1858
952a41463240 Make sure callbacks have their calling convention specified explicitly on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1853
diff changeset
1490 #endif
175
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
1491
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
1492 /* 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
1493 #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
1494 #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
1495 #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
1496 #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
1497
1783
9de6d1cc8fb8 Put test program code into DEPRECATED #ifdef again to avoid build warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1769
diff changeset
1498 #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
1499
492
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1500 /* 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
1501 * 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
1502 */
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1503 #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
1504 #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
1505 #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
1506 #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
1507 #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
1508 #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
1509 #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
1510 #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
1511 #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
1512 #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
1513
1598
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1514 /* 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
1515 #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
1516 #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
1517 #endif
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1518
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1519 /* 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
1520 #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
1521 # 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
1522 # 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
1523 # 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
1524 /* 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
1525 #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
1526 # 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
1527 # 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
1528 # 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
1529 # 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
1530 # 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
1531 /* 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
1532 #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
1533 # 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
1534 # 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
1535 # 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
1536 # 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
1537 # 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
1538 #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
1539
1598
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1540 /* 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
1541 #ifndef DW_DEPRECATED
1600
cbfdd56e3e72 Fixed building dwcompat with Watcom on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1599
diff changeset
1542 #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
1543 #endif
a2cd4b78048f Added initial API deprecation support for clang, GCC and Visual C.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1595
diff changeset
1544
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1545 /* Public function prototypes */
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1546 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
1547 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
1548 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
1549 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
1550 int API dw_box_unpack(HWND handle);
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
1551 #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
1552 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
1553 #define dw_init(a, b, c) dw_int_init(&_resources, a, &b, &c)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1554 #else
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1555 int API dw_init(int newthread, int argc, char *argv[]);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1556 #endif
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1557 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
1558 void API dw_main_quit(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1559 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
1560 void API dw_main_iteration(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1561 void API dw_free(void *ptr);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1562 int API dw_window_show(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1563 int API dw_window_hide(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1564 int API dw_window_minimize(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1565 int API dw_window_raise(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1566 int API dw_window_lower(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1567 int API dw_window_destroy(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1568 void API dw_window_redraw(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1569 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
1570 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
1571 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
1572 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
1573 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
1574 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
1575 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
1576 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
1577 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
1578 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
1579 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
1580 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
1581 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
1582 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
1583 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
1584 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
1585 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
1586 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
1587 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
1588 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
1589 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
1590 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
1591 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
1592 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
1593 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
1594 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
1595 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
1596 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
1597 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
1598 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
1599 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
1600 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
1601 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
1602 void API dw_listbox_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1603 int API dw_listbox_count(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1604 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
1605 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
1606 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
1607 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
1608 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
1609 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
1610 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
1611 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
1612 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
1613 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
1614 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
1615 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
1616 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
1617 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
1618 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
1619 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
1620 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
1621 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
1622 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
1623 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
1624 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
1625 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
1626 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
1627 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
1628 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
1629 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
1630 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
1631 void API dw_window_disable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1632 void API dw_window_enable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1633 void API dw_window_capture(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1634 void API dw_window_release(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1635 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
1636 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
1637 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
1638 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
1639 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
1640 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
1641 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
1642 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
1643 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
1644 void API dw_mle_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1645 void API dw_mle_freeze(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1646 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
1647 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
1648 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
1649 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
1650 void API dw_mle_set_word_wrap(HWND handle, int state);
1924
c47a04d83b90 Added dw_mle_set_auto_complete() to enable MLE auto completion on supported platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1897
diff changeset
1651 void API dw_mle_set_auto_complete(HWND handle, int state);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1652 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
1653 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
1654 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
1655 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
1656 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
1657 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
1658 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
1659 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
1660 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
1661 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
1662 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
1663 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
1664 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
1665 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
1666 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
1667 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
1668 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
1669 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
1670 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
1671 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
1672 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
1673 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
1674 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
1675 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
1676 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
1677 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
1678 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
1679 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
1680 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
1681 void API dw_container_change_row_title(HWND handle, int row, char *title);
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
1682 void API dw_container_set_row_data(void *pointer, int row, void *data);
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
1683 void API dw_container_change_row_data(HWND handle, int row, void *data);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1684 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
1685 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
1686 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
1687 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
1688 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
1689 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
1690 void API dw_container_cursor(HWND handle, char *text);
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
1691 void API dw_container_cursor_by_data(HWND handle, void *data);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1692 void API dw_container_delete_row(HWND handle, char *text);
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
1693 void API dw_container_delete_row_by_data(HWND handle, void *data);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1694 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
1695 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
1696 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
1697 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
1698 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
1699 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
1700 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
1701 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
1702 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
1703 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
1704 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
1705 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
1706 int API dw_screen_width(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1707 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
1708 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
1709 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
1710 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
1711 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
1712 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
1713 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
1714 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
1715 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
1716 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
1717 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
1718 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
1719 float API dw_splitbar_get(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1720 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
1721 HMENUI API dw_menubar_new(HWND location);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1722 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
1723 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
1724 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
1725 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
1726 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
1727 void API dw_menu_destroy(HMENUI *menu);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1728 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
1729 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
1730 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
1731 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
1732 HMTX API dw_mutex_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1733 void API dw_mutex_close(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1734 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
1735 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
1736 void API dw_mutex_unlock(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1737 HEV API dw_event_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1738 int API dw_event_reset(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1739 int API dw_event_post(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1740 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
1741 int API dw_event_close (HEV *eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1742 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
1743 void API dw_thread_end(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1744 DWTID API dw_thread_id(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1745 void API dw_exit(int exitcode);
1861
c836603d3f14 Add dw_shutdown() function which does the same thing as dw_exit() ...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1858
diff changeset
1746 void API dw_shutdown(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1747 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
1748 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
1749 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
1750 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
1751 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
1752 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
1753 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
1754 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
1755 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
1756 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
1757 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
1758 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
1759 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
1760 void API dw_flush(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1761 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
1762 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
1763 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
1764 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
1765 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
1766 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
1767 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
1768 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
1769 void API dw_pixmap_destroy(HPIXMAP pixmap);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1770 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
1771 void API dw_debug(char *format, ...);
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1772 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
1773 void API dw_environment_query(DWEnv *env);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1774 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
1775 int API dw_browse(char *url);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1776 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
1777 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
1778 char * API dw_app_dir(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1779 DWDialog * API dw_dialog_new(void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1780 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
1781 void * API dw_dialog_wait(DWDialog *dialog);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1782 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
1783 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
1784 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
1785 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
1786 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
1787 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
1788 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
1789 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
1790 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
1791 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
1792 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
1793 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
1794 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
1795 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
1796 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
1797 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
1798 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
1799 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
1800 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
1801 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
1802 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
1803 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
1804 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
1805 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
1806 HWND API dw_html_new(unsigned long id);
613
f7d318cffc3e Fix compiler error
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 612
diff changeset
1807 char * API dw_clipboard_get_text(void);
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
1808 void API dw_clipboard_set_text( char *str, int len );
596
a8ea3d68b9ec Update version
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 584
diff changeset
1809 HWND API dw_calendar_new(unsigned long id);
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
1810 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
1811 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
1812 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
1813 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
1814 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
1815 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
1816 char * API dw_wchar_to_utf8(wchar_t *wstring);
1887
09860ba329a4 Divided thread initialization and deinitialization into separate
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1871
diff changeset
1817 /* Exported for language bindings */
09860ba329a4 Divided thread initialization and deinitialization into separate
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1871
diff changeset
1818 void API _dw_init_thread(void);
09860ba329a4 Divided thread initialization and deinitialization into separate
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1871
diff changeset
1819 void API _dw_deinit_thread(void);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1820
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1821 #endif