MyGUI: MyGUI_ITexture.h Source File

MyGUI 3.4.3

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
19 class MYGUI_EXPORT ITextureInvalidateListener
20 {
21 public:
22 virtual ~ITextureInvalidateListener() = default;
23 // update texture after render device lost event
24 virtual void textureInvalidate(ITexture* _texture) = 0;
25 };
26
27 class MYGUI_EXPORT ITexture
28 {
29 public:
30 virtual ~ITexture() = default;
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
39 virtual void setInvalidateListener(ITextureInvalidateListener* /*_listener*/)
40 {
41 }
42
43 virtual void destroy() = 0;
44
45 virtual void* lock(TextureUsage _access) = 0;
46 virtual void unlock() = 0;
47 virtual bool isLocked() const = 0;
48
49 virtual int getWidth() const = 0;
50 virtual int getHeight() const = 0;
51
52 virtual PixelFormat getFormat() const = 0;
53 virtual TextureUsage getUsage() const = 0;
54 virtual size_t getNumElemBytes() const = 0;
55
56 virtual IRenderTarget* getRenderTarget()
57 {
58 return nullptr;
59 }
60 };
61
62} // namespace MyGUI
63
64#endif // MYGUI_I_TEXTURE_H_
MyGUI_IRenderTarget.h
MYGUI_EXPORT
#define MYGUI_EXPORT
Definition MyGUI_Platform.h:77
MyGUI_Prerequest.h
MyGUI_RenderFormat.h
MyGUI::IRenderTarget
Definition MyGUI_IRenderTarget.h:21
MyGUI::ITexture
Definition MyGUI_ITexture.h:28
MyGUI::ITexture::setShader
virtual void setShader(const std::string &_shaderName)=0
MyGUI::ITexture::setInvalidateListener
virtual void setInvalidateListener(ITextureInvalidateListener *)
Definition MyGUI_ITexture.h:39
MyGUI::ITexture::getFormat
virtual PixelFormat getFormat() const =0
MyGUI::ITexture::getRenderTarget
virtual IRenderTarget * getRenderTarget()
Definition MyGUI_ITexture.h:56
MyGUI::ITexture::getWidth
virtual int getWidth() const =0
MyGUI::ITexture::getName
virtual const std::string & getName() const =0
MyGUI::ITexture::loadFromFile
virtual void loadFromFile(const std::string &_filename)=0
MyGUI::ITexture::getUsage
virtual TextureUsage getUsage() const =0
MyGUI::ITexture::getNumElemBytes
virtual size_t getNumElemBytes() const =0
MyGUI::ITexture::unlock
virtual void unlock()=0
MyGUI::ITexture::saveToFile
virtual void saveToFile(const std::string &_filename)=0
MyGUI::ITexture::isLocked
virtual bool isLocked() const =0
MyGUI::ITexture::~ITexture
virtual ~ITexture()=default
MyGUI::ITexture::getHeight
virtual int getHeight() const =0
MyGUI::ITexture::destroy
virtual void destroy()=0
MyGUI::ITexture::lock
virtual void * lock(TextureUsage _access)=0
MyGUI::ITexture::createManual
virtual void createManual(int _width, int _height, TextureUsage _usage, PixelFormat _format)=0
MyGUI::ITextureInvalidateListener
Definition MyGUI_ITexture.h:20
MyGUI::ITextureInvalidateListener::textureInvalidate
virtual void textureInvalidate(ITexture *_texture)=0
MyGUI::ITextureInvalidateListener::~ITextureInvalidateListener
virtual ~ITextureInvalidateListener()=default
MyGUI
Definition MyGUI_ActionController.h:15
MyGUI::PixelFormat
Definition MyGUI_RenderFormat.h:50
MyGUI::TextureUsage
Definition MyGUI_RenderFormat.h:98