MyGUI  3.4.0
MyGUI_ITexture.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_I_TEXTURE_H_
8 #define MYGUI_I_TEXTURE_H_
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_IRenderTarget.h"
12 #include "MyGUI_RenderFormat.h"
13 #include <string>
14 
15 namespace MyGUI
16 {
17  class ITexture;
18 
20  {
21  public:
23  // update texture after render device lost event
24  virtual void textureInvalidate(ITexture* _texture) = 0;
25  };
26 
28  {
29  public:
30  virtual ~ITexture() { }
31 
32  virtual const std::string& getName() const = 0;
33 
34  virtual void createManual(int _width, int _height, TextureUsage _usage, PixelFormat _format) = 0;
35  virtual void loadFromFile(const std::string& _filename) = 0;
36  virtual void saveToFile(const std::string& _filename) = 0;
37 
39 
40  virtual void destroy() = 0;
41 
42  virtual void* lock(TextureUsage _access) = 0;
43  virtual void unlock() = 0;
44  virtual bool isLocked() = 0;
45 
46  virtual int getWidth() = 0;
47  virtual int getHeight() = 0;
48 
49  virtual PixelFormat getFormat() = 0;
50  virtual TextureUsage getUsage() = 0;
51  virtual size_t getNumElemBytes() = 0;
52 
54  {
55  return nullptr;
56  }
57  };
58 
59 } // namespace MyGUI
60 
61 #endif // MYGUI_I_TEXTURE_H_
MyGUI::ITexture::setInvalidateListener
virtual void setInvalidateListener(ITextureInvalidateListener *_listener)
Definition: MyGUI_ITexture.h:38
MyGUI::ITexture::loadFromFile
virtual void loadFromFile(const std::string &_filename)=0
MyGUI::ITexture::destroy
virtual void destroy()=0
MyGUI::ITexture::getWidth
virtual int getWidth()=0
MyGUI::ITexture::createManual
virtual void createManual(int _width, int _height, TextureUsage _usage, PixelFormat _format)=0
MyGUI::ITexture::getNumElemBytes
virtual size_t getNumElemBytes()=0
MyGUI::ITexture::unlock
virtual void unlock()=0
MyGUI_RenderFormat.h
MyGUI::ITexture::lock
virtual void * lock(TextureUsage _access)=0
MyGUI::ITexture::isLocked
virtual bool isLocked()=0
MyGUI::ITextureInvalidateListener::textureInvalidate
virtual void textureInvalidate(ITexture *_texture)=0
MyGUI::ITexture::getName
virtual const std::string & getName() const =0
MyGUI::ITextureInvalidateListener::~ITextureInvalidateListener
virtual ~ITextureInvalidateListener()
Definition: MyGUI_ITexture.h:22
MyGUI::ITexture::getHeight
virtual int getHeight()=0
MyGUI_Prerequest.h
MyGUI::ITextureInvalidateListener
Definition: MyGUI_ITexture.h:20
MyGUI::ITexture::getUsage
virtual TextureUsage getUsage()=0
MyGUI::ITexture::~ITexture
virtual ~ITexture()
Definition: MyGUI_ITexture.h:30
MyGUI_IRenderTarget.h
MyGUI::ITexture::getRenderTarget
virtual IRenderTarget * getRenderTarget()
Definition: MyGUI_ITexture.h:53
MyGUI::ITexture
Definition: MyGUI_ITexture.h:28
MyGUI::ITexture::getFormat
virtual PixelFormat getFormat()=0
MYGUI_EXPORT
#define MYGUI_EXPORT
Definition: MyGUI_Platform.h:89
MyGUI::ITexture::saveToFile
virtual void saveToFile(const std::string &_filename)=0
MyGUI::PixelFormat
Definition: MyGUI_RenderFormat.h:50
MyGUI
Definition: MyGUI_ActionController.h:15
MyGUI::IRenderTarget
Definition: MyGUI_IRenderTarget.h:21
MyGUI::TextureUsage
Definition: MyGUI_RenderFormat.h:85