104 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
| #pragma once
 | |
| #include "e2dutil.h"
 | |
| 
 | |
| namespace e2d
 | |
| {
 | |
| 
 | |
| 
 | |
| 	// 按键消息
 | |
| 	class KeyEvent
 | |
| 	{
 | |
| 	public:
 | |
| 		// 按键消息类型
 | |
| 		enum class Type : int
 | |
| 		{
 | |
| 			Down = 0x0100,	// 按下
 | |
| 			Up				// 抬起
 | |
| 		};
 | |
| 
 | |
| 	public:
 | |
| 		explicit KeyEvent(
 | |
| 			UINT message,
 | |
| 			WPARAM w_param,
 | |
| 			LPARAM l_param
 | |
| 		);
 | |
| 
 | |
| 		// 获取事件类型
 | |
| 		KeyEvent::Type GetType() const;
 | |
| 
 | |
| 		// 获取按键键值
 | |
| 		KeyCode GetCode() const;
 | |
| 
 | |
| 		// 获取按键次数
 | |
| 		int GetCount() const;
 | |
| 
 | |
| 	protected:
 | |
| 		UINT	message_;
 | |
| 		WPARAM	w_param_;
 | |
| 		LPARAM	l_param_;
 | |
| 	};
 | |
| 
 | |
| 
 | |
| 	// 鼠标消息
 | |
| 	class MouseEvent
 | |
| 	{
 | |
| 	public:
 | |
| 		// 鼠标消息类型
 | |
| 		enum class Type : int
 | |
| 		{
 | |
| 			MoveBy = 0x0200,		// 鼠标移动
 | |
| 			LeftDown,			// 鼠标左键按下
 | |
| 			LeftUp,				// 鼠标左键抬起
 | |
| 			LeftDoubleClick,	// 鼠标左键双击
 | |
| 			RightDown,			// 鼠标右键按下
 | |
| 			RightUp,			// 鼠标右键抬起
 | |
| 			RightDoubleClick,	// 鼠标右键双击
 | |
| 			MiddleDown,			// 鼠标中键按下
 | |
| 			MiddleUp,			// 鼠标中键抬起
 | |
| 			MiddleDoubleClick,	// 鼠标中键双击
 | |
| 			Wheel				// 滑动滚轮
 | |
| 		};
 | |
| 
 | |
| 	public:
 | |
| 		explicit MouseEvent(
 | |
| 			UINT message,
 | |
| 			WPARAM w_param,
 | |
| 			LPARAM l_param
 | |
| 		);
 | |
| 
 | |
| 		// 获取鼠标横坐标
 | |
| 		float GetX() const;
 | |
| 
 | |
| 		// 获取鼠标纵坐标
 | |
| 		float GetY() const;
 | |
| 
 | |
| 		// 获取鼠标坐标
 | |
| 		Point GetPos() const;
 | |
| 
 | |
| 		// 获取事件类型
 | |
| 		MouseEvent::Type GetType() const;
 | |
| 
 | |
| 		float GetWheelDelta() const;
 | |
| 
 | |
| 		// 鼠标左键是否按下
 | |
| 		bool IsLButtonDown() const;
 | |
| 
 | |
| 		// 鼠标右键是否按下
 | |
| 		bool IsRButtonDown() const;
 | |
| 
 | |
| 		// 鼠标中键是否按下
 | |
| 		bool IsMButtonDown() const;
 | |
| 
 | |
| 		// Shift 键是否按下
 | |
| 		bool IsShiftDown() const;
 | |
| 
 | |
| 		// Ctrl 键是否按下
 | |
| 		bool IsCtrlDown() const;
 | |
| 
 | |
| 	protected:
 | |
| 		UINT	message_;
 | |
| 		WPARAM	w_param_;
 | |
| 		LPARAM	l_param_;
 | |
| 	};
 | |
| 
 | |
| } |