]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/wrapwin.h
OS X savvy implementation
[wxWidgets.git] / include / wx / msw / wrapwin.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: msw/wrapwin.h
3 // Purpose: Wrapper around <windows.h>, to be included instead of it
4 // Author: Vaclav Slavik
5 // Created: 2003/07/22
6 // RCS-ID: $Id$
7 // Copyright: (c) 2003 Vaclav Slavik
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_WRAPWIN_H_
12 #define _WX_WRAPWIN_H_
13
14 #include "wx/platform.h"
15
16 #ifndef STRICT
17 #define STRICT 1
18 #endif
19
20 #include <windows.h>
21
22 #ifdef __WXWINCE__
23 // this doesn't make any sense knowing that windows.h includes all these
24 // headers anyhow, but the fact remains that when building using eVC 4 the
25 // functions and constants from these headers are not defined unless we
26 // explicitly include them ourselves -- how is it possible is beyond me...
27 #include <winbase.h>
28 #include <wingdi.h>
29 #include <winuser.h>
30
31 // this one OTOH contains many useful CE-only functions
32 #include <shellapi.h>
33 #endif // __WXWINCE__
34
35 #include "wx/msw/winundef.h"
36
37 // types DWORD_PTR, ULONG_PTR and so on might be not defined in old headers but
38 // unfortunately I don't know of any standard way to test for this (as they're
39 // typedefs and not #defines), so simply overwrite them in any case in Win32
40 // mode -- and if compiling for Win64 they'd better have new headers anyhow
41 //
42 // this is ugly but what else can we do? even testing for compiler version
43 // wouldn't help as you can perfectly well be using an older compiler (VC6)
44 // with newer SDK headers
45 #if !defined(__WIN64__) && !defined(__WXWINCE__)
46 #define UINT_PTR unsigned int
47 #define ULONG_PTR unsigned long
48 #define DWORD_PTR unsigned long
49 #endif // !__WIN64__
50
51 #endif // _WX_WRAPWIN_H_
52