/**
 * @file
 * @brief 四角形の定義を行う.
 * 
 * @author S.F.
 * @version $Id:
 *
 * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/

/// 重複インクルード防止マクロ
#if !defined(AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_)
#define AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "sf.h"
extern "C" {
namespace sf {
	namespace system {
		namespace console {
			
			/** 四角形スプライト属性 */
			class SFDLL ObjQuadrangle : public Obj2D
			{
				// LIFECYCLE 
			public:
				/// コンストラクタ
				ObjQuadrangle();
				/// デストラクタ
				virtual ~ObjQuadrangle();
				// OPERATORS //
				// OPERATIONS //
				virtual void draw(){if(visibility()) sprite()->draw(this);};
				// ACCESS // 
				/** 頂点番号をもとに、頂点情報を得る.
				 @param i 頂点番号
				 @return Vertex のポインタ*/
				virtual const Vertex * const vertex(const int i) const {return &mVertex[i];};
				/** 頂点番号をもとに、頂点情報を得る.
				 @param i 頂点番号
				 @return Vertex のポインタ*/
				virtual Vertex * const vertex(const int i){return &mVertex[i];};
			private:
				mutable Vertex mVertex[4];///< 頂点の情報
			};// ObjQuadrangle
		}
	}
}
}

#endif // !defined(AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_)
