Guiliani  Version 2.6 revision 7293 (documentation build 12)
EGLHelper.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef __EGL_HELPER_H__
11#define __EGL_HELPER_H__
12
13#include <EGL/egl.h>
14#include <EGL/eglext.h>
15
16#include "GUITrace.h"
17
23#ifdef GUILIANI_EGL13_COMPATIBILITY_WORKAROUND
24#undef EGL_DEFAULT_DISPLAY
25#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
26typedef EGLNativeWindowType NativeWindowType;
27typedef EGLNativeDisplayType NativeDisplayType;
28#endif
29
30#define GETEGLHELPER EGLHelper::GetInstance()
31
34{
35public:
47 static eC_Bool CreateInstance(
48 const eC_UInt& uiVersion,
49 const eC_Int& iID = -1,
50 const eC_Int& iBufferSize = 16,
51 const eC_Int& iRedSize = 1,
52 const eC_Int& iGreenSize = 1,
53 const eC_Int& iBlueSize = 1,
54 const eC_Int& iAlphaSize = 0,
55 const eC_Int& iDepthSize = 16);
56
68 const eC_UInt& uiVersion,
69 const eC_Int& iID,
70 const eC_Int& iBufferSize,
71 const eC_Int& iRedSize,
72 const eC_Int& iGreenSize,
73 const eC_Int& iBlueSize,
74 const eC_Int& iAlphaSize,
75 const eC_Int& iDepthSize);
76
78 virtual ~EGLHelper();
79
84
89 static eC_Bool CheckEGLError(const eC_String &kCallingMethod);
90
94 virtual eC_Bool SwapBuffers();
95
99 inline const EGLContext GetScreenContext() const
100 {
101 return m_pkEGLScreenContext;
102 }
103
107 inline const EGLContext GetOffScreenContext() const
108 {
109 return m_pkEGLOffScreenContext;
110 }
111
115 inline const EGLDisplay GetDisplay() const
116 {
117 return m_pkEGLDisplay;
118 }
119
123 inline const EGLConfig GetScreenConfig() const
124 {
125 return m_pkScreenConfig;
126 }
127
131 inline const EGLConfig GetOffScreenConfig() const
132 {
133 return m_pkOffScreenConfig;
134 }
135
139 inline const EGLSurface GetWindowSurface() const
140 {
141 return m_pkEGLWindowSurface;
142 }
143
147 eC_Bool IsInited() const
148 {
149 return m_bInited;
150 }
151
155 eC_UInt GetWidth() const;
156
160 eC_UInt GetHeight() const;
161
162private:
165 EGLHelper();
166
170 eC_Bool Init();
171
172 EGLBoolean CreateEGLContext();
173
177 eC_Bool DeInit();
178
180 eC_Bool FindScreenConfig();
181
183 eC_Bool FindOffScreenConfig();
184
185 void PrintConfig(EGLDisplay pkDisplay, EGLConfig config);
186
187private:
190 static EGLint ms_uiEGLScreenBufferSize;
191
194 static EGLint ms_uiEGLOffScreenBufferSize;
195
212 static EGLint* m_aiScreenConfig;
213
217 static EGLint* m_aiOffScreenConfig;
218
220 EGLDisplay m_pkEGLDisplay;
221
223 EGLSurface m_pkEGLWindowSurface;
224
226 EGLContext m_pkEGLScreenContext;
227
229 EGLContext m_pkEGLOffScreenContext;
230
232 EGLConfig m_pkScreenConfig;
233
235 EGLConfig m_pkOffScreenConfig;
236
238 EGLint m_iEGLMajorVersion;
239
241 EGLint m_iEGLMinorVersion;
242
244 eC_UInt m_uiVersion;
245
247 EGLint m_iRenderableType;
248
250 NativeDisplayType m_hDisplayType;
251
253 NativeWindowType m_hWindowType;
254
256 eC_Bool m_bUsePlatformDisplay;
257
258 static EGLHelper* ms_pkInstance;
259
261 EGLint m_iID;
262 EGLint m_iBufferSize;
263 EGLint m_iRedSize;
264 EGLint m_iGreenSize;
265 EGLint m_iBlueSize;
266 EGLint m_iAlphaSize;
267 EGLint m_iDepthSize;
268
269 eC_Bool m_bInited;
270};
271
272#endif
Definition: EGLHelper.h:34
eC_Bool IsInited() const
Definition: EGLHelper.h:147
const EGLConfig GetOffScreenConfig() const
Definition: EGLHelper.h:131
static eC_Bool CreateInstance(const eC_UInt &uiVersion, const eC_Int &iID=-1, const eC_Int &iBufferSize=16, const eC_Int &iRedSize=1, const eC_Int &iGreenSize=1, const eC_Int &iBlueSize=1, const eC_Int &iAlphaSize=0, const eC_Int &iDepthSize=16)
EGLHelper(const eC_UInt &uiVersion, const eC_Int &iID, const eC_Int &iBufferSize, const eC_Int &iRedSize, const eC_Int &iGreenSize, const eC_Int &iBlueSize, const eC_Int &iAlphaSize, const eC_Int &iDepthSize)
static eC_Bool CheckEGLError(const eC_String &kCallingMethod)
eC_UInt GetHeight() const
eC_UInt GetWidth() const
const EGLContext GetOffScreenContext() const
Definition: EGLHelper.h:107
const EGLSurface GetWindowSurface() const
Definition: EGLHelper.h:139
const EGLContext GetScreenContext() const
Definition: EGLHelper.h:99
static EGLHelper & GetInstance()
const EGLConfig GetScreenConfig() const
Definition: EGLHelper.h:123
virtual eC_Bool SwapBuffers()
const EGLDisplay GetDisplay() const
Definition: EGLHelper.h:115
virtual ~EGLHelper()