| 
									
										
										
										
											2018-08-14 00:41:59 +08:00
										 |  |  |  | #pragma once
 | 
					
						
							| 
									
										
										
										
											2018-09-05 13:33:39 +08:00
										 |  |  |  | #include "e2dutil.h"
 | 
					
						
							| 
									
										
										
										
											2018-08-14 00:41:59 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace e2d | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-05 13:38:30 +08:00
										 |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
 | 
					
						
							|  |  |  |  | 	class KeyEvent | 
					
						
							| 
									
										
										
										
											2018-08-14 00:41:59 +08:00
										 |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2018-09-05 13:38:30 +08:00
										 |  |  |  | 	public: | 
					
						
							|  |  |  |  | 		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		enum class Type : int | 
					
						
							|  |  |  |  | 		{ | 
					
						
							|  |  |  |  | 			Down = 0x0100,	// <20><><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 			Up				// ̧<><CCA7>
 | 
					
						
							|  |  |  |  | 		}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	public: | 
					
						
							|  |  |  |  | 		explicit KeyEvent( | 
					
						
							|  |  |  |  | 			UINT message, | 
					
						
							|  |  |  |  | 			WPARAM w_param, | 
					
						
							|  |  |  |  | 			LPARAM l_param | 
					
						
							|  |  |  |  | 		); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-11 15:31:50 +08:00
										 |  |  |  | 		// <20><>ȡ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		KeyEvent::Type GetType() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-05 13:38:30 +08:00
										 |  |  |  | 		// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		KeyCode GetCode() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		int GetCount() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	protected: | 
					
						
							| 
									
										
										
										
											2018-09-11 15:31:50 +08:00
										 |  |  |  | 		UINT	message_; | 
					
						
							|  |  |  |  | 		WPARAM	w_param_; | 
					
						
							|  |  |  |  | 		LPARAM	l_param_; | 
					
						
							| 
									
										
										
										
											2018-08-14 00:41:59 +08:00
										 |  |  |  | 	}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-05 13:38:30 +08:00
										 |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
 | 
					
						
							|  |  |  |  | 	class MouseEvent | 
					
						
							| 
									
										
										
										
											2018-08-14 00:41:59 +08:00
										 |  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2018-09-05 13:38:30 +08:00
										 |  |  |  | 	public: | 
					
						
							|  |  |  |  | 		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		enum class Type : int | 
					
						
							|  |  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2018-09-16 16:07:51 +08:00
										 |  |  |  | 			MoveBy = 0x0200,		// <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2018-09-05 13:38:30 +08:00
										 |  |  |  | 			LeftDown,			// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 			LeftUp,				// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̧<EFBFBD><CCA7>
 | 
					
						
							|  |  |  |  | 			LeftDoubleClick,	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>
 | 
					
						
							|  |  |  |  | 			RightDown,			// <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 			RightUp,			// <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>̧<EFBFBD><CCA7>
 | 
					
						
							|  |  |  |  | 			RightDoubleClick,	// <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>˫<EFBFBD><CBAB>
 | 
					
						
							|  |  |  |  | 			MiddleDown,			// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 			MiddleUp,			// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>̧<EFBFBD><CCA7>
 | 
					
						
							|  |  |  |  | 			MiddleDoubleClick,	// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>˫<EFBFBD><CBAB>
 | 
					
						
							|  |  |  |  | 			Wheel				// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	public: | 
					
						
							|  |  |  |  | 		explicit MouseEvent( | 
					
						
							|  |  |  |  | 			UINT message, | 
					
						
							|  |  |  |  | 			WPARAM w_param, | 
					
						
							| 
									
										
										
										
											2018-09-09 12:21:15 +08:00
										 |  |  |  | 			LPARAM l_param | 
					
						
							| 
									
										
										
										
											2018-09-05 13:38:30 +08:00
										 |  |  |  | 		); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		float GetX() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		float GetY() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		Point GetPos() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// <20><>ȡ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		MouseEvent::Type GetType() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		float GetWheelDelta() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		bool IsLButtonDown() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		bool IsRButtonDown() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		bool IsMButtonDown() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// Shift <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		bool IsShiftDown() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		// Ctrl <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		bool IsCtrlDown() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	protected: | 
					
						
							|  |  |  |  | 		UINT	message_; | 
					
						
							|  |  |  |  | 		WPARAM	w_param_; | 
					
						
							|  |  |  |  | 		LPARAM	l_param_; | 
					
						
							| 
									
										
										
										
											2018-08-14 00:41:59 +08:00
										 |  |  |  | 	}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | } |