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);
347 void setupExtraStates();
350 void cleanupExtraStates();
353 void initialiseTextureTargetFactory(
const TextureTargetType tt_type);
356 void logTextureDestruction(
const String& name);
361 GLboolean glScissorTest;
370 static String d_rendererID;
374 Vector2f d_displayDPI;
376 RenderTarget* d_defaultTarget;
378 typedef std::vector<TextureTarget*> TextureTargetList;
380 TextureTargetList d_textureTargets;
382 typedef std::vector<OpenGLESGeometryBuffer*> GeometryBufferList;
384 GeometryBufferList d_geometryBuffers;
386 typedef std::map<String, OpenGLESTexture*, StringFastLessCompare
387 CEGUI_MAP_ALLOC(String, OpenGLESTexture*)> TextureMap;
389 TextureMap d_textures;
391 uint d_maxTextureSize;
393 bool d_initExtraStates;
395 OGLTextureTargetFactory* d_textureTargetFactory;
400 #if defined(_MSC_VER)
401 # pragma warning(pop)
404 #endif // end of guard _CEGUIOpenGLESRenderer_h_
Use targets based on frame buffer objects if available, else none.
Definition: RendererModules/OpenGLES/Renderer.h:75
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
Renderer class to interface with OpenGLES.
Definition: RendererModules/OpenGLES/Renderer.h:66
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: GeometryBuffer.h:42
Automatically choose the best type available.
Definition: RendererModules/OpenGLES/Renderer.h:73
TextureTargetType
Enumeration of valid texture target types.
Definition: RendererModules/OpenGLES/Renderer.h:70
Specialisation of RenderTarget interface that should be used as the base class for RenderTargets that...
Definition: TextureTarget.h:40
Abstract base class specifying the required interface for Texture objects.
Definition: Texture.h:52
Use targets based on pbuffer support if available, else none.
Definition: RendererModules/OpenGLES/Renderer.h:77
Abstract class defining the basic required interface for Renderer objects.
Definition: Renderer.h:82
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition: RenderTarget.h:57
bool isTexCoordSystemFlipped() const
Returns if the texture coordinate system is vertically flipped or not. The original of a texture coor...
Definition: RendererModules/OpenGLES/Renderer.h:314
String class used within the GUI system.
Definition: String.h:62