annotate dw.h @ 531:79696a852401

Added DW_POINTER_DEFAULT, this will return the pointer to the default system state and no longer override the window's cursors.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 23 Mar 2004 20:50:41 +0000
parents 2ff26b697877
children 1e60e98a9168
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1 /* $Id$ */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
3 #ifndef _H_DW
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
4 #define _H_DW
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
5
15
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
6 /* Dynamic Windows version numbers */
146
add6b46310c2 Upped DW's revision to 1.0.0. This is the final API specification for
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 140
diff changeset
7 #define DW_MAJOR_VERSION 1
add6b46310c2 Upped DW's revision to 1.0.0. This is the final API specification for
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 140
diff changeset
8 #define DW_MINOR_VERSION 0
15
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
9 #define DW_SUB_VERSION 0
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
10
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
11 /* 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
12 * 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
13 * 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
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
15 #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
16 #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
17 #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
18 #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
19 #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
20 #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
21 #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
22 #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
23 #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
24 #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
25 #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
26 #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
27 #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
28 #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
29 #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
30 #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
31 #define DW_CLR_DEFAULT 16
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
32
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
33 /* 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
34 #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
35 #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
36 #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
37 #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
38 #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
39 #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
40 #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
41 #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
42 #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
43 #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
44 #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
45 #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
46 #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
47 #define DW_SIGNAL_VALUE_CHANGED "value_changed"
330
b87afd126cb7 Add switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 328
diff changeset
48 #define DW_SIGNAL_SWITCH_PAGE "switch-page"
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
49 #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
50 #define DW_SIGNAL_TREE_EXPAND "tree-expand"
306
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
51
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
52 #if defined(__OS2__) || defined(__WIN32__) || defined(__MAC__) || defined(WINNT) || defined(__EMX__)
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
53 /* OS/2, Windows or MacOS */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
54
525
2ff26b697877 Fixes for building with Innotek GCC. Will have to check for regressions
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 514
diff changeset
55 #if (defined(__IBMC__) || defined(_System)) && !defined(API)
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
56 #define API _System
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
57 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
58
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
59 /* Used internally */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
60 #define TYPEBOX 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
61 #define TYPEITEM 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
62
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
63 #define SIZESTATIC 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
64 #define SIZEEXPAND 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
65
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
66 #define SPLITBAR_WIDTH 4
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
67 #define BUBBLE_HELP_MAX 256
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
68
90
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
69 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
70 {
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
71 struct _user_data *next;
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
72 void *data;
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
73 char *varname;
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
74 } UserData;
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
75
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
76 /* OS/2 Specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
77 #if defined(__OS2__) || defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
78 #define INCL_DOS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
79 #define INCL_WIN
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
80 #define INCL_GPI
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
81
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
82 #include <os2.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
83
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
84 #define DW_DT_LEFT DT_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
85 #define DW_DT_QUERYEXTENT DT_QUERYEXTENT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
86 #define DW_DT_UNDERSCORE DT_UNDERSCORE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
87 #define DW_DT_STRIKEOUT DT_STRIKEOUT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
88 #define DW_DT_TEXTATTRS DT_TEXTATTRS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
89 #define DW_DT_EXTERNALLEADING DT_EXTERNALLEADING
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
90 #define DW_DT_CENTER DT_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
91 #define DW_DT_RIGHT DT_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
92 #define DW_DT_TOP DT_TOP
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
93 #define DW_DT_VCENTER DT_VCENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
94 #define DW_DT_BOTTOM DT_BOTTOM
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
95 #define DW_DT_HALFTONE DT_HALFTONE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
96 #define DW_DT_MNEMONIC DT_MNEMONIC
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
97 #define DW_DT_WORDBREAK DT_WORDBREAK
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
98 #define DW_DT_ERASERECT DT_ERASERECT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
99
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
100 #ifndef FCF_CLOSEBUTTON
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
101 #define FCF_CLOSEBUTTON 0x04000000L
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
102 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
103
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
104 #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
105 #define DW_FCF_SYSMENU (FCF_SYSMENU | FCF_CLOSEBUTTON)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
106 #define DW_FCF_MENU FCF_MENU
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
107 #define DW_FCF_SIZEBORDER FCF_SIZEBORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
108 #define DW_FCF_MINBUTTON FCF_MINBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
109 #define DW_FCF_MAXBUTTON FCF_MAXBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
110 #define DW_FCF_MINMAX FCF_MINMAX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
111 #define DW_FCF_VERTSCROLL FCF_VERTSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
112 #define DW_FCF_HORZSCROLL FCF_HORZSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
113 #define DW_FCF_DLGBORDER FCF_DLGBORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
114 #define DW_FCF_BORDER FCF_BORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
115 #define DW_FCF_SHELLPOSITION FCF_SHELLPOSITION
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
116 #define DW_FCF_TASKLIST FCF_TASKLIST
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
117 #define DW_FCF_NOBYTEALIGN FCF_NOBYTEALIGN
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
118 #define DW_FCF_NOMOVEWITHOWNER FCF_NOMOVEWITHOWNER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
119 #define DW_FCF_SYSMODAL FCF_SYSMODAL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
120 #define DW_FCF_HIDEBUTTON FCF_HIDEBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
121 #define DW_FCF_HIDEMAX FCF_HIDEMAX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
122 #define DW_FCF_AUTOICON FCF_AUTOICON
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
123 #define DW_FCF_MAXIMIZE WS_MAXIMIZED
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
124 #define DW_FCF_MINIMIZE WS_MINIMIZED
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
125
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
126 #define DW_CFA_BITMAPORICON CFA_BITMAPORICON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
127 #define DW_CFA_STRING CFA_STRING
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
128 #define DW_CFA_ULONG CFA_ULONG
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
129 #define DW_CFA_TIME CFA_TIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
130 #define DW_CFA_DATE CFA_DATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
131 #define DW_CFA_CENTER CFA_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
132 #define DW_CFA_LEFT CFA_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
133 #define DW_CFA_RIGHT CFA_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
134 #define DW_CFA_HORZSEPARATOR CFA_HORZSEPARATOR
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
135 #define DW_CFA_SEPARATOR CFA_SEPARATOR
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
136 #define DW_CFA_STRINGANDICON 0
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
137
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
138 #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
139 #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
140
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
141 #define DW_LS_MULTIPLESEL LS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
142
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
143 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
144
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
145 #define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
146
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
147 #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
148 #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
149 #define DW_POINTER_CLOCK SPTR_WAIT
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
150
60
61869769c050 Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 54
diff changeset
151 #define DW_OS2_NEW_WINDOW 1
61869769c050 Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 54
diff changeset
152
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
153 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
154 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
155 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
156 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
157 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
158
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
159 #define DW_MB_WARNING MB_WARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
160 #define DW_MB_ERROR MB_ERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
161 #define DW_MB_INFORMATION MB_INFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
162 #define DW_MB_QUESTION MB_QUERY
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
163
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
164 /* 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
165 #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
166 #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
167 #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
168 #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
169 #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
170 #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
171 #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
172 #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
173 #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
174 #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
175 #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
176 #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
177 #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
178 #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
179 #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
180 #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
181 #define VK_MULTIPLY ('*' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
182 #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
183 #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
184 #define VK_SUBTRACT ('-' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
185 #define VK_DECIMAL ('.' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
186 #define VK_DIVIDE ('/' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
187 #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
188 #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
189 #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
190 #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
191 #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
192 #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
193 #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
194 #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
195 #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
196 #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
197 #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
198 #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
199 #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
200 #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
201 #define VK_NUMPAD9 ('9' + 128)
446
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
202 #define VK_BACK VK_BACKSPACE
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
203 #define VK_LMENU VK_MENU
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
204 #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
205
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
206 typedef struct _window_data {
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
207 PFNWP oldproc;
90
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
208 UserData *root;
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
209 HWND clickdefault;
60
61869769c050 Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 54
diff changeset
210 ULONG flags;
67
ab9b0fa6c66e Focus fixes and removal of several hack in the OS/2 code base.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 63
diff changeset
211 void *data;
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
212 } WindowData;
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
213
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
214 typedef struct _hpixmap {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
215 unsigned long width, height;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
216 HDC hdc;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
217 HPS hps;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
218 HBITMAP hbm;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
219 HWND handle;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
220 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
221
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
222 typedef void *HTREEITEM;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
223 typedef HWND HMENUI;
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
224 typedef HMODULE HMOD;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
225 typedef unsigned short UWORD;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
226
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
227 extern HAB dwhab;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
228 extern HMQ dwhmq;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
229 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
230
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
231 #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
232 /* MacOS specific section */
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
233 #include <Carbon/Carbon.h>
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
234
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
235 typedef ControlRef HWND;
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
236 typedef ThreadID DWTID;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
237 typedef unsigned long ULONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
238 typedef long LONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
239 typedef unsigned short USHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
240 typedef short SHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
241 typedef unsigned short UWORD;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
242 typedef short WORD ;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
243 typedef unsigned char UCHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
244 typedef char CHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
245 typedef unsigned UINT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
246 typedef int INT;
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
247 typedef void *HMTX;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
248 typedef void *HEV;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
249 typedef void *HMOD;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
250 typedef void *HPIXMAP;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
251 typedef void *HTREEITEM;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
252 typedef void *HMENUI;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
253
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
254 typedef struct _window_data {
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
255 UserData *root;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
256 HWND clickdefault;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
257 ULONG flags;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
258 void *data;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
259 } WindowData;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
260
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
261 #define DW_DT_LEFT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
262 #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
263 #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
264 #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
265 #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
266 #define DW_DT_EXTERNALLEADING 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
267 #define DW_DT_CENTER 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
268 #define DW_DT_RIGHT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
269 #define DW_DT_TOP 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
270 #define DW_DT_VCENTER 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
271 #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
272 #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
273 #define DW_DT_MNEMONIC 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
274 #define DW_DT_WORDBREAK 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
275 #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
276
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
277 #define DW_FCF_TITLEBAR 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
278 #define DW_FCF_SYSMENU 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
279 #define DW_FCF_MENU 0
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
280 #define DW_FCF_SIZEBORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
281 #define DW_FCF_MINBUTTON 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
282 #define DW_FCF_MAXBUTTON 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
283 #define DW_FCF_MINMAX 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
284 #define DW_FCF_VERTSCROLL 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
285 #define DW_FCF_HORZSCROLL 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
286 #define DW_FCF_DLGBORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
287 #define DW_FCF_BORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
288 #define DW_FCF_SHELLPOSITION 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
289 #define DW_FCF_TASKLIST 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
290 #define DW_FCF_NOBYTEALIGN 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
291 #define DW_FCF_NOMOVEWITHOWNER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
292 #define DW_FCF_SYSMODAL 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
293 #define DW_FCF_HIDEBUTTON 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
294 #define DW_FCF_HIDEMAX 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
295 #define DW_FCF_AUTOICON 0
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
296 #define DW_FCF_MAXIMIZE 0
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
297 #define DW_FCF_MINIMIZE 0
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
298
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
299 #define DW_CFA_BITMAPORICON 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
300 #define DW_CFA_STRING (1 << 1)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
301 #define DW_CFA_ULONG (1 << 2)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
302 #define DW_CFA_TIME (1 << 3)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
303 #define DW_CFA_DATE (1 << 4)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
304 #define DW_CFA_CENTER (1 << 5)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
305 #define DW_CFA_LEFT (1 << 6)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
306 #define DW_CFA_RIGHT (1 << 7)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
307 #define DW_CFA_STRINGANDICON (1 << 8)
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
308 #define DW_CFA_HORZSEPARATOR 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
309 #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
310
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
311 #define DW_CRA_SELECTED 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
312 #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
313
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
314 #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
315
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
316 #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
317
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
318 #define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
319
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
320 #define DW_POINTER_DEFAULT 0
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
321 #define DW_POINTER_ARROW 0
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
322 #define DW_POINTER_CLOCK watchCursor
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
323
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
324 #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
325
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
326 /* 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
327 #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
328 #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
329 #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
330 #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
331
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
332 #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
333 #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
334 #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
335 #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
336
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
337
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
338 #endif
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
339
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
340 /* Windows specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
341 #if defined(__WIN32__) || defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
342 #include <windows.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
343 #include <commctrl.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
344
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
345 #if defined(MSVC) && !defined(API)
177
e3dd5c765775 Fixes for Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 175
diff changeset
346 #define API _cdecl
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
347 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
348
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
349 #define DW_DT_LEFT SS_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
350 #define DW_DT_QUERYEXTENT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
351 #define DW_DT_UNDERSCORE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
352 #define DW_DT_STRIKEOUT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
353 #define DW_DT_TEXTATTRS 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
354 #define DW_DT_EXTERNALLEADING 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
355 #define DW_DT_CENTER SS_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
356 #define DW_DT_RIGHT SS_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
357 #define DW_DT_TOP 0
88
58d8139fe0a2 Added vertical center logic for static text controls on windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 70
diff changeset
358 #define DW_DT_VCENTER SS_NOPREFIX
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
359 #define DW_DT_BOTTOM 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
360 #define DW_DT_HALFTONE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
361 #define DW_DT_MNEMONIC 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
362 #define DW_DT_WORDBREAK 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
363 #define DW_DT_ERASERECT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
364
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
365 #define DW_FCF_TITLEBAR WS_CAPTION
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
366 #define DW_FCF_SYSMENU WS_SYSMENU
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
367 #define DW_FCF_MENU 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
368 #define DW_FCF_SIZEBORDER WS_THICKFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
369 #define DW_FCF_MINBUTTON WS_MINIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
370 #define DW_FCF_MAXBUTTON WS_MAXIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
371 #define DW_FCF_MINMAX (WS_MINIMIZEBOX|WS_MAXIMIZEBOX)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
372 #define DW_FCF_VERTSCROLL WS_VSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
373 #define DW_FCF_HORZSCROLL WS_HSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
374 #define DW_FCF_DLGBORDER WS_DLGFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
375 #define DW_FCF_BORDER WS_BORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
376 #define DW_FCF_SHELLPOSITION 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
377 #define DW_FCF_TASKLIST WS_VSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
378 #define DW_FCF_NOBYTEALIGN 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
379 #define DW_FCF_NOMOVEWITHOWNER 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
380 #define DW_FCF_SYSMODAL 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
381 #define DW_FCF_HIDEBUTTON WS_MINIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
382 #define DW_FCF_HIDEMAX 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
383 #define DW_FCF_AUTOICON 0
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
384 #define DW_FCF_MAXIMIZE WS_MAXIMIZE
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
385 #define DW_FCF_MINIMIZE WS_MINIMIZE
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
386
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
387 #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
388 #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
389 #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
390 #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
391 #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
392 #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
393 #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
394 #define DW_CFA_RIGHT (1 << 7)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
395 #define DW_CFA_STRINGANDICON (1 << 8)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
396 #define DW_CFA_HORZSEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
397 #define DW_CFA_SEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
398
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
399 #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
400 #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
401
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
402 #define DW_LS_MULTIPLESEL LBS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
403
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
404 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
405
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
406 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
407
531
79696a852401 Added DW_POINTER_DEFAULT, this will return the pointer to the default
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
408 #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
409 #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
410 #define DW_POINTER_CLOCK 32514
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
411
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
412 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
413 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
414 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
415 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
416 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
417
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
418 #define DW_MB_WARNING MB_ICONWARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
419 #define DW_MB_ERROR MB_ICONERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
420 #define DW_MB_INFORMATION MB_ICONINFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
421 #define DW_MB_QUESTION MB_ICONQUESTION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
422
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
423 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
424 #define KC_CTRL (1)
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
425 #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
426 #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
427
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
428 #define STATICCLASSNAME "STATIC"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
429 #define COMBOBOXCLASSNAME "COMBOBOX"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
430 #define LISTBOXCLASSNAME "LISTBOX"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
431 #define BUTTONCLASSNAME "BUTTON"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
432 #define POPUPMENUCLASSNAME "POPUPMENU"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
433 #define EDITCLASSNAME "EDIT"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
434 #define FRAMECLASSNAME "FRAME"
204
098ed34d41fb The basics of the new scrollbar code on Windows, and dw_main_iteration().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 203
diff changeset
435 #define SCROLLBARCLASSNAME "SCROLLBAR"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
436
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
437 #define ClassName "dynamicwindows"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
438 #define SplitbarClassName "dwsplitbar"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
439 #define ObjectClassName "dwobjectclass"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
440 #define DefaultFont NULL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
441
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
442 typedef struct _color {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
443 int fore;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
444 int back;
39
3aa9ef0b3996 Added focus fixes and set-focus fixes on all three platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 38
diff changeset
445 HWND combo, buddy;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
446 int user;
88
58d8139fe0a2 Added vertical center logic for static text controls on windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 70
diff changeset
447 int vcenter;
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
448 HWND clickdefault;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
449 HBRUSH hbrush;
455
dd04a4d781f8 Fixes GDI font object leak when calling dw_window_set_font() on
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 449
diff changeset
450 HFONT hfont;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
451 char fontname[128];
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
452 WNDPROC pOldProc;
90
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
453 UserData *root;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
454 } ColorInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
455
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
456 typedef struct _notebookpage {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
457 ColorInfo cinfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
458 TC_ITEM item;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
459 HWND hwnd;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
460 int realid;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
461 } NotebookPage;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
462
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
463 typedef HANDLE HMTX;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
464 typedef HANDLE HEV;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
465 typedef HANDLE HMOD;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
466
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
467 typedef struct _container {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
468 ColorInfo cinfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
469 ULONG *flags;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
470 WNDPROC pOldProc;
70
5e7a4d93d8d7 Implemented dw_container_optimize() on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 69
diff changeset
471 ULONG columns;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
472 } ContainerInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
473
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
474 typedef struct _hpixmap {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
475 unsigned long width, height;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
476 HBITMAP hbm;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
477 HDC hdc;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
478 HWND handle;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
479 void *bits;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
480 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
481
238
13d3de3f1e83 Rewrote the menu code to not return structs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 236
diff changeset
482 typedef HWND HMENUI;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
483 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
484
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
485 typedef struct _item {
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
486 /* Item type - Box or Item */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
487 int type;
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
488 /* Handle to Frame or Window */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
489 HWND hwnd;
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
490 /* Width and Height of static size */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
491 int width, height, origwidth, origheight;
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
492 /* Size Type - Static or Expand */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
493 int hsize, vsize;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
494 /* Padding */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
495 int pad;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
496 /* Ratio of current item */
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
497 float xratio, yratio;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
498 } Item;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
499
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
500 typedef struct _box {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
501 #if defined(__WIN32__) || defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
502 ColorInfo cinfo;
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 22
diff changeset
503 #elif defined(__OS2__) || defined(__EMX__)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
504 PFNWP oldproc;
90
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
505 UserData *root;
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
506 HWND hwndtitle;
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
507 int titlebar;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
508 #endif
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
509 /* Number of items in the box */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
510 int count;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
511 /* Box type - horizontal or vertical */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
512 int type;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
513 /* Padding */
456
935436731b41 Hybrid fix, seems the last change illiminated some important code that
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 455
diff changeset
514 int pad, parentpad, grouppadx, grouppady;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
515 /* Groupbox */
34
b03b24bb95f8 Added dw_window_default() to set the default focus widget in a dialog.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 33
diff changeset
516 HWND grouphwnd;
b03b24bb95f8 Added dw_window_default() to set the default focus widget in a dialog.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 33
diff changeset
517 /* Default item */
b03b24bb95f8 Added dw_window_default() to set the default focus widget in a dialog.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 33
diff changeset
518 HWND defaultitem;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
519 /* Used as temporary storage in the calculation stage */
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
520 int upx, upy, minheight, minwidth;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
521 /* Ratio in this box */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
522 float xratio, yratio, parentxratio, parentyratio;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
523 /* Used for calculating individual item ratios */
7
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
524 int width, height;
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
525 /* Any combinations of flags describing the box */
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
526 unsigned long flags;
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
527 /* Array of item structures */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
528 struct _item *items;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
529 } Box;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
530
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
531 typedef struct _bubblebutton {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
532 #if defined(__WIN32__) || defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
533 ColorInfo cinfo;
61
4a02842f8074 Added shift-tab and up/down/left/right button support. And added missing
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 60
diff changeset
534 int checkbox;
90
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
535 WNDPROC pOldProc;
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
536 #endif
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
537 #if defined(__OS2__) || defined(__EMX__)
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
538 PFNWP pOldProc;
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
539 UserData *root;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
540 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
541 unsigned long id;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
542 char bubbletext[BUBBLE_HELP_MAX];
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
543 } BubbleButton;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
544
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
545 #else
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
546 /* GTK Specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
547 #include <gtk/gtk.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
548 #include <gdk/gdkx.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
549 #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
550 #include <gdk/gdkkeysyms.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
551 #include <pthread.h>
158
a4ae65d5b301 Include dlfcn.h on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 157
diff changeset
552 #include <dlfcn.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
553
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
554 #define DW_DT_LEFT 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
555 #define DW_DT_UNDERSCORE (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
556 #define DW_DT_STRIKEOUT (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
557 #define DW_DT_CENTER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
558 #define DW_DT_RIGHT (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
559 #define DW_DT_TOP (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
560 #define DW_DT_VCENTER (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
561 #define DW_DT_BOTTOM (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
562 #define DW_DT_HALFTONE (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
563 #define DW_DT_MNEMONIC (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
564 #define DW_DT_WORDBREAK (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
565 #define DW_DT_ERASERECT (1 << 11)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
566
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
567 /* 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
568 #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
569 #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
570 #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
571
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
572 #define DW_FCF_TITLEBAR 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
573 #define DW_FCF_SYSMENU (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
574 #define DW_FCF_MENU (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
575 #define DW_FCF_SIZEBORDER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
576 #define DW_FCF_MINBUTTON (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
577 #define DW_FCF_MAXBUTTON (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
578 #define DW_FCF_MINMAX (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
579 #define DW_FCF_VERTSCROLL (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
580 #define DW_FCF_HORZSCROLL (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
581 #define DW_FCF_DLGBORDER (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
582 #define DW_FCF_BORDER (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
583 #define DW_FCF_SHELLPOSITION (1 << 11)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
584 #define DW_FCF_TASKLIST (1 << 12)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
585 #define DW_FCF_NOBYTEALIGN (1 << 13)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
586 #define DW_FCF_NOMOVEWITHOWNER (1 << 14)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
587 #define DW_FCF_SYSMODAL (1 << 15)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
588 #define DW_FCF_HIDEBUTTON (1 << 16)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
589 #define DW_FCF_HIDEMAX (1 << 17)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
590 #define DW_FCF_AUTOICON (1 << 18)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
591 #define DW_FCF_MAXIMIZE (1 << 19)
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
592 #define DW_FCF_MINIMIZE (1 << 20)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
593
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
594 #define DW_CFA_BITMAPORICON 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
595 #define DW_CFA_STRING (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
596 #define DW_CFA_ULONG (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
597 #define DW_CFA_TIME (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
598 #define DW_CFA_DATE (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
599 #define DW_CFA_CENTER (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
600 #define DW_CFA_LEFT (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
601 #define DW_CFA_RIGHT (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
602 #define DW_CFA_HORZSEPARATOR (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
603 #define DW_CFA_SEPARATOR (1 << 9)
471
fa05a1a0f9b3 Support for "column-click" signal
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 456
diff changeset
604 #define DW_CFA_STRINGANDICON (1 << 10)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
605
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
606 #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
607 #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
608
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
609 #define DW_LS_MULTIPLESEL 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
610
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
611 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
612
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
613 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
614
390
2dbed2673df0 Change mouse cursor definitions under GTK. DW_POINTER_ARROW now uses "default"
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 384
diff changeset
615 #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
616 #define DW_POINTER_CLOCK GDK_WATCH
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
617
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
618 #define HWND_DESKTOP ((HWND)0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
619
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
620 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
621 #define DW_MB_OK (1 << 1)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
622 #define DW_MB_OKCANCEL (1 << 2)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
623 #define DW_MB_YESNO (1 << 3)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
624 #define DW_MB_YESNOCANCEL (1 << 4)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
625
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
626 #define DW_MB_WARNING (1 << 10)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
627 #define DW_MB_ERROR (1 << 11)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
628 #define DW_MB_INFORMATION (1 << 12)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
629 #define DW_MB_QUESTION (1 << 13)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
630
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
631 /* Virtual Key Codes */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
632 #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
633 #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
634 #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
635 #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
636 #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
637 #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
638 #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
639 #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
640 #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
641 #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
642 #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
643 #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
644 #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
645 #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
646 #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
647 #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
648 #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
649 #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
650 #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
651 #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
652 #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
653 #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
654 #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
655 #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
656 #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
657 #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
658 #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
659 #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
660 #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
661 #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
662 #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
663 #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
664 #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
665 #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
666 #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
667 #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
668 #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
669 #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
670 #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
671 #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
672 #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
673 #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
674 #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
675 #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
676 #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
677 #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
678 #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
679 #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
680 #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
681 #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
682 #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
683 #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
684 #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
685 #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
686 #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
687 #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
688 #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
689 #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
690 #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
691 #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
692 #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
693 #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
694 #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
695 #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
696 #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
697 #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
698 #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
699 #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
700 #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
701 #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
702 #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
703 #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
704 #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
705 #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
706 #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
707 #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
708 #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
709 #define VK_RMENU GDK_Menu
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
710
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
711 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
712 #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
713 #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
714 #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
715
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
716 typedef GtkWidget *HWND;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
717 #ifndef _ENVRNMNT_H
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
718 typedef unsigned long ULONG;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
719 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
720 typedef long LONG;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
721 typedef unsigned short USHORT;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
722 typedef short SHORT;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
723 typedef unsigned short UWORD;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
724 typedef short WORD ;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
725 typedef unsigned char UCHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
726 typedef char CHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
727 typedef unsigned UINT;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
728 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
729 typedef pthread_mutex_t *HMTX;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
730 typedef struct _dw_unix_event {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
731 pthread_mutex_t mutex;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
732 pthread_cond_t event;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
733 pthread_t thread;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
734 int alive;
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
735 int posted;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
736 } *HEV;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
737 typedef pthread_t DWTID;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
738 typedef void * HMOD;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
739
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
740 typedef struct _hpixmap {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
741 unsigned long width, height;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
742 GdkPixmap *pixmap;
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
743 HWND handle;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
744 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
745
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
746 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
747 typedef void *HTREEITEM;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
748
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
749 typedef struct _resource_struct {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
750 long resource_max, *resource_id;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
751 char **resource_data;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
752 } DWResources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
753
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
754 #if !defined(DW_RESOURCES) || defined(BUILD_DLL)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
755 static DWResources _resources = { 0, 0, 0 };
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
756 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
757 extern DWResources _resources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
758 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
759
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
760 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
761
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
762 #if !defined(__OS2__) && !defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
763 typedef struct _CDATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
764 {
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
765 UCHAR day;
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
766 UCHAR month;
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
767 USHORT year;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
768 } CDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
769 typedef CDATE *PCDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
770
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
771 typedef struct _CTIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
772 {
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
773 UCHAR hours;
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
774 UCHAR minutes;
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
775 UCHAR seconds;
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
776 UCHAR ucReserved;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
777 } CTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
778 typedef CTIME *PCTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
779 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
780
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
781 #if defined(__OS2__) || defined(__WIN32__) || defined(WINNT) || defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
782 typedef unsigned long DWTID;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
783 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
784
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
785 typedef struct _dwenv {
15
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
786 /* Operating System Name and DW Build Date/Time */
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
787 char osName[30], buildDate[30], buildTime[30];
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
788 /* Versions and builds */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
789 short MajorVersion, MinorVersion, MajorBuild, MinorBuild;
15
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
790 /* Dynamic Window version */
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
791 short DWMajorVersion, DWMinorVersion, DWSubVersion;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
792 } DWEnv;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
793
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
794
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
795 typedef struct _dwexpose {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
796 int x, y;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
797 int width, height;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
798 } DWExpose;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
799
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
800 typedef struct _dwdialog {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
801 HEV eve;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
802 int done;
494
edcf9ec12f8c Fixed a bug in the dialog system on Unix where, gtk_main() could exit
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 492
diff changeset
803 int method;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
804 void *data, *result;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
805 } DWDialog;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
806
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
807 #define DW_SIGNAL_FUNC(a) ((void *)a)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
808
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
809 #define DW_DESKTOP HWND_DESKTOP
7
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
810 #define DW_MINIMIZED 1
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
811
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
812 #define DW_BUTTON1_MASK 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
813 #define DW_BUTTON2_MASK (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
814 #define DW_BUTTON3_MASK (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
815
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
816 #define DW_EXEC_CON 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
817 #define DW_EXEC_GUI 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
818
449
787cc1e27897 Add support for directory browsing under Win32. DW_DIRECTORY_OPEN can be
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 446
diff changeset
819 #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
820 #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
821 #define DW_DIRECTORY_OPEN 2
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
822
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
823 #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
824 #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
825
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
826 /* 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
827 #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
828 #define BOXVERT DW_VERT
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
829
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
830 #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
831 #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
832 #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
833 #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
834
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
835 /* return values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
836 #define DW_MB_RETURN_OK 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
837 #define DW_MB_RETURN_YES 1
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
838 #define DW_MB_RETURN_NO 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
839 #define DW_MB_RETURN_CANCEL 2
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
840
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
841 #define DW_PIXMAP_WIDTH(x) (x ? x->width : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
842 #define DW_PIXMAP_HEIGHT(x) (x ? x->height : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
843
62
2be5174bdb5d Sync with latest DW code. Tab and RGB fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 61
diff changeset
844 #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
845 #define DW_RGB_TRANSPARENT (0x0F000000)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
846 #define DW_RGB_MASK (0x00FFFFFF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
847 #define DW_RED_MASK (0x000000FF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
848 #define DW_GREEN_MASK (0x0000FF00)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
849 #define DW_BLUE_MASK (0x00FF0000)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
850 #define DW_RED_VALUE(a) (a & DW_RED_MASK)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
851 #define DW_GREEN_VALUE(a) ((a & DW_GREEN_MASK) >> 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
852 #define DW_BLUE_VALUE(a) ((a & DW_BLUE_MASK) >> 16)
62
2be5174bdb5d Sync with latest DW code. Tab and RGB fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 61
diff changeset
853 #define DW_RGB(a, b, c) (0xF0000000 | a | b << 8 | c << 16)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
854
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
855 #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
856 #define DW_NOMENU 0
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
857
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 22
diff changeset
858 #if defined(__OS2__) || defined(__EMX__)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
859 #define DW_OS2_RGB(a) ((DW_RED_VALUE(a) << 16) | (DW_GREEN_VALUE(a) << 8) | DW_BLUE_VALUE(a))
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
860 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
861
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
862 #ifndef API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
863 #define API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
864 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
865
175
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
866 #define DWSIGNAL API
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
867
492
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
868 /* 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
869 * 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
870 */
9354c460d76b Added some type declarations to allow better interoperability with Regina
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 487
diff changeset
871 #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
872 #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
873 #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
874 #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
875 #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
876 #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
877 #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
878 #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
879 #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
880 #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
881
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
882 /* Public function prototypes */
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
883 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
884 void API dw_box_pack_end(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad);
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
885 #if !defined(__OS2__) && !defined(__WIN32__) && !defined(__EMX__) && !defined(__MAC__)
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
886 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
887 #define dw_init(a, b, c) dw_int_init(&_resources, a, &b, &c)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
888 #else
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
889 int API dw_init(int newthread, int argc, char *argv[]);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
890 #endif
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
891 void API dw_main(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
892 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
893 void API dw_main_iteration(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
894 void API dw_free(void *ptr);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
895 int API dw_window_show(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
896 int API dw_window_hide(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
897 int API dw_window_minimize(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
898 int API dw_window_raise(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
899 int API dw_window_lower(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
900 int API dw_window_destroy(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
901 void API dw_window_redraw(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
902 int API dw_window_set_font(HWND handle, char *fontname);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
903 int API dw_window_set_color(HWND handle, unsigned long fore, unsigned long back);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
904 HWND API dw_window_new(HWND hwndOwner, char *title, unsigned long flStyle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
905 HWND API dw_box_new(int type, int pad);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
906 HWND API dw_groupbox_new(int type, int pad, char *title);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
907 HWND API dw_mdi_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
908 HWND API dw_bitmap_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
909 HWND API dw_bitmapbutton_new(char *text, unsigned long id);
279
984db8aefd7f Build fixes for GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 278
diff changeset
910 HWND API dw_bitmapbutton_new_from_file(char *text, unsigned long id, char *filename);
350
2216e65ad2ae Removed slider flags and container selection flags from the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
911 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
912 HWND API dw_tree_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
913 HWND API dw_text_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
914 HWND API dw_status_text_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
915 HWND API dw_mle_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
916 HWND API dw_entryfield_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
917 HWND API dw_entryfield_password_new(char *text, ULONG id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
918 HWND API dw_combobox_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
919 HWND API dw_button_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
920 HWND API dw_spinbutton_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
921 HWND API dw_radiobutton_new(char *text, ULONG id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
922 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
923 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
924 HWND API dw_scrollbar_new(int vertical, ULONG id);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
925 HWND API dw_checkbox_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
926 HWND API dw_listbox_new(unsigned long id, int multi);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
927 void API dw_listbox_append(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
928 void API dw_listbox_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
929 int API dw_listbox_count(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
930 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
931 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
932 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
933 void API dw_listbox_get_text(HWND handle, unsigned int index, char *buffer, unsigned int length);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
934 void API dw_listbox_set_text(HWND handle, unsigned int index, char *buffer);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
935 unsigned int API dw_listbox_selected(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
936 int API dw_listbox_selected_multi(HWND handle, int where);
510
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
937 unsigned int API dw_percent_get_range(HWND handle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
938 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
939 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
940 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
941 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
942 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
943 void API dw_scrollbar_set_range(HWND handle, unsigned int range, unsigned int visible);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
944 void API dw_window_set_pos(HWND handle, unsigned long x, unsigned 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
945 void API dw_window_set_size(HWND handle, unsigned long width, unsigned long height);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
946 void API dw_window_set_pos_size(HWND handle, unsigned long x, unsigned long y, unsigned long width, unsigned long height);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
947 void API dw_window_get_pos_size(HWND handle, unsigned long *x, unsigned long *y, unsigned long *width, unsigned long *height);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
948 void API dw_window_set_style(HWND handle, unsigned long style, unsigned long mask);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
949 void API dw_window_set_icon(HWND handle, unsigned long id);
278
df0665ba147f Initial code for dw_bitmapbutton_new_from_file and added filename parameter
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 267
diff changeset
950 void API dw_window_set_bitmap(HWND handle, unsigned long id, char *filename);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
951 char * API dw_window_get_text(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
952 void API dw_window_set_text(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
953 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
954 void API dw_window_disable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
955 void API dw_window_enable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
956 void API dw_window_capture(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
957 void API dw_window_release(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
958 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
959 void API dw_window_set_pointer(HWND handle, int pointertype);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
960 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
961 void API dw_window_click_default(HWND window, HWND next);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
962 unsigned int API dw_mle_import(HWND handle, char *buffer, int startpoint);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
963 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
964 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
965 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
966 void API dw_mle_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
967 void API dw_mle_freeze(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
968 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
969 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
970 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
971 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
972 void API dw_mle_set_word_wrap(HWND handle, int state);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
973 int API dw_mle_search(HWND handle, char *text, int point, unsigned long flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
974 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
975 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
976 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
977 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
978 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
979 void API dw_checkbox_set(HWND handle, int value);
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
980 HTREEITEM API dw_tree_insert(HWND handle, char *title, unsigned long icon, HTREEITEM parent, void *itemdata);
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
981 HTREEITEM API dw_tree_insert_after(HWND handle, HTREEITEM item, char *title, unsigned long icon, HTREEITEM parent, void *itemdata);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
982 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
983 void API dw_tree_item_delete(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
984 void API dw_tree_item_change(HWND handle, HTREEITEM item, char *title, unsigned long icon);
710f82598210 Change function names to be inline with Mark Hessling's Rexx/DW.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 508
diff changeset
985 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
986 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
987 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
988 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
989 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
990 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
991 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
992 int API dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
993 unsigned long API dw_icon_load(unsigned long module, unsigned long id);
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 241
diff changeset
994 unsigned long API dw_icon_load_from_file(char *filename);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
995 void API dw_icon_free(unsigned long handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
996 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
997 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
998 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
999 void API dw_container_set_column_width(HWND handle, int column, int width);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1000 void API dw_container_set_row_title(void *pointer, int row, char *title);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1001 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
1002 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
1003 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
1004 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
1005 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
1006 void API dw_container_scroll(HWND handle, int direction, long rows);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1007 void API dw_container_cursor(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1008 void API dw_container_delete_row(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1009 void API dw_container_optimize(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1010 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
1011 void API dw_filesystem_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
1012 void API dw_filesystem_set_file(HWND handle, void *pointer, int row, char *filename, unsigned long icon);
503
f3ed8dda02f8 Added dw_filesystem_change_*() and testcase code from Mark in dwtest.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 494
diff changeset
1013 void API dw_filesystem_change_item(HWND handle, int column, int row, void *data);
f3ed8dda02f8 Added dw_filesystem_change_*() and testcase code from Mark in dwtest.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 494
diff changeset
1014 void API dw_filesystem_change_file(HWND handle, int row, char *filename, unsigned long 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
1015 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
1016 int API dw_filesystem_get_column_type(HWND handle, int column);
507
c607eb385e58 Added missing calling conventions. Thanks Bastian for pointing this out.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 503
diff changeset
1017 void API dw_taskbar_insert(HWND handle, unsigned long icon, char *bubbletext);
c607eb385e58 Added missing calling conventions. Thanks Bastian for pointing this out.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 503
diff changeset
1018 void API dw_taskbar_delete(HWND handle, unsigned long icon);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1019 int API dw_screen_width(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1020 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
1021 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
1022 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
1023 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
1024 void API dw_notebook_page_destroy(HWND handle, unsigned int pageid);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1025 void API dw_notebook_page_set_text(HWND handle, unsigned long pageid, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1026 void API dw_notebook_page_set_status_text(HWND handle, unsigned long pageid, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1027 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
1028 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
1029 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
1030 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
1031 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
1032 float API dw_splitbar_get(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1033 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
1034 HMENUI API dw_menubar_new(HWND location);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1035 HWND API dw_menu_append_item(HMENUI menu, char *title, unsigned long id, unsigned long flags, int end, int check, HMENUI submenu);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1036 void API dw_menu_item_set_check(HMENUI menu, unsigned long id, int check);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1037 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
1038 void API dw_menu_destroy(HMENUI *menu);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1039 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
1040 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
1041 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
1042 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
1043 HMTX API dw_mutex_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1044 void API dw_mutex_close(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1045 void API dw_mutex_lock(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1046 void API dw_mutex_unlock(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1047 HEV API dw_event_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1048 int API dw_event_reset(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1049 int API dw_event_post(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1050 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
1051 int API dw_event_close (HEV *eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1052 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
1053 void API dw_thread_end(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1054 DWTID API dw_thread_id(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1055 void API dw_exit(int exitcode);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1056 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
1057 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
1058 void API dw_color_background_set(unsigned long value);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1059 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
1060 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
1061 void API dw_draw_rect(HWND handle, HPIXMAP pixmap, int fill, int x, int y, int width, int height);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1062 void API dw_draw_text(HWND handle, HPIXMAP pixmap, int x, int y, char *text);
514
08d770271709 More function name changes for Rexx/DW compatibility.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 513
diff changeset
1063 void API dw_font_text_extents_get(HWND handle, HPIXMAP pixmap, char *text, int *width, int *height);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1064 void API dw_flush(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1065 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);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1066 HPIXMAP API dw_pixmap_new(HWND handle, unsigned long width, unsigned long height, int depth);
241
00d2b1bcf036 Added dw_pixmap_new_from_file().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 239
diff changeset
1067 HPIXMAP API dw_pixmap_new_from_file(HWND handle, char *filename);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1068 HPIXMAP API dw_pixmap_grab(HWND handle, ULONG id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1069 void API dw_pixmap_destroy(HPIXMAP pixmap);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1070 void API dw_beep(int freq, int dur);
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1071 int API dw_messagebox(char *title, int flags, char *format, ...);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1072 void API dw_environment_query(DWEnv *env);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1073 int API dw_exec(char *program, int type, char **params);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1074 int API dw_browse(char *url);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1075 char * API dw_file_browse(char *title, char *defpath, char *ext, int flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1076 char * API dw_user_dir(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1077 DWDialog * API dw_dialog_new(void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1078 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
1079 void * API dw_dialog_wait(DWDialog *dialog);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1080 void API dw_window_set_data(HWND window, char *dataname, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1081 void * API dw_window_get_data(HWND window, char *dataname);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1082 int API dw_module_load(char *name, HMOD *handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1083 int API dw_module_symbol(HMOD handle, char *name, void**func);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1084 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
1085 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
1086 void API dw_timer_disconnect(int id);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1087 void API dw_signal_connect(HWND window, char *signame, void *sigfunc, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1088 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
1089 void API dw_signal_disconnect_by_data(HWND window, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1090 void API dw_signal_disconnect_by_name(HWND window, char *signame);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1091
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1092 #endif