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