MyGUI  3.4.1
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  virtual void setShader(const std::string& _shaderName) = 0;
38 
40 
41  virtual void destroy() = 0;
42 
43  virtual void* lock(TextureUsage _access) = 0;
44  virtual void unlock() = 0;
45  virtual bool isLocked() const = 0;
46 
47  virtual int getWidth() const = 0;
48  virtual int getHeight() const = 0;
49 
50  virtual PixelFormat getFormat() const = 0;
51  virtual TextureUsage getUsage() const = 0;
52  virtual size_t getNumElemBytes() const = 0;
53 
55  {
56  return nullptr;
57  }
58  };
59 
60 } // namespace MyGUI
61 
62 #endif // MYGUI_I_TEXTURE_H_
#define MYGUI_EXPORT
virtual void setShader(const std::string &_shaderName)=0
virtual ~ITexture()
virtual PixelFormat getFormat() const =0
virtual void * lock(TextureUsage _access)=0
virtual void setInvalidateListener(ITextureInvalidateListener *_listener)
virtual int getWidth() const =0
virtual IRenderTarget * getRenderTarget()
virtual void loadFromFile(const std::string &_filename)=0
virtual TextureUsage getUsage() const =0
virtual size_t getNumElemBytes() const =0
virtual void unlock()=0
virtual void saveToFile(const std::string &_filename)=0
virtual bool isLocked() const =0
virtual int getHeight() const =0
virtual void destroy()=0
virtual void createManual(int _width, int _height, TextureUsage _usage, PixelFormat _format)=0
virtual const std::string & getName() const =0
virtual void textureInvalidate(ITexture *_texture)=0