/*!
 	@file
 	@brief	テクスチャバッファ D3D9 Ver
 */

#ifndef CTextureBufferD3D9_h
#define CTextureBufferD3D9_h

#include"../../../../../Setup/CompileMode.h"
#include"../../CTextureBuffer.h"

#include"CSurfaceBufferD3D9.h"

#include"D3D9Include.h"

namespace Maid
{
	/*!
	 	@class	CTextureBufferD3D9 CTextureBufferD3D9.h
	 	@brief	テクスチャバッファ D3D9 Ver
	 */
	class CTextureBufferD3D9 : public ITextureBuffer
	{
	public:
		CTextureBufferD3D9( IDirect3DTexture9* p );

		virtual SIZE2DI GetSize() const;
		virtual PIXELFORMAT GetPixelFormat() const;
		virtual int GetSurfaceLevel() const;
		virtual ISurfaceBuffer& GetSurface( int Level );

		SPD3DTEXTUREBUFFER					pTexture;
		MySTL::vector<CSurfaceBufferD3D9>	Surface;

		SIZE2DI		Size;
		PIXELFORMAT	Format;
	};
}

#endif

