27 #ifndef _CEGUIOpenGLESRenderer_h_
28 #define _CEGUIOpenGLESRenderer_h_
30 #include "CEGUI/Base.h"
31 #include "CEGUI/Renderer.h"
32 #include "CEGUI/Size.h"
33 #include "CEGUI/Vector.h"
34 #include "CEGUI/RendererModules/OpenGLES/GLES.h"
38 #if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(CEGUI_STATIC)
39 # ifdef CEGUIOPENGLESRENDERER_EXPORTS
40 # define OPENGLES_GUIRENDERER_API __declspec(dllexport)
42 # define OPENGLES_GUIRENDERER_API __declspec(dllimport)
45 # define OPENGLES_GUIRENDERER_API
49 # pragma warning(push)
50 # pragma warning(disable : 4251)
57 class OpenGLESTexture;
58 class OpenGLESTextureTarget;
59 class OpenGLESGeometryBuffer;
60 class OGLTextureTargetFactory;
106 const TextureTargetType tt_type = TTT_AUTO,
107 const int abi = CEGUI_VERSION_ABI);
136 const Sizef& display_size,
137 const TextureTargetType tt_type = TTT_AUTO,
138 const int abi = CEGUI_VERSION_ABI);
155 static void destroySystem();
169 const int abi = CEGUI_VERSION_ABI);
186 const TextureTargetType tt_type = TTT_AUTO,
187 const int abi = CEGUI_VERSION_ABI);
206 static bool isGLExtensionSupported(
const char* extension );
212 void destroyAllGeometryBuffers();
215 void destroyAllTextureTargets();
219 const String& resourceGroup);
221 void destroyTexture(
Texture& texture);
222 void destroyTexture(
const String& name);
223 void destroyAllTextures();
225 bool isTextureDefined(
const String& name)
const;
226 void beginRendering();
228 void setDisplaySize(
const Sizef& sz);
229 const Sizef& getDisplaySize()
const;
230 const Vector2f& getDisplayDPI()
const;
231 uint getMaxTextureSize()
const;
232 const String& getIdentifierString()
const;
261 void enableExtraStateSettings(
bool setting);
277 void restoreTextures();
290 Sizef getAdjustedTextureSize(
const Sizef& sz)
const;
297 static float getNextPOTSize(
const float f);
330 void setupExtraStates();
333 void cleanupExtraStates();
336 void initialiseTextureTargetFactory(
const TextureTargetType tt_type);
339 void logTextureDestruction(
const String& name);
344 GLboolean glScissorTest;
353 static String d_rendererID;
357 Vector2f d_displayDPI;
359 RenderTarget* d_defaultTarget;
361 typedef std::vector<TextureTarget*> TextureTargetList;
363 TextureTargetList d_textureTargets;
365 typedef std::vector<OpenGLESGeometryBuffer*> GeometryBufferList;
367 GeometryBufferList d_geometryBuffers;
369 typedef std::map<String, OpenGLESTexture*, StringFastLessCompare
370 CEGUI_MAP_ALLOC(String, OpenGLESTexture*)> TextureMap;
372 TextureMap d_textures;
374 uint d_maxTextureSize;
376 bool d_initExtraStates;
378 OGLTextureTargetFactory* d_textureTargetFactory;
383 #if defined(_MSC_VER)
384 # pragma warning(pop)
387 #endif // end of guard _CEGUIOpenGLESRenderer_h_