#ifndef CSingleWindowMessage_h
#define CSingleWindowMessage_h

#include"../../Setup/CompileMode.h"
#include<boost/smart_ptr.hpp>
#include<vector>

namespace Maid
{
	namespace SingleWindowMessage
	{
		class Base
		{
		public:
			//	描画メッセージ
			enum MESSAGE
			{
				NONE,				//!<	何もしない
				PUSHCLOSEBUTTON,	//!<	クローズボタンが押された
				PUSHMAXIMIZEBUTTON,	//!<	最大化ボタンが押された
				REDRAW,				//!<	再描画の必要がある

				CHARACODE,			//!<	WM_CHAR
				IMERESULT,			//!<	WM_CHAR
				ACTIVATE,			//!<	WM_ACTIVATE
			};

			Base( MESSAGE mess ) : Message(mess){}

			const MESSAGE	Message;
		};
	}

	typedef	boost::shared_ptr<SingleWindowMessage::Base>	SPSINGLEWINDOWMESSAGE;
	typedef	MySTL::vector<SPSINGLEWINDOWMESSAGE>			SINGLEWINDOWMESSAGEQUE;
}


#endif
