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
15namespace 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 setInvalidateListener(ITextureInvalidateListener *_listener)
virtual IRenderTarget * getRenderTarget()
virtual int getWidth() const =0
virtual const std::string & getName() const =0
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 * lock(TextureUsage _access)=0
virtual void createManual(int _width, int _height, TextureUsage _usage, PixelFormat _format)=0
virtual void textureInvalidate(ITexture *_texture)=0