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
00059 enum BlendMode
00060 {
00062 BM_INVALID,
00064 BM_NORMAL,
00066 BM_RTT_PREMULTIPLIED
00067 };
00068
00069
00070
00080 class CEGUIEXPORT Renderer
00081 {
00082 public:
00093 virtual RenderingRoot& getDefaultRenderingRoot() = 0;
00094
00104 virtual GeometryBuffer& createGeometryBuffer() = 0;
00105
00116 virtual void destroyGeometryBuffer(const GeometryBuffer& buffer) = 0;
00117
00122 virtual void destroyAllGeometryBuffers() = 0;
00123
00135 virtual TextureTarget* createTextureTarget() = 0;
00136
00146 virtual void destroyTextureTarget(TextureTarget* target) = 0;
00147
00152 virtual void destroyAllTextureTargets() = 0;
00153
00162 virtual Texture& createTexture() = 0;
00163
00186 virtual Texture& createTexture(const String& filename,
00187 const String& resourceGroup) = 0;
00188
00206 virtual Texture& createTexture(const Size& size) = 0;
00207
00216 virtual void destroyTexture(Texture& texture) = 0;
00217
00222 virtual void destroyAllTextures() = 0;
00223
00229 virtual void beginRendering() = 0;
00230
00235 virtual void endRendering() = 0;
00236
00254 virtual void setDisplaySize(const Size& size) = 0;
00255
00264 virtual const Size& getDisplaySize() const = 0;
00265
00274 virtual const Vector2& getDisplayDPI() const = 0;
00275
00283 virtual uint getMaxTextureSize() const = 0;
00284
00292 virtual const String& getIdentifierString() const = 0;
00293
00295 virtual ~Renderer() {}
00296 };
00297
00298 }
00299
00300
00301 #endif // end of guard _CEGUIRenderer_h_