//	Darkstar Engine  (c) UnderWorld Interactive Studio (all coding by Svarog    2007)
//
//      Данный файл является частью Darkstar Engine. Любое использование кода файла
//      без согласия компании, является нарушением закона об авторском праве (в слу-
//      чае если не оговорено обратное).
//
//      Имя файла: baseTexture.inl
//      Краткое описание: базовый класс текстура
//

namespace rs
{
	inline BaseTexture::BaseTexture()
	{
		width = 0;
		height = 0;
		depth = 0;
#ifdef GD_D3D10
		srv = NULL;
#endif
#ifdef GD_D3D9
		tex = NULL;
#endif
	};

	inline BaseTexture::~BaseTexture()
	{
		width = 0;
		height = 0;
		depth = 0;
#ifdef GD_D3D10
		if(srv)
		{
			if(FAILED(srv->Release()))
				return;
			srv = NULL;
		};
#endif

#ifdef GD_D3D9
		if(tex)
		{
			if(FAILED(tex->Release()))
				return;
			tex = NULL;
		};
#endif
	};

	inline unsigned int BaseTexture::getWidth() const
	{
		return width;
	};

	inline unsigned int BaseTexture::getHeight() const
	{
		return height;
	};

	inline unsigned int BaseTexture::getDepth() const
	{
		return depth;
	};

	inline const DSEFORMAT& BaseTexture::getPixelFormat() const
	{
		return pixel_format;
	};

#ifdef GD_D3D10
	inline ID3D10ShaderResourceView* BaseTexture::getShaderResourceView() const
	{
		return srv;
	};
#endif

#ifdef GD_D3D9
	inline IDirect3DBaseTexture9* BaseTexture::getTexture() const
	{
		return tex;
	};
#endif
};