annotate loader/wine/windef.h @ 33263:5f527a9a9521

Add an exit function. This function will allow performing clean-up operations. (MPlayer calls guiDone() before exiting, but only if the GUI has been initialized, i.e. if guiInit() has been called successfully. Any exit_player()/exit_player_with_rc() after GUI's cfg_read() until guiInit(), or any exit_player() during guiInit() itself will end the GUI without calling guiDone(). This exit function will at least handle abortions during guiInit() itself. It will be called twice in case of an guiExit() after GUI initialization - first directly, next by guiDone() via MPlayer's exit_player_with_rc().)
author ib
date Tue, 03 May 2011 12:19:22 +0000
parents 77723c0716bb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
2 * Basic types definitions
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4 * Copyright 1996 Alexandre Julliard
15166
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 13182
diff changeset
5 *
18783
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15166
diff changeset
6 * Modified for use with MPlayer, detailed changelog at
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15166
diff changeset
7 * http://svn.mplayerhq.hu/mplayer/trunk/
15166
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 13182
diff changeset
8 *
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
9 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
10
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
11 #ifndef MPLAYER_WINDEF_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
12 #define MPLAYER_WINDEF_H
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14 # include "config.h"
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 /* Misc. constants. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18 #ifdef FALSE
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19 #undef FALSE
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 #define FALSE 0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 #ifdef TRUE
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24 #undef TRUE
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26 #define TRUE 1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 #ifdef NULL
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29 #undef NULL
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31 #define NULL 0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33 /* Macros to map Winelib names to the correct implementation name */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 /* Note that Winelib is purely Win32. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 # define WINELIB_NAME_AW(func) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 func##_must_be_suffixed_with_W_or_A_in_this_context \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38 func##_must_be_suffixed_with_W_or_A_in_this_context
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 # define DECL_WINELIB_TYPE_AW(type) /* nothing */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42 #ifndef NONAMELESSSTRUCT
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43 # define NONAMELESSSTRUCT
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44 #endif /* !defined(NONAMELESSSTRUCT) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46 #ifndef NONAMELESSUNION
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
47 # define NONAMELESSUNION
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48 #endif /* !defined(NONAMELESSUNION) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 #ifndef NONAMELESSSTRUCT
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51 #define DUMMYSTRUCTNAME
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
52 #define DUMMYSTRUCTNAME1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53 #define DUMMYSTRUCTNAME2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 #define DUMMYSTRUCTNAME3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
55 #define DUMMYSTRUCTNAME4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56 #define DUMMYSTRUCTNAME5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 #else /* !defined(NONAMELESSSTRUCT) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
58 #define DUMMYSTRUCTNAME s
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59 #define DUMMYSTRUCTNAME1 s1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
60 #define DUMMYSTRUCTNAME2 s2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
61 #define DUMMYSTRUCTNAME3 s3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
62 #define DUMMYSTRUCTNAME4 s4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
63 #define DUMMYSTRUCTNAME5 s5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64 #endif /* !defined(NONAMELESSSTRUCT) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
65
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
66 #ifndef NONAMELESSUNION
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
67 #define DUMMYUNIONNAME
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 #define DUMMYUNIONNAME1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
69 #define DUMMYUNIONNAME2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
70 #define DUMMYUNIONNAME3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
71 #define DUMMYUNIONNAME4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
72 #define DUMMYUNIONNAME5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
73 #else /* !defined(NONAMELESSUNION) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
74 #define DUMMYUNIONNAME u
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
75 #define DUMMYUNIONNAME1 u1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
76 #define DUMMYUNIONNAME2 u2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
77 #define DUMMYUNIONNAME3 u3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
78 #define DUMMYUNIONNAME4 u4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
79 #define DUMMYUNIONNAME5 u5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
80 #endif /* !defined(NONAMELESSUNION) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
81
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
82 /* Calling conventions definitions */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
83
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
84 #ifdef __i386__
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
85 # if defined(__GNUC__) && ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
86 #define __stdcall __attribute__((__stdcall__))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
87 #define __cdecl __attribute__((__cdecl__))
27757
b5a46071062a Replace all occurrences of '__volatile__' and '__volatile' by plain 'volatile'.
diego
parents: 26045
diff changeset
88 # define RESTORE_ES __asm__ volatile("pushl %ds\n\tpopl %es")
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
89 # else
186
8f393ca085bf 'You' bug fixed
arpi_esp
parents: 128
diff changeset
90 // # error You need gcc >= 2.7 to build Wine on a 386
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
91 # endif
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27757
diff changeset
92 #else
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
93 # define __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
94 # define __cdecl
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 24422
diff changeset
95 # define RESTORE_ES
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
96 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
97
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
98 #define CALLBACK __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
99 #define WINAPI __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
100 #define APIPRIVATE __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
101 #define PASCAL __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
102 #define pascal __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
103 #define _pascal __stdcall
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
104 #if !defined(__CYGWIN__) && !defined(__MINGW32__)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
105 #define _stdcall __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
106 #define _fastcall __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
107 #define __fastcall __stdcall
7182
0bfd137f492a fix some warnings on cygwin, patch by Sylvain Petreolle <spetreolle@yahoo.fr>
atmos4
parents: 6302
diff changeset
108 #endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
109 #define __export __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
110 #define CDECL __cdecl
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
111 #define _CDECL __cdecl
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
112 #define cdecl __cdecl
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
113 #if !defined(__CYGWIN__) && !defined(__MINGW32__)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
114 #define _cdecl __cdecl
6302
aa9aca7772de cygwin & darwin fixes by Joey Parrish <joey@yunamusic.com>
arpi
parents: 3548
diff changeset
115 #endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
116 #define WINAPIV __cdecl
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
117 #define APIENTRY WINAPI
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
118
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
119 #if !defined(__CYGWIN__) && !defined(__MINGW32__)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
120 #define __declspec(x)
6302
aa9aca7772de cygwin & darwin fixes by Joey Parrish <joey@yunamusic.com>
arpi
parents: 3548
diff changeset
121 #endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
122 #define dllimport
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
123 #define dllexport
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
124
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
125 #define CONST const
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
126
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
127 /* Standard data types. These are the same for emulator and library. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
128
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
129 typedef void VOID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
130 typedef int INT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
131 typedef unsigned int UINT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
132 typedef unsigned short WORD;
13182
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 9978
diff changeset
133 typedef unsigned long DWORD;
25cb0d6432d4 loader gcc warning fixes and avifile sync
rathann
parents: 9978
diff changeset
134 typedef unsigned long ULONG;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
135 typedef unsigned char BYTE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
136 typedef long LONG;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
137 typedef short SHORT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
138 typedef unsigned short USHORT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
139 typedef char CHAR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
140 typedef unsigned char UCHAR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
141
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
142 typedef LONG SCODE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
143
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
144 /* Some systems might have wchar_t, but we really need 16 bit characters */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
145 typedef unsigned short WCHAR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
146 typedef int WIN_BOOL;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
147 typedef double DATE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
148 typedef double DOUBLE;
128
28091b3caff9 DLL loader updated from avifile-0.60beta4
arpi_esp
parents: 1
diff changeset
149 typedef long long LONGLONG;
28091b3caff9 DLL loader updated from avifile-0.60beta4
arpi_esp
parents: 1
diff changeset
150 typedef unsigned long long ULONGLONG;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
151
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
152 /* FIXME: Wine does not compile with strict on, therefore strict
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
153 * handles are presently only usable on machines where sizeof(UINT) ==
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
154 * sizeof(void*). HANDLEs are supposed to be void* but a large amount
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
155 * of WINE code operates on HANDLES as if they are UINTs. So to WINE
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
156 * they exist as UINTs but to the Winelib user who turns on strict,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
157 * they exist as void*. If there is a size difference between UINT and
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
158 * void* then things get ugly. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
159 #ifdef STRICT
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
160 typedef VOID* HANDLE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
161 #else
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
162 typedef UINT HANDLE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
163 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
164
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
165
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
166 typedef HANDLE *LPHANDLE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
167
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
168 /* Integer types. These are the same for emulator and library. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
169 typedef UINT WPARAM;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
170 typedef LONG LPARAM;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
171 typedef LONG HRESULT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
172 typedef LONG LRESULT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
173 typedef WORD ATOM;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
174 typedef WORD CATCHBUF[9];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
175 typedef WORD *LPCATCHBUF;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
176 typedef HANDLE HHOOK;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
177 typedef HANDLE HMONITOR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
178 typedef DWORD LCID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
179 typedef WORD LANGID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
180 typedef DWORD LCTYPE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
181 typedef float FLOAT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
182
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
183 /* Pointers types. These are the same for emulator and library. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
184 /* winnt types */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
185 typedef VOID *PVOID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
186 typedef const void *PCVOID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
187 typedef CHAR *PCHAR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
188 typedef UCHAR *PUCHAR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
189 typedef BYTE *PBYTE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
190 typedef WORD *PWORD;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
191 typedef USHORT *PUSHORT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
192 typedef SHORT *PSHORT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
193 typedef ULONG *PULONG;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
194 typedef LONG *PLONG;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
195 typedef DWORD *PDWORD;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
196 /* common win32 types */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
197 typedef CHAR *LPSTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
198 typedef CHAR *PSTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
199 typedef const CHAR *LPCSTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
200 typedef const CHAR *PCSTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
201 typedef WCHAR *LPWSTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
202 typedef WCHAR *PWSTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
203 typedef const WCHAR *LPCWSTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
204 typedef const WCHAR *PCWSTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
205 typedef BYTE *LPBYTE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
206 typedef WORD *LPWORD;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
207 typedef DWORD *LPDWORD;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
208 typedef LONG *LPLONG;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
209 typedef VOID *LPVOID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
210 typedef const VOID *LPCVOID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
211 typedef INT *PINT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
212 typedef INT *LPINT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
213 typedef UINT *PUINT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
214 typedef UINT *LPUINT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
215 typedef FLOAT *PFLOAT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
216 typedef FLOAT *LPFLOAT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
217 typedef WIN_BOOL *PWIN_BOOL;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
218 typedef WIN_BOOL *LPWIN_BOOL;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
219
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
220 /* Special case: a segmented pointer is just a pointer in the user's code. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
221
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
222 typedef DWORD SEGPTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
223
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
224 /* Handle types that exist both in Win16 and Win32. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
225
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
226 #ifdef STRICT
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
227 #define DECLARE_HANDLE(a) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
228 typedef struct a##__ { int unused; } *a; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
229 typedef a *P##a; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
230 typedef a *LP##a
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
231 #else /*STRICT*/
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
232 #define DECLARE_HANDLE(a) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
233 typedef HANDLE a; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
234 typedef a *P##a; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
235 typedef a *LP##a
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
236 #endif /*STRICT*/
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
237
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
238 DECLARE_HANDLE(HACMDRIVERID);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
239 DECLARE_HANDLE(HACMDRIVER);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
240 DECLARE_HANDLE(HACMOBJ);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
241 DECLARE_HANDLE(HACMSTREAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
242 DECLARE_HANDLE(HMETAFILEPICT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
243
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
244 DECLARE_HANDLE(HACCEL);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
245 DECLARE_HANDLE(HBITMAP);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
246 DECLARE_HANDLE(HBRUSH);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
247 DECLARE_HANDLE(HCOLORSPACE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
248 DECLARE_HANDLE(HCURSOR);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
249 DECLARE_HANDLE(HDC);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
250 DECLARE_HANDLE(HDROP);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
251 DECLARE_HANDLE(HDRVR);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
252 DECLARE_HANDLE(HDWP);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
253 DECLARE_HANDLE(HENHMETAFILE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
254 DECLARE_HANDLE(HFILE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
255 DECLARE_HANDLE(HFONT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
256 DECLARE_HANDLE(HICON);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
257 DECLARE_HANDLE(HINSTANCE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
258 DECLARE_HANDLE(HKEY);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
259 DECLARE_HANDLE(HMENU);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
260 DECLARE_HANDLE(HMETAFILE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
261 DECLARE_HANDLE(HMIDI);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
262 DECLARE_HANDLE(HMIDIIN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
263 DECLARE_HANDLE(HMIDIOUT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
264 DECLARE_HANDLE(HMIDISTRM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
265 DECLARE_HANDLE(HMIXER);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
266 DECLARE_HANDLE(HMIXEROBJ);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
267 DECLARE_HANDLE(HMMIO);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
268 DECLARE_HANDLE(HPALETTE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
269 DECLARE_HANDLE(HPEN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
270 DECLARE_HANDLE(HQUEUE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
271 DECLARE_HANDLE(HRGN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
272 DECLARE_HANDLE(HRSRC);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
273 DECLARE_HANDLE(HTASK);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
274 DECLARE_HANDLE(HWAVE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
275 DECLARE_HANDLE(HWAVEIN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
276 DECLARE_HANDLE(HWAVEOUT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
277 DECLARE_HANDLE(HWINSTA);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
278 DECLARE_HANDLE(HDESK);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
279 DECLARE_HANDLE(HWND);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
280 DECLARE_HANDLE(HKL);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
281 DECLARE_HANDLE(HIC);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
282 DECLARE_HANDLE(HRASCONN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
283
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
284 /* Handle types that must remain interchangeable even with strict on */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
285
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
286 typedef HINSTANCE HMODULE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
287 typedef HANDLE HGDIOBJ;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
288 typedef HANDLE HGLOBAL;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
289 typedef HANDLE HLOCAL;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
290 typedef HANDLE GLOBALHANDLE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
291 typedef HANDLE LOCALHANDLE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
292
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
293 /* Callback function pointers types */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
294 //WIN_BOOL CALLBACK DATEFMT_ENUMPROCA(LPSTR);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
295
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
296 typedef WIN_BOOL CALLBACK (* DATEFMT_ENUMPROCA)(LPSTR);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
297 typedef WIN_BOOL CALLBACK (* DATEFMT_ENUMPROCW)(LPWSTR);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
298 DECL_WINELIB_TYPE_AW(DATEFMT_ENUMPROC)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
299 typedef WIN_BOOL CALLBACK (*DLGPROC)(HWND,UINT,WPARAM,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
300 typedef LRESULT CALLBACK (*DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
301 typedef INT CALLBACK (*EDITWORDBREAKPROCA)(LPSTR,INT,INT,INT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
302 typedef INT CALLBACK (*EDITWORDBREAKPROCW)(LPWSTR,INT,INT,INT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
303 DECL_WINELIB_TYPE_AW(EDITWORDBREAKPROC)
31549
77723c0716bb Declare FARPROC/PROC/FARPROC16/PROC16 parameter lists as 'void'.
diego
parents: 30497
diff changeset
304 /* Parameter list (sometimes incorrectly) declared void to silence warnings. */
77723c0716bb Declare FARPROC/PROC/FARPROC16/PROC16 parameter lists as 'void'.
diego
parents: 30497
diff changeset
305 typedef LRESULT CALLBACK (*FARPROC)(void);
77723c0716bb Declare FARPROC/PROC/FARPROC16/PROC16 parameter lists as 'void'.
diego
parents: 30497
diff changeset
306 typedef INT CALLBACK (*PROC)(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
307 typedef WIN_BOOL CALLBACK (*GRAYSTRINGPROC)(HDC,LPARAM,INT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
308 typedef LRESULT CALLBACK (*HOOKPROC)(INT,WPARAM,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
309 typedef WIN_BOOL CALLBACK (*PROPENUMPROCA)(HWND,LPCSTR,HANDLE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
310 typedef WIN_BOOL CALLBACK (*PROPENUMPROCW)(HWND,LPCWSTR,HANDLE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
311 DECL_WINELIB_TYPE_AW(PROPENUMPROC)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
312 typedef WIN_BOOL CALLBACK (*PROPENUMPROCEXA)(HWND,LPCSTR,HANDLE,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
313 typedef WIN_BOOL CALLBACK (*PROPENUMPROCEXW)(HWND,LPCWSTR,HANDLE,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
314 DECL_WINELIB_TYPE_AW(PROPENUMPROCEX)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
315 typedef WIN_BOOL CALLBACK (* TIMEFMT_ENUMPROCA)(LPSTR);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
316 typedef WIN_BOOL CALLBACK (* TIMEFMT_ENUMPROCW)(LPWSTR);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
317 DECL_WINELIB_TYPE_AW(TIMEFMT_ENUMPROC)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
318 typedef VOID CALLBACK (*TIMERPROC)(HWND,UINT,UINT,DWORD);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
319 typedef WIN_BOOL CALLBACK (*WNDENUMPROC)(HWND,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
320 typedef LRESULT CALLBACK (*WNDPROC)(HWND,UINT,WPARAM,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
321
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
322 /*----------------------------------------------------------------------------
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
323 ** FIXME: Better isolate Wine's reliance on the xxx16 type definitions.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
324 ** For now, we just isolate them to make the situation clear.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
325 **--------------------------------------------------------------------------*/
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
326 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
327 * Basic type definitions for 16 bit variations on Windows types.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
328 * These types are provided mostly to insure compatibility with
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
329 * 16 bit windows code.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
330 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
331
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
332 #ifndef MPLAYER_WINDEF16_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
333 #define MPLAYER_WINDEF16_H
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
334
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
335 #include "windef.h"
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
336
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
337 /* Standard data types */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
338
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
339 typedef short INT16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
340 typedef unsigned short UINT16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
341 typedef unsigned short WIN_BOOL16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
342
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
343 typedef UINT16 HANDLE16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
344 typedef HANDLE16 *LPHANDLE16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
345
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
346 typedef UINT16 WPARAM16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
347 typedef INT16 *LPINT16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
348 typedef UINT16 *LPUINT16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
349
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
350 #define DECLARE_HANDLE16(a) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
351 typedef HANDLE16 a##16; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
352 typedef a##16 *P##a##16; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
353 typedef a##16 *NP##a##16; \
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27757
diff changeset
354 typedef a##16 *LP##a##16
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
355
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
356 DECLARE_HANDLE16(HACMDRIVERID);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
357 DECLARE_HANDLE16(HACMDRIVER);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
358 DECLARE_HANDLE16(HACMOBJ);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
359 DECLARE_HANDLE16(HACMSTREAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
360 DECLARE_HANDLE16(HMETAFILEPICT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
361
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
362 DECLARE_HANDLE16(HACCEL);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
363 DECLARE_HANDLE16(HBITMAP);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
364 DECLARE_HANDLE16(HBRUSH);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
365 DECLARE_HANDLE16(HCOLORSPACE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
366 DECLARE_HANDLE16(HCURSOR);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
367 DECLARE_HANDLE16(HDC);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
368 DECLARE_HANDLE16(HDROP);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
369 DECLARE_HANDLE16(HDRVR);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
370 DECLARE_HANDLE16(HDWP);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
371 DECLARE_HANDLE16(HENHMETAFILE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
372 DECLARE_HANDLE16(HFILE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
373 DECLARE_HANDLE16(HFONT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
374 DECLARE_HANDLE16(HICON);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
375 DECLARE_HANDLE16(HINSTANCE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
376 DECLARE_HANDLE16(HKEY);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
377 DECLARE_HANDLE16(HMENU);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
378 DECLARE_HANDLE16(HMETAFILE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
379 DECLARE_HANDLE16(HMIDI);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
380 DECLARE_HANDLE16(HMIDIIN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
381 DECLARE_HANDLE16(HMIDIOUT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
382 DECLARE_HANDLE16(HMIDISTRM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
383 DECLARE_HANDLE16(HMIXER);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
384 DECLARE_HANDLE16(HMIXEROBJ);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
385 DECLARE_HANDLE16(HMMIO);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
386 DECLARE_HANDLE16(HPALETTE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
387 DECLARE_HANDLE16(HPEN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
388 DECLARE_HANDLE16(HQUEUE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
389 DECLARE_HANDLE16(HRGN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
390 DECLARE_HANDLE16(HRSRC);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
391 DECLARE_HANDLE16(HTASK);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
392 DECLARE_HANDLE16(HWAVE);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
393 DECLARE_HANDLE16(HWAVEIN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
394 DECLARE_HANDLE16(HWAVEOUT);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
395 DECLARE_HANDLE16(HWINSTA);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
396 DECLARE_HANDLE16(HDESK);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
397 DECLARE_HANDLE16(HWND);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
398 DECLARE_HANDLE16(HKL);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
399 DECLARE_HANDLE16(HIC);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
400 DECLARE_HANDLE16(HRASCONN);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
401 #undef DECLARE_HANDLE16
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
402
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
403 typedef HINSTANCE16 HMODULE16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
404 typedef HANDLE16 HGDIOBJ16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
405 typedef HANDLE16 HGLOBAL16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
406 typedef HANDLE16 HLOCAL16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
407
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
408 /* The SIZE structure */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
409 typedef struct
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
410 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
411 INT16 cx;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
412 INT16 cy;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
413 } SIZE16, *PSIZE16, *LPSIZE16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
414
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
415 /* The POINT structure */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
416
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
417 typedef struct
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
418 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
419 INT16 x;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
420 INT16 y;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
421 } POINT16, *PPOINT16, *LPPOINT16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
422
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
423 /* The RECT structure */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
424
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
425 typedef struct
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
426 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
427 INT16 left;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
428 INT16 top;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
429 INT16 right;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
430 INT16 bottom;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
431 } RECT16, *LPRECT16;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
432
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
433 /* Callback function pointers types */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
434
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
435 typedef LRESULT CALLBACK (*DRIVERPROC16)(DWORD,HDRVR16,UINT16,LPARAM,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
436 typedef WIN_BOOL16 CALLBACK (*DLGPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
437 typedef INT16 CALLBACK (*EDITWORDBREAKPROC16)(LPSTR,INT16,INT16,INT16);
31549
77723c0716bb Declare FARPROC/PROC/FARPROC16/PROC16 parameter lists as 'void'.
diego
parents: 30497
diff changeset
438 /* Parameter list (sometimes incorrectly) declared void to silence warnings. */
77723c0716bb Declare FARPROC/PROC/FARPROC16/PROC16 parameter lists as 'void'.
diego
parents: 30497
diff changeset
439 typedef LRESULT CALLBACK (*FARPROC16)(void);
77723c0716bb Declare FARPROC/PROC/FARPROC16/PROC16 parameter lists as 'void'.
diego
parents: 30497
diff changeset
440 typedef INT16 CALLBACK (*PROC16)(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
441 typedef WIN_BOOL16 CALLBACK (*GRAYSTRINGPROC16)(HDC16,LPARAM,INT16);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
442 typedef LRESULT CALLBACK (*HOOKPROC16)(INT16,WPARAM16,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
443 typedef WIN_BOOL16 CALLBACK (*PROPENUMPROC16)(HWND16,SEGPTR,HANDLE16);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
444 typedef VOID CALLBACK (*TIMERPROC16)(HWND16,UINT16,UINT16,DWORD);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
445 typedef LRESULT CALLBACK (*WNDENUMPROC16)(HWND16,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
446 typedef LRESULT CALLBACK (*WNDPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
447
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
448 #endif /* MPLAYER_WINDEF16_H */
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
449
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
450 /* Define some empty macros for compatibility with Windows code. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
451
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
452 /* Macro for structure packing. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
453
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
454 #ifdef __GNUC__
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
455 #define WINE_PACKED __attribute__((packed))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
456 #define WINE_UNUSED __attribute__((unused))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
457 #define WINE_NORETURN __attribute__((noreturn))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
458 #else
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
459 #define WINE_PACKED /* nothing */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
460 #define WINE_UNUSED /* nothing */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
461 #define WINE_NORETURN /* nothing */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
462 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
463
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
464 /* Macros to split words and longs. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
465
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
466 #define LOBYTE(w) ((BYTE)(WORD)(w))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
467 #define HIBYTE(w) ((BYTE)((WORD)(w) >> 8))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
468
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
469 #define LOWORD(l) ((WORD)(DWORD)(l))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
470 #define HIWORD(l) ((WORD)((DWORD)(l) >> 16))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
471
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
472 #define SLOWORD(l) ((INT16)(LONG)(l))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
473 #define SHIWORD(l) ((INT16)((LONG)(l) >> 16))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
474
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
475 #define MAKEWORD(low,high) ((WORD)(((BYTE)(low)) | ((WORD)((BYTE)(high))) << 8))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
476 #define MAKELONG(low,high) ((LONG)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
477 #define MAKELPARAM(low,high) ((LPARAM)MAKELONG(low,high))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
478 #define MAKEWPARAM(low,high) ((WPARAM)MAKELONG(low,high))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
479 #define MAKELRESULT(low,high) ((LRESULT)MAKELONG(low,high))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
480 #define MAKEINTATOM(atom) ((LPCSTR)MAKELONG((atom),0))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
481
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
482 #define SELECTOROF(ptr) (HIWORD(ptr))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
483 #define OFFSETOF(ptr) (LOWORD(ptr))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
484
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
485 /* macros to set parts of a DWORD (not in the Windows API) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
486 #define SET_LOWORD(dw,val) ((dw) = ((dw) & 0xffff0000) | LOWORD(val))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
487 #define SET_LOBYTE(dw,val) ((dw) = ((dw) & 0xffffff00) | LOBYTE(val))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
488 #define SET_HIBYTE(dw,val) ((dw) = ((dw) & 0xffff00ff) | (LOWORD(val) & 0xff00))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
489 #define ADD_LOWORD(dw,val) ((dw) = ((dw) & 0xffff0000) | LOWORD((DWORD)(dw)+(val)))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
490
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
491 /* Macros to access unaligned or wrong-endian WORDs and DWORDs. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
492 /* Note: These macros are semantically broken, at least for wrc. wrc
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27757
diff changeset
493 spits out data in the platform's current binary format, *not* in
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
494 little-endian format. These macros are used throughout the resource
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27757
diff changeset
495 code to load and store data to the resources. Since it is unlikely
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27757
diff changeset
496 that we'll ever be dealing with little-endian resource data, the
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27757
diff changeset
497 byte-swapping nature of these macros has been disabled. Rather than
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
498 remove the use of these macros from the resource loading code, the
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27757
diff changeset
499 macros have simply been disabled. In the future, someone may want
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
500 to reactivate these macros for other purposes. In that case, the
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27757
diff changeset
501 resource code will have to be modified to use different macros. */
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
502
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
503 #if 1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
504 #define PUT_WORD(ptr,w) (*(WORD *)(ptr) = (w))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
505 #define GET_WORD(ptr) (*(WORD *)(ptr))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
506 #define PUT_DWORD(ptr,dw) (*(DWORD *)(ptr) = (dw))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
507 #define GET_DWORD(ptr) (*(DWORD *)(ptr))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
508 #else
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
509 #define PUT_WORD(ptr,w) (*(BYTE *)(ptr) = LOBYTE(w), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
510 *((BYTE *)(ptr) + 1) = HIBYTE(w))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
511 #define GET_WORD(ptr) ((WORD)(*(BYTE *)(ptr) | \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
512 (WORD)(*((BYTE *)(ptr)+1) << 8)))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
513 #define PUT_DWORD(ptr,dw) (PUT_WORD((ptr),LOWORD(dw)), \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
514 PUT_WORD((WORD *)(ptr)+1,HIWORD(dw)))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
515 #define GET_DWORD(ptr) ((DWORD)(GET_WORD(ptr) | \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
516 ((DWORD)GET_WORD((WORD *)(ptr)+1) << 16)))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
517 #endif /* 1 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
518
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
519 /* min and max macros */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
520 #define __max(a,b) (((a) > (b)) ? (a) : (b))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
521 #define __min(a,b) (((a) < (b)) ? (a) : (b))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
522 #ifndef max
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
523 #define max(a,b) (((a) > (b)) ? (a) : (b))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
524 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
525 #ifndef min
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
526 #define min(a,b) (((a) < (b)) ? (a) : (b))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
527 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
528
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
529 #ifndef _MAX_PATH
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
530 #define _MAX_PATH 260
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
531 #endif
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
532 #ifndef MAX_PATH
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
533 #define MAX_PATH 260
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
534 #endif
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
535 #ifndef _MAX_DRIVE
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
536 #define _MAX_DRIVE 3
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
537 #endif
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
538 #ifndef _MAX_DIR
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
539 #define _MAX_DIR 256
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
540 #endif
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
541 #ifndef _MAX_FNAME
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
542 #define _MAX_FNAME 255
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
543 #endif
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
544 #ifndef _MAX_EXT
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
545 #define _MAX_EXT 256
9978
11cee15b1a8f last mingw32 support patch by Sascha Sommer
alex
parents: 7182
diff changeset
546 #endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
547
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
548 #define HFILE_ERROR16 ((HFILE16)-1)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
549 #define HFILE_ERROR ((HFILE)-1)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
550
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
551 /* The SIZE structure */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
552 typedef struct tagSIZE
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
553 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
554 INT cx;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
555 INT cy;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
556 } SIZE, *PSIZE, *LPSIZE;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
557
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
558
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
559 typedef SIZE SIZEL, *PSIZEL, *LPSIZEL;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
560
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
561 #define CONV_SIZE16TO32(s16,s32) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
562 ((s32)->cx = (INT)(s16)->cx, (s32)->cy = (INT)(s16)->cy)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
563 #define CONV_SIZE32TO16(s32,s16) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
564 ((s16)->cx = (INT16)(s32)->cx, (s16)->cy = (INT16)(s32)->cy)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
565
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
566 /* The POINT structure */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
567 typedef struct tagPOINT
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
568 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
569 LONG x;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
570 LONG y;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
571 } POINT, *PPOINT, *LPPOINT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
572
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 24422
diff changeset
573 typedef struct POINTL
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
574 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
575 LONG x;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
576 LONG y;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
577 } POINTL;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
578
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
579 #define CONV_POINT16TO32(p16,p32) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
580 ((p32)->x = (INT)(p16)->x, (p32)->y = (INT)(p16)->y)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
581 #define CONV_POINT32TO16(p32,p16) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
582 ((p16)->x = (INT16)(p32)->x, (p16)->y = (INT16)(p32)->y)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
583
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
584 #define MAKEPOINT16(l) (*((POINT16 *)&(l)))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
585
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
586 /* The POINTS structure */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
587
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
588 typedef struct tagPOINTS
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
589 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
590 SHORT x;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
591 SHORT y;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
592 } POINTS, *PPOINTS, *LPPOINTS;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
593
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
594
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
595 #define MAKEPOINTS(l) (*((POINTS *)&(l)))
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
596
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
597
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
598 /* The RECT structure */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
599 typedef struct tagRECT
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
600 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
601 short left;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
602 short top;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
603 short right;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
604 short bottom;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
605 } RECT, *PRECT, *LPRECT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
606 typedef const RECT *LPCRECT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
607
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
608
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
609 typedef struct tagRECTL
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
610 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
611 LONG left;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27757
diff changeset
612 LONG top;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
613 LONG right;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
614 LONG bottom;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
615 } RECTL, *PRECTL, *LPRECTL;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
616
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
617 typedef const RECTL *LPCRECTL;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
618
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
619 #define CONV_RECT16TO32(r16,r32) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
620 ((r32)->left = (INT)(r16)->left, (r32)->top = (INT)(r16)->top, \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
621 (r32)->right = (INT)(r16)->right, (r32)->bottom = (INT)(r16)->bottom)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
622 #define CONV_RECT32TO16(r32,r16) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
623 ((r16)->left = (INT16)(r32)->left, (r16)->top = (INT16)(r32)->top, \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
624 (r16)->right = (INT16)(r32)->right, (r16)->bottom = (INT16)(r32)->bottom)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
625
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
626 #endif /* MPLAYER_WINDEF_H */