37 lines
1.0 KiB
C++
37 lines
1.0 KiB
C++
#ifndef ITexture2D_h__
|
|
#define ITexture2D_h__
|
|
|
|
#include "IResource.h"
|
|
#include "render/ITextureDescription.h"
|
|
#include "LString.h"
|
|
#include "IDataRectangle.h"
|
|
#include "render/IRenderTargetView.h"
|
|
#include "render/IShaderResourceView.h"
|
|
#include "render/ISurface.h"
|
|
|
|
namespace LifeGraphics
|
|
{
|
|
class ITexture2D : public IResource
|
|
{
|
|
public:
|
|
int bpp;
|
|
virtual ~ITexture2D(){}
|
|
ITextureDescription Description;
|
|
virtual bool IsVideoTexture() = 0;
|
|
virtual int Width() = 0;
|
|
virtual int Height() = 0;
|
|
virtual LifeCore::IDataRectangle* Map(int level, int read, int write) = 0;
|
|
virtual void Unmap(int level){};
|
|
virtual void ToFile(const String& path) {};
|
|
virtual void Load(LifeCore::IDataStream* src) {};
|
|
virtual void CompleteAsyncRequest(IResource* source){};
|
|
virtual IRenderTargetView* getRTView() = 0;
|
|
virtual IRenderTargetView* getRTView(int index) = 0;
|
|
|
|
virtual IShaderResourceView* getSRView() = 0;
|
|
virtual IShaderResourceView* getSRView(int index) = 0;
|
|
virtual ISurface* getSurface(int id) = 0;
|
|
};
|
|
}
|
|
|
|
#endif |