00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _CEGUIRenderer_h_
00031 #define _CEGUIRenderer_h_
00032
00033 #include "CEGUIBase.h"
00034
00035
00036 namespace CEGUI
00037 {
00038
00044 enum QuadSplitMode
00045 {
00047 TopLeftToBottomRight,
00049 BottomLeftToTopRight
00050 };
00051
00052
00053
00063 class CEGUIEXPORT Renderer
00064 {
00065 public:
00076 virtual RenderingRoot& getDefaultRenderingRoot() = 0;
00077
00087 virtual GeometryBuffer& createGeometryBuffer() = 0;
00088
00099 virtual void destroyGeometryBuffer(const GeometryBuffer& buffer) = 0;
00100
00105 virtual void destroyAllGeometryBuffers() = 0;
00106
00118 virtual TextureTarget* createTextureTarget() = 0;
00119
00129 virtual void destroyTextureTarget(TextureTarget* target) = 0;
00130
00135 virtual void destroyAllTextureTargets() = 0;
00136
00145 virtual Texture& createTexture() = 0;
00146
00169 virtual Texture& createTexture(const String& filename,
00170 const String& resourceGroup) = 0;
00171
00189 virtual Texture& createTexture(const Size& size) = 0;
00190
00199 virtual void destroyTexture(Texture& texture) = 0;
00200
00205 virtual void destroyAllTextures() = 0;
00206
00212 virtual void beginRendering() = 0;
00213
00218 virtual void endRendering() = 0;
00219
00237 virtual void setDisplaySize(const Size& size) = 0;
00238
00247 virtual const Size& getDisplaySize() const = 0;
00248
00257 virtual const Vector2& getDisplayDPI() const = 0;
00258
00266 virtual uint getMaxTextureSize() const = 0;
00267
00275 virtual const String& getIdentifierString() const = 0;
00276
00278 virtual ~Renderer() {}
00279 };
00280
00281 }
00282
00283
00284 #endif // end of guard _CEGUIRenderer_h_