summaryrefslogtreecommitdiff
path: root/dgl/Base.hpp
diff options
context:
space:
mode:
authorfalkTX <falktx@gmail.com>2014-05-14 04:18:03 +0100
committerfalkTX <falktx@gmail.com>2014-05-14 04:18:03 +0100
commit4c0161dab66c05d20d4629222c89e5a662fc09bd (patch)
tree4ca58a468291d92687429d78af248fd89017477c /dgl/Base.hpp
parent5a325b8a56633244b7516f8875bec9c86c7227fd (diff)
Try to not include windows.h for GL headers
Diffstat (limited to 'dgl/Base.hpp')
-rw-r--r--dgl/Base.hpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/dgl/Base.hpp b/dgl/Base.hpp
index fdb71449..3c390cba 100644
--- a/dgl/Base.hpp
+++ b/dgl/Base.hpp
@@ -32,6 +32,46 @@
#define USE_NAMESPACE_DGL using namespace DGL_NAMESPACE;
// -----------------------------------------------------------------------
+// Fix OpenGL includes for Windows, based on glfw code
+
+#ifdef DISTRHO_OS_WINDOWS
+
+#ifndef APIENTRY
+# define APIENTRY __stdcall
+#endif // APIENTRY
+
+/* We need WINGDIAPI defined */
+#ifndef WINGDIAPI
+# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__POCC__)
+# define WINGDIAPI __declspec(dllimport)
+# elif defined(__LCC__)
+# define WINGDIAPI __stdcall
+# else
+# define WINGDIAPI extern
+# endif
+# define DGL_WINGDIAPI_DEFINED
+#endif // WINGDIAPI
+
+/* Some <GL/glu.h> files also need CALLBACK defined */
+#ifndef CALLBACK
+# if defined(_MSC_VER)
+# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
+# define CALLBACK __stdcall
+# else
+# define CALLBACK
+# endif
+# else
+# define CALLBACK __stdcall
+# endif
+# define DGL_CALLBACK_DEFINED
+#endif // CALLBACK
+
+/* Most GL/glu.h variants on Windows need wchar_t */
+#include <cstddef>
+
+#endif // DISTRHO_OS_WINDOWS
+
+// -----------------------------------------------------------------------
// OpenGL includes
#ifdef DISTRHO_OS_MAC
@@ -55,6 +95,22 @@
# define GL_CLAMP_TO_BORDER 0x812D
#endif
+#ifdef DISTRHO_OS_WINDOWS
+// -----------------------------------------------------------------------
+// Fix OpenGL includes for Windows, based on glfw code
+
+#ifdef DGL_WINGDIAPI_DEFINED
+# undef WINGDIAPI
+# undef DGL_WINGDIAPI_DEFINED
+#endif
+
+#ifdef DGL_CALLBACK_DEFINED
+# undef CALLBACK
+# undef DGL_CALLBACK_DEFINED
+#endif
+
+#endif // DISTRHO_OS_WINDOWS
+
START_NAMESPACE_DGL
// -----------------------------------------------------------------------