NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
gl_platform_includes.h
Go to the documentation of this file.
1 #ifndef SDK_GL_PLATFORM_INCLUDES_H_
11 #define SDK_GL_PLATFORM_INCLUDES_H_
12 #pragma once
13 
14 #include <base/inc/platform.h>
15 #include <visualizationlayer/inc/vis_const.h>
16 
17 // Platform specific OpenGL/OpenGLES2 includes
18 #if defined(SDK_GL2D_USE_WGL) // WGL based OpenGL implementation
19 # define SDK_GL2D_HAVE_OPENGL // WGL implements OpenGL
20 # define SDK_GL2D_HAVE_OPENGL_ES2 // WGL can implement OpenGL ES2
21  // (WGL_EXT_create_context_es2_profile
22  // extension required)
23 # include <Windows.h>
24 #elif defined (SDK_GL2D_USE_IMX6_EGL) // EGL based OpenGL implementation for iMX6
25 # if !defined(EGL_API_FB)
26 # define EGL_API_FB
27 # endif // EGL_API_FB
28 # if !defined(LINUX)
29 # define LINUX
30 # endif // LINUX
31 //# define SDK_GL2D_HAVE_OPENGL // EGL for iMX6 does not implements OpenGL
32 # define SDK_GL2D_HAVE_OPENGL_ES2 // EGL for iMX6 implements OpenGL ES2
33 # include <EGL/egl.h>
34 #elif defined (SDK_GL2D_USE_ANDROID_EGL) // EGL based OpenGL implementation for Android
35 //# define SDK_GL2D_HAVE_OPENGL // EGL for Android does not implements OpenGL
36 # define SDK_GL2D_HAVE_OPENGL_ES2 // EGL for Android implements OpenGL ES2
37 # include <EGL/egl.h>
38 #elif defined(SDK_GL2D_USE_EGL) // EGL based OpenGL implementation
39 # define SDK_GL2D_HAVE_OPENGL // EGL implements OpenGL
40 # define SDK_GL2D_HAVE_OPENGL_ES2 // EGL implements OpenGL ES2
41 # include <EGL/egl.h>
42 #elif defined(SDK_GL2D_USE_MESA) // Mesa based OpenGL implementation
43 # define SDK_GL2D_HAVE_OPENGL // MESA implements OpenGL
44 //# define SDK_GL2D_HAVE_OPENGL_ES2 // MESA does not implements OpenGL ES2
45 // osmesa.h includes <GL/gl.h>, which conflicts with glcorearb.h
46 // # include <GL/osmesa.h>
47 typedef struct osmesa_context* OSMesaContext;
48 #elif defined(SDK_GL2D_USE_GLX) // GLX based OpenGL implementation
49 # define SDK_GL2D_HAVE_OPENGL // GLX implements OpenGL
50 # define SDK_GL2D_HAVE_OPENGL_ES2 // GLX can implement OpenGL ES2
51  // (GLX_EXT_create_context_es2_profile
52  // and GLX_ARB_create_context_profile
53  // extensions required)
54 # include <X11/Xlib.h>
55 # include <X11/Xutil.h>
56 // glx.h includes <GL/gl.h>, which conflicts with glcorearb.h
57 // # include <GL/glx.h>
58 typedef unsigned long XID;
59 typedef struct __GLXcontextRec* GLXContext;
60 typedef XID GLXDrawable;
61 typedef XID GLXPbuffer;
62 typedef struct __GLXFBConfigRec* GLXFBConfig;
63 #else // Fake (unknown) OpenGL platform
64 //# define SDK_GL2D_HAVE_OPENGL // No OpenGL
65 //# define SDK_GL2D_HAVE_OPENGL_ES2 // No OpenGL ES2
66 #endif
67 
68 #endif // SDK_GL_PLATFORM_INCLUDES_H_
platform.h
Describes the platform constants.