annotate dw.h @ 2202:c677d728e143

GTK3: Switch to using GResource for compiled in image resources. Second commit with similar changes coming for GTK2 soon. dwindows-config --gresource will return "enabled" if GResource is supported. GLib 2.32 is required for GResource support, if GLib is older than 2.32 Dynamic Windows will fall back to the old style compiled in resource array.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sat, 28 Nov 2020 23:47:30 +0000
parents 6533fc42c951
children 12fb7f32f3a9
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
2000
77e43d71eaa7 Changes to allow mixing C and C++ when including dw.h.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1991
diff changeset
6 #ifdef __cplusplus
77e43d71eaa7 Changes to allow mixing C and C++ when including dw.h.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1991
diff changeset
7 extern "C" {
77e43d71eaa7 Changes to allow mixing C and C++ when including dw.h.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1991
diff changeset
8 #endif
77e43d71eaa7 Changes to allow mixing C and C++ when including dw.h.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1991
diff changeset
9
15
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
10 /* Dynamic Windows version numbers */
1897
951356ced7d5 Changes preparing for 3.0 release.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1893
diff changeset
11 #define DW_MAJOR_VERSION 3
2077
9101babfc421 Bump the version to 3.1 and update the readme with some of the changes
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2070
diff changeset
12 #define DW_MINOR_VERSION 1
624
7bdb2a58c51d Update package version
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 618
diff changeset
13 #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
14
2005
a17cc1958369 GTK: Added WebKit2 support for GTK3. Remove dead code from GTK2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2000
diff changeset
15 #define DW_HOME_URL "http://dwindows.netlabs.org"
a17cc1958369 GTK: Added WebKit2 support for GTK3. Remove dead code from GTK2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2000
diff changeset
16
2159
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
17 /* Support for API deprecation in supported compilers */
2163
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
18 #ifndef __has_attribute
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
19 # define __has_attribute(x) 0
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
20 #endif
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
21
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
22 #ifndef __has_extension
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
23 # define __has_extension __has_feature
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
24 #endif
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
25
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
26 #ifndef __has_feature
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
27 # define __has_feature(x) 0
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
28 #endif
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
29
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
30 #ifndef __GNUC_PREREQ
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
31 # if defined(__GNUC__) && defined(__GNUC_MINOR__)
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
32 # define __GNUC_PREREQ(maj, min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
33 # else
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
34 # define __GNUC_PREREQ(maj, min) 0
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
35 # endif
2159
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
36 #endif
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
37
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
38 /* Visual C */
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
39 #if defined(_MSC_VER)
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
40 # if _MSC_VER >= 1400
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
41 # define DW_DEPRECATED(func, message) __declspec(deprecated(message)) func
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
42 # endif
2163
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
43 /* Clang or GCC */
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
44 #elif __has_extension(attribute_deprecated_with_message) || __GNUC_PREREQ(4, 5)
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
45 # define DW_DEPRECATED(func, message) func __attribute__((deprecated (message)))
2166
f98cecae5402 Revisiting gcc versions, decided to use the official documentation for reference:
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2163
diff changeset
46 #elif __has_extension(attribute_deprecated) || __GNUC_PREREQ(3, 1)
2163
98db0e81a514 Rewrite the Compiler detection tests for deprecation and unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2159
diff changeset
47 # define DW_DEPRECATED(func, message) func __attribute__((deprecated))
2159
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
48 #endif
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
49
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
50 /* Compiler without deprecation support */
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
51 #ifndef DW_DEPRECATED
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
52 #define DW_DEPRECATED(func, message) func
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
53 #endif
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
54
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
55 /* Support for unused variables in supported compilers */
2166
f98cecae5402 Revisiting gcc versions, decided to use the official documentation for reference:
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2163
diff changeset
56 #if __has_attribute(unused) || __GNUC_PREREQ(2, 95)
2159
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
57 #define DW_UNUSED(x) x __attribute__((__unused__))
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
58 #else
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
59 #define DW_UNUSED(x) x
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
60 #endif
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
61
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
62 #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
63 /* 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
64 * 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
65 * 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
66 */
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
67 #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
68 #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
69 #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
70 #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
71 #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
72 #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
73 #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
74 #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
75 #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
76 #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
77 #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
78 #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
79 #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
80 #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
81 #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
82 #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
83 #define DW_CLR_DEFAULT 16
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
84 #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
85
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
86 /* 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
87 #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
88 #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
89 #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
90 #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
91 #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
92 #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
93 #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
94 #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
95 #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
96 #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
97 #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
98 #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
99 #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
100 #define DW_SIGNAL_VALUE_CHANGED "value_changed"
330
b87afd126cb7 Add switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 328
diff changeset
101 #define DW_SIGNAL_SWITCH_PAGE "switch-page"
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
102 #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
103 #define DW_SIGNAL_TREE_EXPAND "tree-expand"
2006
6f1adc77de02 GTK: Added DW_SIGNAL_HTML_CHANGED and DW_SIGNAL_HTML_RESULT.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2005
diff changeset
104 #define DW_SIGNAL_HTML_CHANGED "html-changed"
6f1adc77de02 GTK: Added DW_SIGNAL_HTML_CHANGED and DW_SIGNAL_HTML_RESULT.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2005
diff changeset
105 #define DW_SIGNAL_HTML_RESULT "html-result"
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
106
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
107 /* 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
108 #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
109 #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
110 #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
111 #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
112
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
113 /* 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
114 #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
115 #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
116 #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
117 #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
118 #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
119 #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
120
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
121 /* 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
122 #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
123 # ifndef GDK_WINDOWING_WIN32
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
124 # define GDK_WINDOWING_WIN32
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
125 # endif
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
126 #endif
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
127
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
128 #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
129 /* OS/2, Windows or MacOS */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
130
1404
56f311dc23f6 Changes to get the library building with Watcom on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1392
diff changeset
131 #ifdef __OS2__
56f311dc23f6 Changes to get the library building with Watcom on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1392
diff changeset
132 # 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
133 # 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
134 # endif
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
135 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
136
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
137 /* Used internally */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
138 #define TYPEBOX 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
139 #define TYPEITEM 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
140
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
141 #define SIZESTATIC 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
142 #define SIZEEXPAND 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
143
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
144 #define SPLITBAR_WIDTH 4
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
145
90
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
146 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
147 {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
148 struct _user_data *next;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
149 void *data;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
150 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
151 } UserData;
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
152
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
153 /* OS/2 Specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
154 #if defined(__OS2__) || defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
155 #define INCL_DOS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
156 #define INCL_WIN
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
157 #define INCL_GPI
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
158
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
159 #include <os2.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
160
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
161 #define DW_DT_LEFT DT_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
162 #define DW_DT_QUERYEXTENT DT_QUERYEXTENT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
163 #define DW_DT_UNDERSCORE DT_UNDERSCORE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
164 #define DW_DT_STRIKEOUT DT_STRIKEOUT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
165 #define DW_DT_TEXTATTRS DT_TEXTATTRS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
166 #define DW_DT_EXTERNALLEADING DT_EXTERNALLEADING
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
167 #define DW_DT_CENTER DT_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
168 #define DW_DT_RIGHT DT_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
169 #define DW_DT_TOP DT_TOP
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
170 #define DW_DT_VCENTER DT_VCENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
171 #define DW_DT_BOTTOM DT_BOTTOM
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
172 #define DW_DT_HALFTONE DT_HALFTONE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
173 #define DW_DT_MNEMONIC DT_MNEMONIC
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
174 #define DW_DT_WORDBREAK DT_WORDBREAK
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
175 #define DW_DT_ERASERECT DT_ERASERECT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
176
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
177 #ifndef FCF_CLOSEBUTTON
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
178 #define FCF_CLOSEBUTTON 0x04000000L
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
179 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
180
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
181 #define DW_FCF_CLOSEBUTTON 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
182 #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
183 #define DW_FCF_SYSMENU (FCF_SYSMENU | FCF_CLOSEBUTTON)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
184 #define DW_FCF_MENU FCF_MENU
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
185 #define DW_FCF_SIZEBORDER FCF_SIZEBORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
186 #define DW_FCF_MINBUTTON FCF_MINBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
187 #define DW_FCF_MAXBUTTON FCF_MAXBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
188 #define DW_FCF_MINMAX FCF_MINMAX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
189 #define DW_FCF_DLGBORDER FCF_DLGBORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
190 #define DW_FCF_BORDER FCF_BORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
191 #define DW_FCF_TASKLIST FCF_TASKLIST
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
192 #define DW_FCF_NOMOVEWITHOWNER FCF_NOMOVEWITHOWNER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
193 #define DW_FCF_SYSMODAL FCF_SYSMODAL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
194 #define DW_FCF_HIDEBUTTON FCF_HIDEBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
195 #define DW_FCF_HIDEMAX FCF_HIDEMAX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
196 #define DW_FCF_AUTOICON FCF_AUTOICON
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
197 #define DW_FCF_MAXIMIZE WS_MAXIMIZED
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
198 #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
199 #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
200 #define DW_FCF_FULLSCREEN 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
201
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
202 #define DW_CFA_BITMAPORICON CFA_BITMAPORICON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
203 #define DW_CFA_STRING CFA_STRING
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
204 #define DW_CFA_ULONG CFA_ULONG
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
205 #define DW_CFA_TIME CFA_TIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
206 #define DW_CFA_DATE CFA_DATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
207 #define DW_CFA_CENTER CFA_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
208 #define DW_CFA_LEFT CFA_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
209 #define DW_CFA_RIGHT CFA_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
210 #define DW_CFA_HORZSEPARATOR CFA_HORZSEPARATOR
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
211 #define DW_CFA_SEPARATOR CFA_SEPARATOR
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
212 #define DW_CFA_STRINGANDICON 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
213
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
214 #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
215 #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
216
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
217 #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
218
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
219 #define DW_LS_MULTIPLESEL LS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
220
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
221 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
222
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
223 #define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
224
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
225 #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
226 #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
227 #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
228 #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
229
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
230 #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
231
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
232 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
233 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
234 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
235 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
236 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
237
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
238 #define DW_MB_WARNING MB_WARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
239 #define DW_MB_ERROR MB_ERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
240 #define DW_MB_INFORMATION MB_INFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
241 #define DW_MB_QUESTION MB_QUERY
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
242
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
243 /* 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
244 #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
245 #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
246 #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
247 #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
248 #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
249 #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
250 #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
251 #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
252 #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
253 #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
254 #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
255 #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
256 #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
257 #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
258 #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
259 #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
260 #define VK_MULTIPLY ('*' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
261 #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
262 #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
263 #define VK_SUBTRACT ('-' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
264 #define VK_DECIMAL ('.' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
265 #define VK_DIVIDE ('/' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
266 #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
267 #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
268 #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
269 #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
270 #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
271 #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
272 #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
273 #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
274 #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
275 #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
276 #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
277 #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
278 #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
279 #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
280 #define VK_NUMPAD9 ('9' + 128)
446
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
281 #define VK_BACK VK_BACKSPACE
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
282 #define VK_LMENU VK_MENU
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
283 #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
284
1392
943266c86aed Refactoring OS/2 and Windows code... eliminating BubbleButton...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1389
diff changeset
285 #define BUBBLE_HELP_MAX 256
943266c86aed Refactoring OS/2 and Windows code... eliminating BubbleButton...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1389
diff changeset
286
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
287 typedef struct _window_data {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
288 PFNWP oldproc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
289 UserData *root;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
290 HWND clickdefault;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
291 ULONG flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
292 void *data;
1392
943266c86aed Refactoring OS/2 and Windows code... eliminating BubbleButton...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1389
diff changeset
293 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
294 } WindowData;
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
295
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
296 typedef struct _hpixmap {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
297 unsigned long width, height;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
298 HDC hdc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
299 HPS hps;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
300 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
301 HWND handle, font;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
302 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
303 int depth;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
304 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
305
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
306 typedef void *HTREEITEM;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
307 typedef HWND HMENUI;
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
308 typedef HMODULE HMOD;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
309 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
310 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
311 typedef unsigned long HICN;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
312
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
313 extern HAB dwhab;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
314 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
315
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
316 #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
317
2081
24875681eec5 Added htmlEngine to DWEnv
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2077
diff changeset
318 /* Mostly safe but slow snprintf() for compilers that don't have it...
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
319 * 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
320 */
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
321 #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
322 #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
323 #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
324 #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
325 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
326 {
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
327 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
328 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
329 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
330
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
331 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
332 {
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
333 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
334 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
335 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
336 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
337 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
338 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
339 }
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
340 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
341 }
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
342 #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
343 #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
344
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
345 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
346
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
347 #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
348 /* MacOS specific section */
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
349 #include <pthread.h>
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
350 #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
351
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
352 /* 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
353 * 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
354 * 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
355 * 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
356 * using the symbolic names.
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
357 */
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
358
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
359 #define TRUE 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
360 #define FALSE 0
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
361
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
362 typedef void *HWND;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
363 typedef void *HSHM;
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
364 typedef unsigned long ULONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
365 typedef long LONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
366 typedef unsigned short USHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
367 typedef short SHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
368 typedef unsigned short UWORD;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
369 typedef short WORD ;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
370 typedef unsigned char UCHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
371 typedef char CHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
372 typedef unsigned UINT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
373 typedef int INT;
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
374 typedef pthread_mutex_t *HMTX;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
375 typedef struct _dw_unix_event {
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
376 pthread_mutex_t mutex;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
377 pthread_cond_t event;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
378 pthread_t thread;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
379 int alive;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
380 int posted;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
381 } *HEV;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
382 typedef pthread_t DWTID;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
383 typedef void * HMOD;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
384 struct _dw_unix_shm {
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
385 int fd;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
386 char *path;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
387 int sid;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
388 int size;
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
389 };
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
390 typedef void *HTREEITEM;
650
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
391 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
392 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
393
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
394 typedef struct _window_data {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
395 UserData *root;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
396 HWND clickdefault;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
397 ULONG flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
398 void *data;
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
399 } WindowData;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
400
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
401 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
402 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
403 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
404 HWND handle;
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
405 } *HPIXMAP;
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
406
697
830e1f3672b9 Added draining mechanism for threads that don't have run loops.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 676
diff changeset
407 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
408
676
9861d264925d MLE was missing the scrollbar. Fixes for getting and setting the position.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 675
diff changeset
409 #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
410 #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
411 #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
412 #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
413 #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
414 #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
415 #define DW_DT_CENTER 2 /* NSCenterTextAlignment */
741
d2de18d4ea50 Fixed an error in the comments.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 731
diff changeset
416 #define DW_DT_RIGHT 1 /* NSRightTextAlignment */
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
417 #define DW_DT_TOP 0
859
80a88c91ccf6 Implemented vertical centering on text fields.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 839
diff changeset
418 #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
419 #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
420 #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
421 #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
422 #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
423 #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
424
1017
362e584fb3bd DW_FCF_CLOSEBUTTON should have the closable mask on Mac.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1015
diff changeset
425 #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
426 #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
427 #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
428 #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
429 #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
430 #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
431 #define DW_FCF_MAXBUTTON 0
55b677d460e9 Added initial support for a MacOS Cocoa port.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 643
diff changeset
432 #define DW_FCF_MINMAX (1 << 2) /* NSMiniaturizableWindowMask */
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
433 #define DW_FCF_DLGBORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
434 #define DW_FCF_BORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
435 #define DW_FCF_TASKLIST 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
436 #define DW_FCF_NOMOVEWITHOWNER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
437 #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
438 #define DW_FCF_HIDEBUTTON 0
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
439 #define DW_FCF_HIDEMAX 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
440 #define DW_FCF_AUTOICON 0
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
441 #define DW_FCF_MAXIMIZE 0
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
442 #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
443 #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
444 #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
445
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
446 #define DW_CFA_BITMAPORICON 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
447 #define DW_CFA_STRING (1 << 1)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
448 #define DW_CFA_ULONG (1 << 2)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
449 #define DW_CFA_TIME (1 << 3)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
450 #define DW_CFA_DATE (1 << 4)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
451 #define DW_CFA_CENTER (1 << 5)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
452 #define DW_CFA_LEFT (1 << 6)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
453 #define DW_CFA_RIGHT (1 << 7)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
454 #define DW_CFA_STRINGANDICON (1 << 8)
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
455 #define DW_CFA_HORZSEPARATOR 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
456 #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
457
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
458 #define DW_CRA_SELECTED 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
459 #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
460
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
461 #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
462
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
463 #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
464
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
465 #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
466
889
238ca78e71a7 Set DW_MLE_CASESENSITIVE to be the NSLiteralSearch value.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 859
diff changeset
467 #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
468
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
469 #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
470
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
471 #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
472 #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
473 #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
474 #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
475
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
476 #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
477
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
478 /* 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
479 #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
480 #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
481 #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
482 #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
483
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
484 #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
485 #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
486 #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
487 #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
488
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
489 /* 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
490 #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
491 #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
492 #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
493 #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
494 #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
495 #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
496 #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
497 #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
498 #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
499 #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
500 #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
501 #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
502 #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
503 #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
504 #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
505 #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
506 #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
507 #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
508 #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
509 #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
510 #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
511 #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
512 #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
513 #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
514 #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
515 #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
516 #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
517 #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
518 #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
519 #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
520 #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
521 #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
522 #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
523 #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
524 #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
525 #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
526 #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
527 #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
528 #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
529 #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
530 #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
531 #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
532 #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
533 #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
534 #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
535 #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
536 #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
537 #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
538 #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
539 #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
540 #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
541 #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
542 #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
543 #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
544 #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
545 #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
546 #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
547 #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
548 #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
549 #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
550 #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
551 #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
552 #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
553 #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
554 #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
555 #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
556 #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
557 #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
558 #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
559 #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
560 #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
561 #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
562 #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
563 #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
564 #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
565 #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
566 #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
567 #define VK_RMENU 0xF735 /* NSMenuFunctionKey */
612
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
568
c5e5671dec8f Modify Calendar widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 596
diff changeset
569 /* 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
570 #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
571 #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
572 #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
573 #endif
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
574
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
575 /* Windows specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
576 #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
577 #include <winsock2.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
578 #include <windows.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
579 #include <commctrl.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
580
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
581 #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
582 # 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
583 # define API _cdecl __declspec(dllexport)
571
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
584 # else
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
585 # define API _cdecl
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
586 #endif
1858
952a41463240 Make sure callbacks have their calling convention specified explicitly on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1853
diff changeset
587 #define DWSIGNAL _cdecl
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
588 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
589
1788
9d499b162fe1 Discovered a breakage in OS/2 functionality when building
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1783
diff changeset
590 #define DW_DT_LEFT SS_LEFTNOWORDWRAP
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
591 #define DW_DT_QUERYEXTENT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
592 #define DW_DT_UNDERSCORE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
593 #define DW_DT_STRIKEOUT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
594 #define DW_DT_TEXTATTRS 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
595 #define DW_DT_EXTERNALLEADING 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
596 #define DW_DT_CENTER SS_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
597 #define DW_DT_RIGHT SS_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
598 #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
599 #define DW_DT_VCENTER (1 << 29)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
600 #define DW_DT_BOTTOM 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
601 #define DW_DT_HALFTONE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
602 #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
603 #define DW_DT_WORDBREAK (1 << 28)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
604 #define DW_DT_ERASERECT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
605
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
606 #define DW_FCF_CLOSEBUTTON 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
607 #define DW_FCF_TITLEBAR WS_CAPTION
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
608 #define DW_FCF_SYSMENU WS_SYSMENU
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
609 #define DW_FCF_MENU 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
610 #define DW_FCF_SIZEBORDER WS_THICKFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
611 #define DW_FCF_MINBUTTON WS_MINIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
612 #define DW_FCF_MAXBUTTON WS_MAXIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
613 #define DW_FCF_MINMAX (WS_MINIMIZEBOX|WS_MAXIMIZEBOX)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
614 #define DW_FCF_DLGBORDER WS_DLGFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
615 #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
616 #define DW_FCF_TASKLIST (1 << 1)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
617 #define DW_FCF_NOMOVEWITHOWNER 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
618 #define DW_FCF_SYSMODAL 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
619 #define DW_FCF_HIDEBUTTON WS_MINIMIZEBOX
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
620 #define DW_FCF_HIDEMAX (WS_MINIMIZEBOX|WS_MAXIMIZEBOX)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
621 #define DW_FCF_AUTOICON 0
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
622 #define DW_FCF_MAXIMIZE WS_MAXIMIZE
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
623 #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
624 #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
625 #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
626 #define DW_FCF_FULLSCREEN (1 << 2)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
627
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
628 #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
629 #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
630 #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
631 #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
632 #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
633 #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
634 #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
635 #define DW_CFA_RIGHT (1 << 7)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
636 #define DW_CFA_STRINGANDICON (1 << 8)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
637 #define DW_CFA_HORZSEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
638 #define DW_CFA_SEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
639
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
640 #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
641 #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
642
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
643 #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
644
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
645 #define DW_LS_MULTIPLESEL LBS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
646
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
647 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
648
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
649 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
650
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
651 #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
652
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
653 #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
654 #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
655 #define DW_POINTER_CLOCK 32514
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
656 #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
657
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
658 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
659 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
660 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
661 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
662 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
663
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
664 #define DW_MB_WARNING MB_ICONWARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
665 #define DW_MB_ERROR MB_ICONERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
666 #define DW_MB_INFORMATION MB_ICONINFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
667 #define DW_MB_QUESTION MB_ICONQUESTION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
668
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
669 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
670 #define KC_CTRL (1)
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
671 #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
672 #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
673
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
674 typedef struct _color {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
675 int fore;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
676 int back;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
677 HWND combo, buddy;
2135
d9720d48d61e Win: Code cleanup, create internal helper functions _dw_window_get_cinfo() and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2132
diff changeset
678 ULONG style;
d9720d48d61e Win: Code cleanup, create internal helper functions _dw_window_get_cinfo() and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2132
diff changeset
679 RECT rect;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
680 HWND clickdefault;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
681 HBRUSH hbrush;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
682 HFONT hfont;
2141
709f8bfa711f Win: Fix a problem where full dark mode was functioning as forced.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2135
diff changeset
683 HMENU hmenu;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
684 char fontname[128];
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
685 WNDPROC pOldProc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
686 UserData *root;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
687 } ColorInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
688
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
689 typedef struct _notebookpage {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
690 ColorInfo cinfo;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
691 TC_ITEM item;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
692 HWND hwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
693 int realid;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
694 } NotebookPage;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
695
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
696 typedef HANDLE HMTX;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
697 typedef HANDLE HEV;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
698 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
699 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
700 typedef HANDLE HICN;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
701
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
702 typedef struct _container {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
703 ColorInfo cinfo;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
704 ULONG *flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
705 ULONG columns;
1212
5271d5cb27ac Implemented dw_container_set_row_bg() on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1206
diff changeset
706 COLORREF odd, even;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
707 } ContainerInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
708
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
709 typedef struct _hpixmap {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
710 unsigned long width, height;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
711 HBITMAP hbm;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
712 HDC hdc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
713 unsigned long transcolor;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
714 HWND handle;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
715 void *bits;
960
841b66d2d1b9 Added initial support for transparent pixmap/bitmaps on Windows...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 889
diff changeset
716 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
717 HFONT font;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
718 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
719
238
13d3de3f1e83 Rewrote the menu code to not return structs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 236
diff changeset
720 typedef HWND HMENUI;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
721 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
722
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
723 typedef struct _item {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
724 /* Item type - Box or Item */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
725 int type;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
726 /* Handle to Frame or Window */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
727 HWND hwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
728 /* Width and Height of static size */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
729 int width, height, origwidth, origheight;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
730 /* Size Type - Static or Expand */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
731 int hsize, vsize;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
732 /* Padding */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
733 int pad;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
734 } Item;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
735
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
736 typedef struct _box {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
737 #if defined(__WIN32__) || defined(WINNT)
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
738 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
739 int fullscreen;
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 22
diff changeset
740 #elif defined(__OS2__) || defined(__EMX__)
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
741 PFNWP oldproc;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
742 UserData *root;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
743 HWND hwndtitle, hwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
744 int titlebar;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
745 #endif
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
746 /* Number of items in the box */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
747 int count;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
748 /* Box type - horizontal or vertical */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
749 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
750 /* 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
751 int hsize, vsize;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
752 /* 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
753 int pad, grouppadx, grouppady;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
754 /* Groupbox */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
755 HWND grouphwnd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
756 /* Default item */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
757 HWND defaultitem;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
758 /* 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
759 int usedpadx, usedpady, minheight, minwidth;
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
760 /* Used for calculating individual item ratios */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
761 int width, height;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
762 /* Any combinations of flags describing the box */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
763 unsigned long flags;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
764 /* Array of item structures */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
765 struct _item *items;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
766 } Box;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
767
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
768 #elif defined(__PHOTON__)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
769 #include <stdio.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
770 #include <stdlib.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
771 #include <unistd.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
772 #include <sys/utsname.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
773 /* Photon specific section */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
774 #include <Pt.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
775 #include <Ph.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
776 /* which image formats supported */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
777 #define PX_IMAGE_MODULES
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
778 #define PX_GIF_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
779 #define PX_JPG_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
780 #define PX_BMP_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
781 #define PX_PND_SUPPORT
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
782 #include <photon/PxImage.h>
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
783
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
784 #define TRUE 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
785 #define FALSE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
786
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
787 typedef PtWidget_t *pPtWidget_t;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
788 typedef pPtWidget_t HWND;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
789
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
790 typedef unsigned long ULONG;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
791 typedef long LONG;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
792 typedef unsigned short USHORT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
793 typedef short SHORT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
794 typedef unsigned short UWORD;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
795 typedef short WORD ;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
796 typedef unsigned char UCHAR;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
797 typedef char CHAR;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
798 typedef unsigned UINT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
799 typedef int INT;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
800 typedef void *HMTX;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
801 typedef void *HEV;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
802 typedef void *HSHM;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
803 typedef void *HMOD;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
804 typedef PtTreeItem_t *HTREEITEM;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
805 typedef HWND HMENUI;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
806 typedef int DWTID;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
807 typedef unsigned long HICN;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
808
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
809 typedef struct _user_data
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
810 {
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
811 struct _user_data *next;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
812 void *data;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
813 char *varname;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
814 } UserData;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
815
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
816 typedef struct _window_data {
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
817 UserData *root;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
818 HWND clickdefault;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
819 ULONG flags;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
820 void *data;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
821 } WindowData;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
822
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
823 typedef struct _hpixmap {
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
824 unsigned long width, height;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
825 /* ?? *pixmap; */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
826 HWND handle;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
827 } *HPIXMAP;
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
828
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
829 /* colors matching Photon Graphics colors */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
830 #define DW_CLR_BLACK Pg_BLACK
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
831 #define DW_CLR_DARKRED Pg_DRED
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
832 #define DW_CLR_DARKGREEN Pg_DGREEN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
833 #define DW_CLR_BROWN Pg_BROWN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
834 #define DW_CLR_DARKBLUE Pg_DBLUE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
835 #define DW_CLR_DARKPINK Pg_PURPLE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
836 #define DW_CLR_DARKCYAN Pg_DCYAN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
837 #define DW_CLR_PALEGRAY Pg_GRAY
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
838 #define DW_CLR_DARKGRAY Pg_MGRAY
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
839 #define DW_CLR_RED Pg_RED
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
840 #define DW_CLR_GREEN Pg_GREEN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
841 #define DW_CLR_YELLOW Pg_YELLOW
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
842 #define DW_CLR_BLUE Pg_BLUE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
843 #define DW_CLR_PINK Pg_MAGENTA
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
844 #define DW_CLR_CYAN Pg_CYAN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
845 #define DW_CLR_WHITE Pg_WHITE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
846 #define DW_CLR_DEFAULT Pg_GRAY
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
847 /* color manipulation macros */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
848 #define DW_RGB_COLOR (0xF0000000)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
849 #define DW_RGB_TRANSPARENT (0x0F000000)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
850 #define DW_RGB_MASK (0x00FFFFFF)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
851 #define DW_RED_MASK (0x00FF0000)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
852 #define DW_GREEN_MASK (0x0000FF00)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
853 #define DW_BLUE_MASK (0x000000FF)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
854 #define DW_RED_VALUE(a) PgRedValue(a)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
855 #define DW_GREEN_VALUE(a) PgGreenValue(a)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
856 #define DW_BLUE_VALUE(a) PgBluValue(a)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
857 #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
858
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
859 #define DW_DT_LEFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
860 #define DW_DT_QUERYEXTENT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
861 #define DW_DT_UNDERSCORE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
862 #define DW_DT_STRIKEOUT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
863 #define DW_DT_TEXTATTRS 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
864 #define DW_DT_EXTERNALLEADING 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
865 #define DW_DT_CENTER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
866 #define DW_DT_RIGHT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
867 #define DW_DT_TOP 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
868 #define DW_DT_VCENTER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
869 #define DW_DT_BOTTOM 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
870 #define DW_DT_HALFTONE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
871 #define DW_DT_MNEMONIC 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
872 #define DW_DT_WORDBREAK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
873 #define DW_DT_ERASERECT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
874
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
875 #define DW_FCF_CLOSEBUTTON Ph_WM_RENDER_CLOSE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
876 #define DW_FCF_TITLEBAR Ph_WM_RENDER_TITLE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
877 #define DW_FCF_SYSMENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
878 #define DW_FCF_MENU Ph_WM_RENDER_MENU
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
879 #define DW_FCF_SIZEBORDER Ph_WM_RENDER_RESIZE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
880 #define DW_FCF_MINBUTTON Ph_WM_RENDER_MIN
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
881 #define DW_FCF_MAXBUTTON Ph_WM_RENDER_MAX
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
882 #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
883 #define DW_FCF_DLGBORDER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
884 #define DW_FCF_BORDER Ph_WM_RENDER_BORDER
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
885 #define DW_FCF_TASKLIST 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
886 #define DW_FCF_NOMOVEWITHOWNER 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
887 #define DW_FCF_SYSMODAL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
888 #define DW_FCF_HIDEBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
889 #define DW_FCF_HIDEMAX 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
890 #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
891 #define DW_FCF_MAXIMIZE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
892 #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
893 #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
894 #define DW_FCF_FULLSCREEN 0
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
895
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
896 #define DW_CFA_BITMAPORICON 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
897 #define DW_CFA_STRING (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
898 #define DW_CFA_ULONG (1 << 2)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
899 #define DW_CFA_TIME (1 << 3)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
900 #define DW_CFA_DATE (1 << 4)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
901 #define DW_CFA_CENTER (1 << 5)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
902 #define DW_CFA_LEFT (1 << 6)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
903 #define DW_CFA_RIGHT (1 << 7)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
904 #define DW_CFA_STRINGANDICON (1 << 8)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
905 #define DW_CFA_HORZSEPARATOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
906 #define DW_CFA_SEPARATOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
907
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
908 #define DW_CRA_SELECTED 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
909 #define DW_CRA_CURSORED (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
910
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
911 #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
912
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
913 #define DW_LS_MULTIPLESEL 1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
914
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
915 #define DW_LIT_NONE -1
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
916
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
917 #ifdef MLFSEARCH_CASESENSITIVE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
918 # define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
919 #else
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
920 # define DW_MLE_CASESENSITIVE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
921 #endif
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
922
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
923 #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
924
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
925 #define DW_POINTER_DEFAULT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
926 #define DW_POINTER_ARROW 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
927 #define DW_POINTER_CLOCK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
928 #define DW_POINTER_QUESTION 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
929
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
930 #define HWND_DESKTOP ((HWND)0)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
931
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
932 /* flag values for dw_messagebox() */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
933 #define DW_MB_OK (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
934 #define DW_MB_OKCANCEL (1 << 2)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
935 #define DW_MB_YESNO (1 << 3)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
936 #define DW_MB_YESNOCANCEL (1 << 4)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
937
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
938 #define DW_MB_WARNING (1 << 10)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
939 #define DW_MB_ERROR (1 << 11)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
940 #define DW_MB_INFORMATION (1 << 12)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
941 #define DW_MB_QUESTION (1 << 13)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
942
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
943 /* Virtual Key Codes */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
944 #define VK_LBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
945 #define VK_RBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
946 #define VK_CANCEL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
947 #define VK_MBUTTON 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
948 #define VK_BACK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
949 #define VK_TAB 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
950 #define VK_CLEAR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
951 #define VK_RETURN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
952 #define VK_MENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
953 #define VK_PAUSE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
954 #define VK_CAPITAL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
955 #define VK_ESCAPE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
956 #define VK_SPACE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
957 #define VK_PRIOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
958 #define VK_NEXT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
959 #define VK_END 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
960 #define VK_HOME 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
961 #define VK_LEFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
962 #define VK_UP 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
963 #define VK_RIGHT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
964 #define VK_DOWN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
965 #define VK_SELECT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
966 #define VK_PRINT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
967 #define VK_EXECUTE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
968 #define VK_SNAPSHOT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
969 #define VK_INSERT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
970 #define VK_DELETE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
971 #define VK_HELP 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
972 #define VK_LWIN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
973 #define VK_RWIN 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
974 #define VK_NUMPAD0 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
975 #define VK_NUMPAD1 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
976 #define VK_NUMPAD2 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
977 #define VK_NUMPAD3 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
978 #define VK_NUMPAD4 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
979 #define VK_NUMPAD5 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
980 #define VK_NUMPAD6 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
981 #define VK_NUMPAD7 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
982 #define VK_NUMPAD8 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
983 #define VK_NUMPAD9 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
984 #define VK_MULTIPLY 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
985 #define VK_ADD 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
986 #define VK_SEPARATOR 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
987 #define VK_SUBTRACT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
988 #define VK_DECIMAL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
989 #define VK_DIVIDE 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
990 #define VK_F1 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
991 #define VK_F2 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
992 #define VK_F3 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
993 #define VK_F4 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
994 #define VK_F5 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
995 #define VK_F6 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
996 #define VK_F7 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
997 #define VK_F8 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
998 #define VK_F9 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
999 #define VK_F10 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1000 #define VK_F11 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1001 #define VK_F12 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1002 #define VK_F13 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1003 #define VK_F14 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1004 #define VK_F15 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1005 #define VK_F16 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1006 #define VK_F17 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1007 #define VK_F18 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1008 #define VK_F19 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1009 #define VK_F20 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1010 #define VK_F21 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1011 #define VK_F22 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1012 #define VK_F23 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1013 #define VK_F24 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1014 #define VK_NUMLOCK 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1015 #define VK_SCROLL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1016 #define VK_LSHIFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1017 #define VK_RSHIFT 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1018 #define VK_LCONTROL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1019 #define VK_RCONTROL 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1020 #define VK_LMENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1021 #define VK_RMENU 0
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1022
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1023 /* Key Modifiers */
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1024 #define KC_CTRL (1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1025 #define KC_SHIFT (1 << 1)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1026 #define KC_ALT (1 << 2)
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1027
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1028 #else
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1029 /* 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
1030 #define _GNU_SOURCE
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1031 #include <gtk/gtk.h>
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1032 #ifdef GDK_WINDOWING_X11
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1033 # include <gdk/gdkx.h>
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1034 #else
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1035 # include <gdk/gdk.h>
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1036 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1037 #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
1038 #include <gdk/gdkkeysyms.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1039 #include <pthread.h>
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1040 #if !defined(GDK_WINDOWING_WIN32)
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1041 # include <dlfcn.h>
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1042 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1043
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1044 #define DW_DT_LEFT 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1045 #define DW_DT_UNDERSCORE (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1046 #define DW_DT_STRIKEOUT (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1047 #define DW_DT_CENTER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1048 #define DW_DT_RIGHT (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1049 #define DW_DT_TOP (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1050 #define DW_DT_VCENTER (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1051 #define DW_DT_BOTTOM (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1052 #define DW_DT_HALFTONE (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1053 #define DW_DT_MNEMONIC (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1054 #define DW_DT_WORDBREAK (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1055 #define DW_DT_ERASERECT (1 << 11)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1056
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
1057 /* 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
1058 #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
1059 #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
1060 #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
1061
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1062 #define DW_FCF_TITLEBAR 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1063 #define DW_FCF_SYSMENU (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1064 #define DW_FCF_MENU (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1065 #define DW_FCF_SIZEBORDER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1066 #define DW_FCF_MINBUTTON (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1067 #define DW_FCF_MAXBUTTON (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1068 #define DW_FCF_MINMAX (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1069 #define DW_FCF_DLGBORDER (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1070 #define DW_FCF_BORDER (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1071 #define DW_FCF_TASKLIST (1 << 12)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1072 #define DW_FCF_NOMOVEWITHOWNER (1 << 14)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1073 #define DW_FCF_SYSMODAL (1 << 15)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1074 #define DW_FCF_HIDEBUTTON (1 << 16)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1075 #define DW_FCF_HIDEMAX (1 << 17)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1076 #define DW_FCF_AUTOICON (1 << 18)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
1077 #define DW_FCF_MAXIMIZE (1 << 19)
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
1078 #define DW_FCF_MINIMIZE (1 << 20)
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1079 #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
1080 #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
1081 #define DW_FCF_FULLSCREEN (1 << 22)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1082
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1083 #define DW_CFA_BITMAPORICON 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1084 #define DW_CFA_STRING (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1085 #define DW_CFA_ULONG (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1086 #define DW_CFA_TIME (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1087 #define DW_CFA_DATE (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1088 #define DW_CFA_CENTER (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1089 #define DW_CFA_LEFT (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1090 #define DW_CFA_RIGHT (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1091 #define DW_CFA_HORZSEPARATOR (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1092 #define DW_CFA_SEPARATOR (1 << 9)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
1093 #define DW_CFA_STRINGANDICON (1 << 10)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1094
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
1095 #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
1096 #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
1097
1871
3f571ad9b92e First Mac round of changes aimed at separating the data and text
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1863
diff changeset
1098 #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
1099
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1100 #define DW_LS_MULTIPLESEL 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1101
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1102 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1103
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1104 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1105
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
1106 #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
1107
532
1e60e98a9168 Forgot DW_POINTER_DEFAULT on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 531
diff changeset
1108 #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
1109 #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
1110 #define DW_POINTER_CLOCK GDK_WATCH
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1111 #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
1112
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1113 #define HWND_DESKTOP ((HWND)0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1114
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1115 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1116 #define DW_MB_OK (1 << 1)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1117 #define DW_MB_OKCANCEL (1 << 2)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1118 #define DW_MB_YESNO (1 << 3)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1119 #define DW_MB_YESNOCANCEL (1 << 4)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1120
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1121 #define DW_MB_WARNING (1 << 10)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1122 #define DW_MB_ERROR (1 << 11)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1123 #define DW_MB_INFORMATION (1 << 12)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1124 #define DW_MB_QUESTION (1 << 13)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1125
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1126 /* 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
1127 #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
1128 #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
1129 #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
1130 #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
1131 #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
1132 #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
1133 #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
1134 #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
1135 #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
1136 #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
1137 #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
1138 #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
1139 #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
1140 #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
1141 #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
1142 #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
1143 #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
1144 #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
1145 #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
1146 #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
1147 #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
1148 #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
1149 #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
1150 #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
1151 #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
1152 #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
1153 #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
1154 #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
1155 #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
1156 #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
1157 #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
1158 #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
1159 #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
1160 #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
1161 #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
1162 #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
1163 #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
1164 #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
1165 #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
1166 #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
1167 #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
1168 #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
1169 #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
1170 #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
1171 #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
1172 #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
1173 #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
1174 #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
1175 #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
1176 #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
1177 #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
1178 #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
1179 #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
1180 #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
1181 #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
1182 #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
1183 #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
1184 #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
1185 #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
1186 #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
1187 #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
1188 #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
1189 #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
1190 #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
1191 #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
1192 #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
1193 #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
1194 #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
1195 #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
1196 #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
1197 #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
1198 #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
1199 #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
1200 #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
1201 #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
1202 #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
1203 #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
1204 #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
1205 #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
1206
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
1207 #else
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1208 #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
1209 #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
1210 #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
1211 #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
1212 #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
1213 #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
1214 #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
1215 #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
1216 #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
1217 #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
1218 #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
1219 #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
1220 #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
1221 #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
1222 #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
1223 #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
1224 #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
1225 #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
1226 #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
1227 #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
1228 #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
1229 #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
1230 #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
1231 #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
1232 #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
1233 #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
1234 #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
1235 #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
1236 #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
1237 #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
1238 #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
1239 #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
1240 #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
1241 #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
1242 #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
1243 #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
1244 #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
1245 #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
1246 #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
1247 #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
1248 #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
1249 #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
1250 #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
1251 #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
1252 #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
1253 #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
1254 #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
1255 #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
1256 #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
1257 #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
1258 #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
1259 #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
1260 #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
1261 #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
1262 #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
1263 #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
1264 #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
1265 #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
1266 #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
1267 #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
1268 #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
1269 #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
1270 #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
1271 #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
1272 #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
1273 #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
1274 #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
1275 #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
1276 #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
1277 #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
1278 #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
1279 #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
1280 #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
1281 #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
1282 #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
1283 #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
1284 #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
1285 #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
1286 #endif
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1287
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1288 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
1289 #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
1290 #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
1291 #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
1292
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1293 typedef GtkWidget *HWND;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
1294 #ifndef _ENVRNMNT_H
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1295 typedef unsigned long ULONG;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
1296 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1297 typedef long LONG;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1298 typedef unsigned short USHORT;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1299 typedef short SHORT;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1300 typedef unsigned short UWORD;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1301 typedef short WORD ;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1302 typedef unsigned char UCHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1303 typedef char CHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1304 typedef unsigned UINT;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
1305 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
1306 typedef pthread_mutex_t *HMTX;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1307 typedef struct _dw_unix_event {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1308 pthread_mutex_t mutex;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1309 pthread_cond_t event;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1310 pthread_t thread;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1311 int alive;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1312 int posted;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1313 } *HEV;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1314 typedef pthread_t DWTID;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
1315 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
1316 struct _dw_unix_shm {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1317 int fd;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1318 char *path;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1319 int sid;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1320 int size;
558
05060ce4d6ae Fixes for the new shared memory and named event code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 557
diff changeset
1321 };
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1322
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1323 typedef struct _hpixmap {
633
87db549e79bc Add dw_polygon_draw() to draw closed polygons.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 624
diff changeset
1324 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
1325 HWND handle;
1148
439f276042cc Implemented dw_pixmap_set_font() on GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1146
diff changeset
1326 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
1327 #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
1328 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
1329 #endif
776
425f3d46b75f Accidentally clobbered something in dw.h required for GTK 2.x.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 775
diff changeset
1330 #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
1331 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
1332 #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
1333 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
1334 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
1335 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
1336 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1337 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1338
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
1339 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
1340 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
1341 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
1342 typedef void *HICN;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
1343
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1344 typedef struct _resource_struct {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1345 long resource_max, *resource_id;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1346 char **resource_data;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1347 } DWResources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1348
2202
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1349 /* As of Dynamic Windows 3.1 GResource is default if supported.
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1350 * Defining DW_INCLUDE_DEPRECATED_RESOURCES at compile time will
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1351 * include support for our old home brewed resource system.
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1352 * GLib 2.32 is required for GResource, so we automatically
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1353 * enable our old system if using an old Glib.
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1354 * Test for GResource using: dwindows-config --gresource
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1355 */
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1356 #ifndef DW_INCLUDE_DEPRECATED_RESOURCES
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1357 #if !GLIB_CHECK_VERSION(2,32,0)
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1358 #define DW_INCLUDE_DEPRECATED_RESOURCES 1
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1359 #endif
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1360 #endif
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1361
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1362 /* Only reference our old style resources if required. */
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1363 #ifdef DW_INCLUDE_DEPRECATED_RESOURCES
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1364 #if !defined(DW_RESOURCES) || defined(BUILD_DLL)
2159
48172881415c GTK: Add DW_UNUSED() macro for defining variables that may be unused.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2141
diff changeset
1365 static DWResources DW_UNUSED(_resources) = { 0, 0, 0 };
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1366 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1367 extern DWResources _resources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1368 #endif
2202
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1369 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1370
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1371 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1372
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1373 #if !defined(__OS2__) && !defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1374 typedef struct _CDATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1375 {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1376 UCHAR day;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1377 UCHAR month;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1378 USHORT year;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1379 } CDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1380 typedef CDATE *PCDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1381
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1382 typedef struct _CTIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1383 {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1384 UCHAR hours;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1385 UCHAR minutes;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1386 UCHAR seconds;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1387 UCHAR ucReserved;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1388 } CTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1389 typedef CTIME *PCTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1390 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1391
634
c6a216c8174f Support for setting transparent colour for bitmaps
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 633
diff changeset
1392 #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
1393 typedef unsigned long DWTID;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1394 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1395
2127
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1396 /* Some dark mode constants for supported platforms */
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1397 #define DW_DARK_MODE_DISABLED 0
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1398 #define DW_DARK_MODE_BASIC 1
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1399 #define DW_DARK_MODE_FULL 2
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1400 #define DW_DARK_MODE_FORCED 3
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1401
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1402 /* Application ID support lengths */
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1403 #define _DW_APP_ID_SIZE 100
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1404
2083
f1acc157b2dd Win: Correctly show "IE" as HTML renderer if built with Edge support...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2081
diff changeset
1405 /* Use at least the linux utsname limit to avoid gcc fortify warnings */
f1acc157b2dd Win: Correctly show "IE" as HTML renderer if built with Edge support...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2081
diff changeset
1406 #define _DW_ENV_STRING_SIZE 65
f1acc157b2dd Win: Correctly show "IE" as HTML renderer if built with Edge support...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2081
diff changeset
1407
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1408 typedef struct _dwenv {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1409 /* Operating System Name and DW Build Date/Time */
2083
f1acc157b2dd Win: Correctly show "IE" as HTML renderer if built with Edge support...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2081
diff changeset
1410 char osName[_DW_ENV_STRING_SIZE], buildDate[_DW_ENV_STRING_SIZE], buildTime[_DW_ENV_STRING_SIZE];
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1411 /* Versions and builds */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1412 short MajorVersion, MinorVersion, MajorBuild, MinorBuild;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1413 /* Dynamic Window version */
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1414 short DWMajorVersion, DWMinorVersion, DWSubVersion;
2081
24875681eec5 Added htmlEngine to DWEnv
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2077
diff changeset
1415 /* Which HTML engine is compiled in */
2083
f1acc157b2dd Win: Correctly show "IE" as HTML renderer if built with Edge support...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2081
diff changeset
1416 char htmlEngine[_DW_ENV_STRING_SIZE];
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1417 } DWEnv;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1418
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1419
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1420 typedef struct _dwexpose {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1421 int x, y;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1422 int width, height;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1423 } DWExpose;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1424
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1425 typedef struct _dwdialog {
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1426 HEV eve;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1427 int done;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1428 int method;
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1429 void *data, *result;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1430 } DWDialog;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1431
1136
1a5b0908659b Initial implementation of the DynamicWindows Print object for GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1108
diff changeset
1432 typedef void *HPRINT;
1a5b0908659b Initial implementation of the DynamicWindows Print object for GTK3.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1108
diff changeset
1433
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1434 #define DW_SIGNAL_FUNC(a) ((void *)a)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1435
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
1436 #define DW_DESKTOP HWND_DESKTOP
7
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
1437 #define DW_MINIMIZED 1
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
1438
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1439 #define DW_BUTTON1_MASK 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1440 #define DW_BUTTON2_MASK (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1441 #define DW_BUTTON3_MASK (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1442
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1443 #define DW_EXEC_CON 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1444 #define DW_EXEC_GUI 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1445
449
787cc1e27897 Add support for directory browsing under Win32. DW_DIRECTORY_OPEN can be
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 446
diff changeset
1446 #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
1447 #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
1448 #define DW_DIRECTORY_OPEN 2
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1449
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
1450 #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
1451 #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
1452
1157
79bd0aff0bc2 Added DW_TIMEOUT_INFINITE constant to the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1152
diff changeset
1453 #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
1454
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
1455 /* 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
1456 #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
1457 #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
1458 #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
1459 #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
1460 #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
1461 #define DW_FCF_HORZSCROLL 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1462
1483
73f2ad84d4ec Fixed OS/2 windows being shown when setting position/size.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1468
diff changeset
1463 /* 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
1464 #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
1465 #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
1466 #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
1467 #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
1468
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1469 /* return values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1470 #define DW_MB_RETURN_OK 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1471 #define DW_MB_RETURN_YES 1
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1472 #define DW_MB_RETURN_NO 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1473 #define DW_MB_RETURN_CANCEL 2
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1474
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1475 #define DW_PIXMAP_WIDTH(x) (x ? x->width : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1476 #define DW_PIXMAP_HEIGHT(x) (x ? x->height : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1477
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1478 #if !defined(__PHOTON__)
62
2be5174bdb5d Sync with latest DW code. Tab and RGB fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 61
diff changeset
1479 #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
1480 #define DW_RGB_TRANSPARENT (0x0F000000)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1481 #define DW_RGB_MASK (0x00FFFFFF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1482 #define DW_RED_MASK (0x000000FF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1483 #define DW_GREEN_MASK (0x0000FF00)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1484 #define DW_BLUE_MASK (0x00FF0000)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1485 #define DW_RED_VALUE(a) (a & DW_RED_MASK)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1486 #define DW_GREEN_VALUE(a) ((a & DW_GREEN_MASK) >> 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1487 #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
1488 #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
1489 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1490
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
1491 /* Menu convenience paramaters */
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
1492 #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
1493 #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
1494 #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
1495 #define DW_MENU_POPUP (unsigned long)-1
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
1496
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
1497 /* 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
1498 #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
1499 #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
1500 #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
1501 #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
1502 #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
1503
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
1504 #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
1505
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
1506 /* 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
1507 #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
1508 #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
1509 #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
1510 #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
1511 #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
1512 #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
1513 #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
1514
584
420c6c94abc7 Added dw_html_* functionality for embedding HTML pages in Dynamic Windows
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 571
diff changeset
1515 /* Embedded HTML actions */
643
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1516 #define DW_HTML_GOBACK 0
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1517 #define DW_HTML_GOFORWARD 1
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1518 #define DW_HTML_GOHOME 2
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1519 #define DW_HTML_SEARCH 3
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1520 #define DW_HTML_RELOAD 4
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1521 #define DW_HTML_STOP 5
9ab89d89e6b4 Add dw_listview_insert()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 637
diff changeset
1522 #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
1523
2006
6f1adc77de02 GTK: Added DW_SIGNAL_HTML_CHANGED and DW_SIGNAL_HTML_RESULT.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2005
diff changeset
1524 /* Embedded HTML notifcations */
6f1adc77de02 GTK: Added DW_SIGNAL_HTML_CHANGED and DW_SIGNAL_HTML_RESULT.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2005
diff changeset
1525 #define DW_HTML_CHANGE_STARTED 1
6f1adc77de02 GTK: Added DW_SIGNAL_HTML_CHANGED and DW_SIGNAL_HTML_RESULT.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2005
diff changeset
1526 #define DW_HTML_CHANGE_REDIRECT 2
6f1adc77de02 GTK: Added DW_SIGNAL_HTML_CHANGED and DW_SIGNAL_HTML_RESULT.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2005
diff changeset
1527 #define DW_HTML_CHANGE_LOADING 3
6f1adc77de02 GTK: Added DW_SIGNAL_HTML_CHANGED and DW_SIGNAL_HTML_RESULT.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2005
diff changeset
1528 #define DW_HTML_CHANGE_COMPLETE 4
6f1adc77de02 GTK: Added DW_SIGNAL_HTML_CHANGED and DW_SIGNAL_HTML_RESULT.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2005
diff changeset
1529
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
1530 /* 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
1531 #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
1532 #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
1533 #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
1534 #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
1535
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
1536 /* 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
1537 #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
1538 #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
1539 #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
1540
2090
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1541 /* Library feature constants */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1542 #define DW_FEATURE_UNSUPPORTED -1
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1543 #define DW_FEATURE_DISABLED 0
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1544 #define DW_FEATURE_ENABLED 1
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1545
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1546 typedef enum
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1547 {
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1548 DW_FEATURE_HTML = 0, /* Supports the HTML Widget */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1549 DW_FEATURE_HTML_RESULT, /* Supports the DW_SIGNAL_HTML_RESULT callback */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1550 DW_FEATURE_WINDOW_BORDER, /* Supports custom window border sizes */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1551 DW_FEATURE_WINDOW_TRANSPARENCY, /* Supports window frame transparency */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1552 DW_FEATURE_DARK_MODE, /* Supports Dark Mode user interface */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1553 DW_FEATURE_MLE_AUTO_COMPLETE, /* Supports auto completion in Multi-line Edit boxes */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1554 DW_FEATURE_MLE_WORD_WRAP, /* Supports word wrapping in Multi-line Edit boxes */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1555 DW_FEATURE_CONTAINER_STRIPE, /* Supports striped line display in container widgets */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1556 DW_FEATURE_MDI, /* Supports Multiple Document Interface window frame */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1557 DW_FEATURE_NOTEBOOK_STATUS_TEXT, /* Supports status text area on notebook/tabbed controls */
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1558 DW_FEATURE_NOTIFICATION, /* Supports sending system notifications */
2127
663467f6eee4 Code cleanup: Add constants to header for dark mode, buffer sizes and Unicode support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2114
diff changeset
1559 DW_FEATURE_UTF8_UNICODE, /* Supports UTF8 encoded Unicode text */
2090
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1560 DW_FEATURE_MAX
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1561 } DWFEATURE;
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1562
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
1563 /* 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
1564 #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
1565
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
1566 #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
1567 /* Macros for converting from INT/UINT to and from POINTER without compiler warnings */
2171
6533fc42c951 Fix building on Windows 2000 and changes to avoid CRT warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2166
diff changeset
1568 #if _MSC_VER > 1500 || __GNUC_PREREQ(3, 1) || defined(__clang__)
1841
7677754a1ca5 Ok, slight changes to prevent missing stdint.h with
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1840
diff changeset
1569 #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
1570 /* 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
1571 * 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
1572 */
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1573 #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
1574 #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
1575 #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
1576 #define DW_POINTER_TO_UINT(a) ((unsigned int)(uintptr_t)a)
2132
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1577 #define DW_LONGLONG_TO_POINTER(a) ((void *)(intptr_t)a)
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1578 #define DW_POINTER_TO_LONGLONG(a) ((long long)(intptr_t)a)
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1579 #define DW_ULONGLONG_TO_POINTER(a) ((void *)(uintptr_t)a)
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1580 #define DW_POINTER_TO_ULONGLONG(a) ((unsigned long long)(uintptr_t)a)
1839
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1581 #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
1582 /* 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
1583 #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
1584 #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
1585 #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
1586 #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
1587 #else
1839
22225eb286e5 Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1802
diff changeset
1588 /* 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
1589 #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
1590 #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
1591 #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
1592 #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
1593 #endif
2132
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1594 #ifndef DW_LONGLONG_TO_POINTER
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1595 #define DW_LONGLONG_TO_POINTER(a) ((void *)a)
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1596 #define DW_POINTER_TO_LONGLONG(a) ((long long)a)
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1597 #define DW_ULONGLONG_TO_POINTER(a) ((void *)a)
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1598 #define DW_POINTER_TO_ULONGLONG(a) ((unsigned long long)a)
42f8ad7a89e8 Added DW_POINTER_TO_(U)LONGLONG and DW_(U)LONGLONG_TO_POINTER macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2127
diff changeset
1599 #endif
1658
6fe1e91da477 Added DW_POINTER() macro for casting parameters to (void *)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1616
diff changeset
1600 #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
1601
1535
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1602 #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
1603 #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
1604 #endif
2913bb58f439 Added DW_FCF_COMPOSITED frame creation flag, used only on Windows currently...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1528
diff changeset
1605
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1606 #ifndef API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1607 #define API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1608 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1609
1858
952a41463240 Make sure callbacks have their calling convention specified explicitly on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1853
diff changeset
1610 #ifndef DWSIGNAL
175
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
1611 #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
1612 #endif
175
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
1613
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
1614 /* 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
1615 #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
1616 #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
1617 #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
1618 #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
1619
1783
9de6d1cc8fb8 Put test program code into DEPRECATED #ifdef again to avoid build warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1769
diff changeset
1620 #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
1621
492
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1622 /* 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
1623 * 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
1624 */
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
1625 #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
1626 #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
1627 #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
1628 #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
1629 #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
1630 #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
1631 #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
1632 #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
1633 #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
1634 #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
1635
2070
370baf78abdc Mac: Added dw_app_id_set() and updates to generate the APP ID automatically.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2069
diff changeset
1636 /* Use the dbsoft.org application domain by default if not specified */
370baf78abdc Mac: Added dw_app_id_set() and updates to generate the APP ID automatically.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2069
diff changeset
1637 #define DW_APP_DOMAIN_DEFAULT "org.dbsoft.dwindows"
370baf78abdc Mac: Added dw_app_id_set() and updates to generate the APP ID automatically.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2069
diff changeset
1638
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1639 /* Public function prototypes */
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1640 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
1641 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
1642 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
1643 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
1644 int API dw_box_unpack(HWND handle);
2202
c677d728e143 GTK3: Switch to using GResource for compiled in image resources.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2171
diff changeset
1645 #ifdef DW_INCLUDE_DEPRECATED_RESOURCES
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1646 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
1647 #define dw_init(a, b, c) dw_int_init(&_resources, a, &b, &c)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1648 #else
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1649 int API dw_init(int newthread, int argc, char *argv[]);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1650 #endif
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1651 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
1652 void API dw_main_quit(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1653 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
1654 void API dw_main_iteration(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1655 void API dw_free(void *ptr);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1656 int API dw_window_show(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1657 int API dw_window_hide(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1658 int API dw_window_minimize(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1659 int API dw_window_raise(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1660 int API dw_window_lower(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1661 int API dw_window_destroy(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1662 void API dw_window_redraw(HWND handle);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1663 int API dw_window_set_font(HWND handle, const char *fontname);
731
6a589a1a42b0 Add dw_window_get_font()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 724
diff changeset
1664 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
1665 int API dw_window_set_color(HWND handle, unsigned long fore, unsigned long back);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1666 HWND API dw_window_new(HWND hwndOwner, const char *title, unsigned long flStyle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1667 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
1668 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
1669 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
1670 int API dw_scrollbox_get_range( HWND handle, int orient );
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1671 HWND API dw_groupbox_new(int type, int pad, const 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
1672 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
1673 HWND API dw_bitmap_new(unsigned long id);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1674 HWND API dw_bitmapbutton_new(const char *text, unsigned long id);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1675 HWND API dw_bitmapbutton_new_from_file(const char *text, unsigned long id, const char *filename);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1676 HWND API dw_bitmapbutton_new_from_data(const char *text, unsigned long id, const 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
1677 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
1678 HWND API dw_tree_new(unsigned long id);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1679 HWND API dw_text_new(const char *text, unsigned long id);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1680 HWND API dw_status_text_new(const char *text, unsigned long id);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1681 HWND API dw_mle_new(unsigned long id);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1682 HWND API dw_entryfield_new(const char *text, unsigned long id);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1683 HWND API dw_entryfield_password_new(const char *text, ULONG id);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1684 HWND API dw_combobox_new(const char *text, unsigned long id);
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1685 HWND API dw_button_new(const char *text, unsigned long id);
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1686 HWND API dw_spinbutton_new(const char *text, unsigned long id);
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1687 HWND API dw_radiobutton_new(const char *text, ULONG id);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1688 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
1689 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
1690 HWND API dw_scrollbar_new(int vertical, ULONG id);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1691 HWND API dw_checkbox_new(const char *text, unsigned long id);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1692 HWND API dw_listbox_new(unsigned long id, int multi);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1693 void API dw_listbox_append(HWND handle, const char *text);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1694 void API dw_listbox_insert(HWND handle, const char *text, int pos);
571
828e6a66c5c5 Add dw_listbox_list_append()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 567
diff changeset
1695 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
1696 void API dw_listbox_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1697 int API dw_listbox_count(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1698 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
1699 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
1700 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
1701 void API dw_listbox_get_text(HWND handle, unsigned int index, char *buffer, unsigned int length);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1702 void API dw_listbox_set_text(HWND handle, unsigned int index, const 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
1703 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
1704 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
1705 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
1706 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
1707 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
1708 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
1709 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
1710 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
1711 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
1712 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
1713 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
1714 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
1715 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
1716 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
1717 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
1718 void API dw_window_set_icon(HWND handle, HICN icon);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1719 void API dw_window_set_bitmap(HWND handle, unsigned long id, const char *filename);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1720 void API dw_window_set_bitmap_from_data(HWND handle, unsigned long id, const char *data, int len);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1721 char * API dw_window_get_text(HWND handle);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1722 void API dw_window_set_text(HWND handle, const char *text);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1723 void API dw_window_set_tooltip(HWND handle, const char *bubbletext);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1724 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
1725 void API dw_window_disable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1726 void API dw_window_enable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1727 void API dw_window_capture(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1728 void API dw_window_release(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1729 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
1730 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
1731 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
1732 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
1733 void API dw_window_click_default(HWND window, HWND next);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1734 unsigned int API dw_mle_import(HWND handle, const char *buffer, int startpoint);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1735 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
1736 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
1737 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
1738 void API dw_mle_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1739 void API dw_mle_freeze(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1740 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
1741 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
1742 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
1743 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
1744 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
1745 void API dw_mle_set_auto_complete(HWND handle, int state);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1746 int API dw_mle_search(HWND handle, const char *text, int point, unsigned long flags);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1747 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
1748 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
1749 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
1750 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
1751 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
1752 void API dw_checkbox_set(HWND handle, int value);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1753 HTREEITEM API dw_tree_insert(HWND handle, const char *title, HICN icon, HTREEITEM parent, void *itemdata);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1754 HTREEITEM API dw_tree_insert_after(HWND handle, HTREEITEM item, const 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
1755 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
1756 void API dw_tree_item_delete(HWND handle, HTREEITEM item);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1757 void API dw_tree_item_change(HWND handle, HTREEITEM item, const 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
1758 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
1759 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
1760 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
1761 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
1762 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
1763 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
1764 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
1765 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
1766 HICN API dw_icon_load(unsigned long module, unsigned long id);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1767 HICN API dw_icon_load_from_file(const char *filename);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1768 HICN API dw_icon_load_from_data(const char *data, int len);
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
1769 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
1770 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
1771 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
1772 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
1773 void API dw_container_set_column_width(HWND handle, int column, int width);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1774 void API dw_container_set_row_title(void *pointer, int row, const char *title);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1775 void API dw_container_change_row_title(HWND handle, int row, const 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
1776 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
1777 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
1778 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
1779 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
1780 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
1781 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
1782 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
1783 void API dw_container_scroll(HWND handle, int direction, long rows);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1784 void API dw_container_cursor(HWND handle, const 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
1785 void API dw_container_cursor_by_data(HWND handle, void *data);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1786 void API dw_container_delete_row(HWND handle, const 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
1787 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
1788 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
1789 void API dw_container_set_stripe(HWND handle, unsigned long oddcolor, unsigned long evencolor);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1790 void API dw_filesystem_set_column_title(HWND handle, const char *title);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1791 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
1792 void API dw_filesystem_set_item(HWND handle, void *pointer, int column, int row, void *data);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1793 void API dw_filesystem_set_file(HWND handle, void *pointer, int row, const 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
1794 void API dw_filesystem_change_item(HWND handle, int column, int row, void *data);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1795 void API dw_filesystem_change_file(HWND handle, int row, const 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
1796 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
1797 int API dw_filesystem_get_column_type(HWND handle, int column);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1798 void API dw_taskbar_insert(HWND handle, HICN icon, const char *bubbletext);
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
1799 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
1800 int API dw_screen_width(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1801 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
1802 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
1803 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
1804 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
1805 void API dw_notebook_page_destroy(HWND handle, unsigned int pageid);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1806 void API dw_notebook_page_set_text(HWND handle, unsigned long pageid, const char *text);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1807 void API dw_notebook_page_set_status_text(HWND handle, unsigned long pageid, const char *text);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1808 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
1809 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
1810 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
1811 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
1812 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
1813 float API dw_splitbar_get(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1814 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
1815 HMENUI API dw_menubar_new(HWND location);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1816 HWND API dw_menu_append_item(HMENUI menu, const 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
1817 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
1818 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
1819 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
1820 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
1821 void API dw_menu_destroy(HMENUI *menu);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1822 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
1823 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
1824 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
1825 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
1826 HMTX API dw_mutex_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1827 void API dw_mutex_close(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1828 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
1829 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
1830 void API dw_mutex_unlock(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1831 HEV API dw_event_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1832 int API dw_event_reset(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1833 int API dw_event_post(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1834 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
1835 int API dw_event_close (HEV *eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1836 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
1837 void API dw_thread_end(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1838 DWTID API dw_thread_id(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1839 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
1840 void API dw_shutdown(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1841 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
1842 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
1843 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
1844 unsigned long API dw_color_choose(unsigned long value);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1845 char * API dw_font_choose(const char *currfont);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1846 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
1847 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
1848 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
1849 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
1850 void API dw_draw_arc(HWND handle, HPIXMAP pixmap, int flags, int xorigin, int yorigin, int x1, int y1, int x2, int y2);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1851 void API dw_draw_text(HWND handle, HPIXMAP pixmap, int x, int y, const char *text);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1852 void API dw_font_text_extents_get(HWND handle, HPIXMAP pixmap, const char *text, int *width, int *height);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1853 void API dw_font_set_default(const char *fontname);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1854 void API dw_flush(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1855 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
1856 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
1857 HPIXMAP API dw_pixmap_new(HWND handle, unsigned long width, unsigned long height, int depth);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1858 HPIXMAP API dw_pixmap_new_from_file(HWND handle, const char *filename);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1859 HPIXMAP API dw_pixmap_new_from_data(HWND handle, const char *data, int len);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1860 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
1861 void API dw_pixmap_set_transparent_color( HPIXMAP pixmap, ULONG color );
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1862 int API dw_pixmap_set_font(HPIXMAP pixmap, const char *fontname);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1863 void API dw_pixmap_destroy(HPIXMAP pixmap);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1864 void API dw_beep(int freq, int dur);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1865 void API dw_debug(const char *format, ...);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1866 int API dw_messagebox(const char *title, int flags, const char *format, ...);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1867 void API dw_environment_query(DWEnv *env);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1868 int API dw_exec(const char *program, int type, char **params);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1869 int API dw_browse(const char *url);
2035
ea303d356419 Mac: Const changes to match the Windows changes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2034
diff changeset
1870 char * API dw_file_browse(const char *title, const char *defpath, const char *ext, int flags);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1871 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
1872 char * API dw_app_dir(void);
2105
10c22853b479 Add dw_app_id_set() dwtest call to set application name and ID for sending notifications.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2090
diff changeset
1873 int API dw_app_id_set(const char *appid, const char *appname);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1874 DWDialog * API dw_dialog_new(void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1875 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
1876 void * API dw_dialog_wait(DWDialog *dialog);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1877 void API dw_window_set_data(HWND window, const char *dataname, void *data);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1878 void * API dw_window_get_data(HWND window, const char *dataname);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1879 int API dw_module_load(const char *name, HMOD *handle);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1880 int API dw_module_symbol(HMOD handle, const char *name, void**func);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1881 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
1882 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
1883 void API dw_timer_disconnect(int id);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1884 void API dw_signal_connect(HWND window, const char *signame, void *sigfunc, void *data);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1885 void API dw_signal_connect_data(HWND window, const 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
1886 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
1887 void API dw_signal_disconnect_by_data(HWND window, void *data);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1888 void API dw_signal_disconnect_by_name(HWND window, const char *signame);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1889 HEV API dw_named_event_new(const char *name);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1890 HEV API dw_named_event_get(const char *name);
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
1891 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
1892 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
1893 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
1894 int API dw_named_event_close(HEV eve);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1895 HSHM API dw_named_memory_new(void **dest, int size, const char *name);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1896 HSHM API dw_named_memory_get(void **dest, int size, const char *name);
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
1897 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
1898 void API dw_html_action(HWND hwnd, int action);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1899 int API dw_html_raw(HWND hwnd, const char *string);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1900 int API dw_html_url(HWND hwnd, const char *url);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1901 int API dw_html_javascript_run(HWND hwnd, const char *script, void *scriptdata);
584
420c6c94abc7 Added dw_html_* functionality for embedding HTML pages in Dynamic Windows
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 571
diff changeset
1902 HWND API dw_html_new(unsigned long id);
613
f7d318cffc3e Fix compiler error
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 612
diff changeset
1903 char * API dw_clipboard_get_text(void);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1904 void API dw_clipboard_set_text(const char *str, int len);
596
a8ea3d68b9ec Update version
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 584
diff changeset
1905 HWND API dw_calendar_new(unsigned long id);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1906 void API dw_calendar_set_date(HWND window, unsigned int year, unsigned int month, unsigned int day);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1907 void API dw_calendar_get_date(HWND window, unsigned int *year, unsigned int *month, unsigned int *day);
2036
48b91f535f82 GTK: More const changes... a few more commits to finish.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2035
diff changeset
1908 HPRINT API dw_print_new(const 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
1909 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
1910 void API dw_print_cancel(HPRINT print);
2114
251d050d306b Change dw_notification_new() to take an image path instead of an in-memory HPIXMAP.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2105
diff changeset
1911 HWND API dw_notification_new(const char *title, const char *imagepath, const char *description, ...);
2066
2c2530f8cbef Initial design for system notification support on GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2036
diff changeset
1912 int API dw_notification_send(HWND notification);
2034
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1913 wchar_t * API dw_utf8_to_wchar(const char *utf8string);
89d62197124b Visual C in C++ mode complains about missing const declarations in paramaters.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2006
diff changeset
1914 char * API dw_wchar_to_utf8(const wchar_t *wstring);
2090
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1915 int API dw_feature_get(DWFEATURE feature);
cdb94c6fd611 Added initial implmentation of dw_feature_get/set() on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2083
diff changeset
1916 int API dw_feature_set(DWFEATURE feature, int state);
1887
09860ba329a4 Divided thread initialization and deinitialization into separate
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1871
diff changeset
1917 /* Exported for language bindings */
09860ba329a4 Divided thread initialization and deinitialization into separate
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1871
diff changeset
1918 void API _dw_init_thread(void);
09860ba329a4 Divided thread initialization and deinitialization into separate
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1871
diff changeset
1919 void API _dw_deinit_thread(void);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1920
2000
77e43d71eaa7 Changes to allow mixing C and C++ when including dw.h.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1991
diff changeset
1921 #ifdef __cplusplus
77e43d71eaa7 Changes to allow mixing C and C++ when including dw.h.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1991
diff changeset
1922 }
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1923 #endif
2000
77e43d71eaa7 Changes to allow mixing C and C++ when including dw.h.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1991
diff changeset
1924
77e43d71eaa7 Changes to allow mixing C and C++ when including dw.h.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 1991
diff changeset
1925 #endif