TurtleBrains  0.3.5
High quality, portable, C++ framework for rapid 2D game development.
tb_platform.hpp
1 
9 #ifndef TurtleBrains_Platform_hpp
10 #define TurtleBrains_Platform_hpp
11 
12 #include <turtle_brains/core/tb_configuration.hpp>
13 
14 #if defined(tb_windows)
15  #pragma warning(push)
16  #pragma warning(disable: 4091)
17 
18  #define NOMINMAX
19  //Cannot use LEAN_AND_MEAN because (at least) OPENFILENAME stuff needs it.
20 #if defined(tb_with_networking)
21  #include <WinSock2.h>
22 #endif /* tb_with_networking */
23  #include <windows.h>
24  #include <windowsx.h> //For GET_X_LAPARAM
25  #include <shlobj.h>
26  #include <direct.h>
27 
28  #if defined(min)
29  #undef min
30  #endif
31 
32  #if defined(max)
33  #undef max
34  #endif
35 
36  #if defined(GetObject)
37  #undef GetObject
38  #endif
39 
40  #if defined(FindResource)
41  #undef FindResource
42  #endif
43 
44  #pragma warning(pop)
45 #elif defined(tb_macos)
46 #elif defined(tb_ios)
47 #elif defined(tb_linux)
48  #include <X11/X.h>
49  #include <X11/Xlib.h>
50  #include <X11/XKBlib.h>
51  #include <X11/Xutil.h>
52  #include <X11/Xatom.h>
53 
54  #if defined(None)
55  #undef None
56  #endif
57  #if defined(Always)
58  #undef Always
59  #endif
60  #if defined(Success)
61  #undef Success
62  #endif
63 #elif defined(tb_web)
64 
65 #else
66  #error This configuration is currently unsupported by TurtleBrains.
67 #endif
68 
69 #endif /* TurtleBrains_Platform_hpp */