MyGUI  3.2.1
MyGUI_RenderManager.h
Go to the documentation of this file.
1 /*
2  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3  * Distributed under the MIT License
4  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5  */
6 
7 #ifndef __MYGUI_RENDER_MANAGER_H__
8 #define __MYGUI_RENDER_MANAGER_H__
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_Singleton.h"
12 #include "MyGUI_RenderFormat.h"
13 #include "MyGUI_ITexture.h"
14 #include "MyGUI_IVertexBuffer.h"
15 #include "MyGUI_IRenderTarget.h"
16 
17 namespace MyGUI
18 {
19 
21  public Singleton<RenderManager>
22  {
23  public:
24 
29  virtual IVertexBuffer* createVertexBuffer() = 0;
31  virtual void destroyVertexBuffer(IVertexBuffer* _buffer) = 0;
32 
34  virtual ITexture* createTexture(const std::string& _name) = 0;
36  virtual void destroyTexture(ITexture* _texture) = 0;
38  virtual ITexture* getTexture(const std::string& _name) = 0;
39 
40  //FIXME возможно перенести в структуру о рендер таргете
41  virtual const IntSize& getViewSize() const = 0;
42 
44  virtual VertexColourType getVertexFormat() = 0;
45 
47  virtual bool isFormatSupported(PixelFormat _format, TextureUsage _usage);
48 
49 #if MYGUI_DEBUG_MODE == 1
50 
51  virtual bool checkTexture(ITexture* _texture);
52 #endif
53 
54  protected:
55  virtual void onResizeView(const IntSize& _viewSize);
56  virtual void onRenderToTarget(IRenderTarget* _target, bool _update);
57  virtual void onFrameEvent(float _time);
58  };
59 
60 } // namespace MyGUI
61 
62 #endif // __MYGUI_RENDER_MANAGER_H__