MyGUI  3.2.2
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 
20  class MYGUI_EXPORT RenderManager :
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_
MyGUI::RenderManager
Definition: MyGUI_RenderManager.h:20
MyGUI_IVertexBuffer.h
MyGUI_RenderFormat.h
MyGUI::IVertexBuffer
Definition: MyGUI_IVertexBuffer.h:16
MyGUI_ITexture.h
MyGUI_Prerequest.h
MyGUI_Singleton.h
MyGUI::VertexColourType
Definition: MyGUI_RenderFormat.h:15
MyGUI_IRenderTarget.h
MyGUI::types::TSize< int >
MyGUI::ITexture
Definition: MyGUI_ITexture.h:26
MyGUI::Singleton
Definition: MyGUI_Singleton.h:20
MyGUI::PixelFormat
Definition: MyGUI_RenderFormat.h:49
MyGUI
Definition: MyGUI_ActionController.h:14
MyGUI::IRenderTarget
Definition: MyGUI_IRenderTarget.h:20
MyGUI::TextureUsage
Definition: MyGUI_RenderFormat.h:84