#pragma once


#include "Mix/Tool/Win32/Core/Graphics/DeviceObject.h"

namespace Mix{ namespace Tool{ namespace Win32{ namespace Graphics{

	class Texture : public DeviceObject
	{
	protected:
		Texture( void );
		virtual ~Texture( void );

	public:
		MIX_REFERENCE_METHOD

		virtual unsigned int GetWidth( void ) const = 0;
		virtual unsigned int GetHeight( void ) const = 0;
		virtual D3DFORMAT GetFormat( void ) const = 0;

		virtual IDirect3DBaseTexture9* GetTexturePtr( void ) = 0;
		virtual IDirect3DSurface9* GetSurfacePtr( void ) = 0;

	public:
		virtual Mix::Tool::Win32::Object::TYPE GetType( void ) const;
	};

}}}}
