MyGUI_ITexture.h
Go to the documentation of this file.
/*
* This source file is part of MyGUI. For the latest info, see http://mygui.info/
* Distributed under the MIT License
* (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
*/
#ifndef MYGUI_I_TEXTURE_H_
#define MYGUI_I_TEXTURE_H_
#include "MyGUI_Prerequest.h"
#include "MyGUI_IRenderTarget.h"
#include "MyGUI_RenderFormat.h"
#include <string>
namespace MyGUI
{
class ITexture;
class MYGUI_EXPORT ITextureInvalidateListener
{
public:
virtual ~ITextureInvalidateListener() = default;
// update texture after render device lost event
virtual void textureInvalidate(ITexture* _texture) = 0;
};
class MYGUI_EXPORT ITexture
{
public:
virtual ~ITexture() = default;
virtual const std::string& getName() const = 0;
virtual void createManual(int _width, int _height, TextureUsage _usage, PixelFormat _format) = 0;
virtual void loadFromFile(const std::string& _filename) = 0;
virtual void saveToFile(const std::string& _filename) = 0;
virtual void setShader(const std::string& _shaderName) = 0;
virtual void setInvalidateListener(ITextureInvalidateListener* /*_listener*/)
{
}
virtual void destroy() = 0;
virtual void* lock(TextureUsage _access) = 0;
virtual void unlock() = 0;
virtual bool isLocked() const = 0;
virtual int getWidth() const = 0;
virtual int getHeight() const = 0;
virtual PixelFormat getFormat() const = 0;
virtual TextureUsage getUsage() const = 0;
virtual size_t getNumElemBytes() const = 0;
virtual IRenderTarget* getRenderTarget()
{
return nullptr;
}
};
} // namespace MyGUI
#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