00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __MYGUI_RENDER_MANAGER_H__
00024 #define __MYGUI_RENDER_MANAGER_H__
00025
00026 #include "MyGUI_Prerequest.h"
00027 #include "MyGUI_RenderFormat.h"
00028 #include "MyGUI_ITexture.h"
00029 #include "MyGUI_IVertexBuffer.h"
00030 #include "MyGUI_IRenderTarget.h"
00031
00032 namespace MyGUI
00033 {
00034
00035 class MYGUI_EXPORT RenderManager
00036 {
00037 public:
00038 RenderManager();
00039 virtual ~RenderManager() = 0;
00040
00041 static RenderManager& getInstance();
00042 static RenderManager* getInstancePtr();
00043
00044 virtual IVertexBuffer* createVertexBuffer() = 0;
00045 virtual void destroyVertexBuffer(IVertexBuffer* _buffer) = 0;
00046
00047 virtual ITexture* createTexture(const std::string& _name) = 0;
00048 virtual void destroyTexture(ITexture* _texture) = 0;
00049 virtual ITexture* getTexture(const std::string& _name) = 0;
00050
00051
00052 virtual const IntSize& getViewSize() const = 0;
00053
00054 virtual VertexColourType getVertexFormat() = 0;
00055
00056 virtual bool isFormatSupported(PixelFormat _format, TextureUsage _usage) { return true; }
00057
00058 #if MYGUI_DEBUG_MODE == 1
00059 virtual bool checkTexture(ITexture* _texture) { return true; }
00060 #endif
00061
00062 private:
00063 static RenderManager* msInstance;
00064 bool mIsInitialise;
00065 };
00066
00067 }
00068
00069 #endif // __MYGUI_RENDER_MANAGER_H__