X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=glimports.hpp;h=dce248a2649bc87caf721f2d7db8243595871c2f;hb=ee2073911c1f76715427ef0c031bea7b8483ea97;hp=9c5492ae0165c97ba8c73419a761ddeeaa78273b;hpb=0633bdfcc370f57992be9cac76b11b26df409f24;p=apitrace diff --git a/glimports.hpp b/glimports.hpp index 9c5492a..dce248a 100644 --- a/glimports.hpp +++ b/glimports.hpp @@ -23,26 +23,102 @@ * **************************************************************************/ +/* + * Central place for all GL includes, and respective OS dependent headers. + */ + #ifndef _GLIMPORTS_HPP_ #define _GLIMPORTS_HPP_ -#ifdef WIN32 + +// Prevent including system's glext.h +#define __glext_h_ + + +#if defined(_WIN32) + #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN 1 #endif + #include -#endif +#include + +#elif defined(__APPLE__) +#include + +#else + +#include #include -#include "glext.h" +#endif /* !_WIN32 */ + + +// Include our own glext.h +#undef __glext_h_ +#include "glext/glext.h" + #ifndef GL_TEXTURE_INDEX_SIZE_EXT #define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED #endif -#ifdef WIN32 -#include "wglext.h" -#endif /* WIN32 */ + +#if defined(_WIN32) + +#include "glext/wglext.h" + +#define GLAPIENTRY __stdcall + +#ifndef PFD_SUPPORT_DIRECTDRAW +#define PFD_SUPPORT_DIRECTDRAW 0x00002000 +#endif +#ifndef PFD_SUPPORT_COMPOSITION +#define PFD_SUPPORT_COMPOSITION 0x00008000 +#endif + +#ifndef WGL_SWAPMULTIPLE_MAX + +extern "C" +typedef struct _WGLSWAP +{ + HDC hdc; + UINT uiFlags; +} WGLSWAP, *PWGLSWAP, FAR *LPWGLSWAP; + +#define WGL_SWAPMULTIPLE_MAX 16 + +#endif /* !WGL_SWAPMULTIPLE_MAX */ + +#elif defined(__APPLE__) + +#include +#include +#include + +extern "C" { + +typedef int CGSConnectionID; +typedef int CGSWindowID; +typedef int CGSSurfaceID; + +CGLError CGLSetSurface(CGLContextObj ctx, CGSConnectionID cid, CGSWindowID wid, CGSSurfaceID sid); +CGLError CGLGetSurface(CGLContextObj ctx, CGSConnectionID* cid, CGSWindowID* wid, CGSSurfaceID* sid); +CGLError CGLUpdateContext(CGLContextObj ctx); + +} + +#else + +#include +#include "glext/glxext.h" + +/* Prevent collision with Trace::Bool */ +#undef Bool + +#endif + #endif /* _GLIMPORTS_HPP_ */