annotate loader/wine/windef.h @ 30017:7119354805e7

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