| 
									
										
										
										
											2018-08-14 00:41:59 +08:00
										 |  |  | #include "..\e2devent.h"
 | 
					
						
							| 
									
										
										
										
											2018-07-28 22:22:58 +08:00
										 |  |  | #include "..\e2dbase.h"
 | 
					
						
							| 
									
										
										
										
											2018-07-16 22:11:27 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-15 00:06:03 +08:00
										 |  |  | e2d::MouseEvent::MouseEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, float dpi) | 
					
						
							| 
									
										
										
										
											2018-07-28 22:22:58 +08:00
										 |  |  | 	: _message(message) | 
					
						
							|  |  |  | 	, _wParam(wParam) | 
					
						
							|  |  |  | 	, _lParam(lParam) | 
					
						
							| 
									
										
										
										
											2018-07-16 22:11:27 +08:00
										 |  |  | 	, _type(Type(message)) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2018-07-28 22:22:58 +08:00
										 |  |  | 	_pos.x = ((float)(short)LOWORD(lParam)) * 96.f / dpi; | 
					
						
							|  |  |  | 	_pos.y = ((float)(short)HIWORD(lParam)) * 96.f / dpi; | 
					
						
							| 
									
										
										
										
											2018-07-16 22:11:27 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-28 20:06:27 +08:00
										 |  |  | float e2d::MouseEvent::getX() const | 
					
						
							| 
									
										
										
										
											2018-07-16 22:11:27 +08:00
										 |  |  | { | 
					
						
							|  |  |  | 	return _pos.x; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-28 20:06:27 +08:00
										 |  |  | float e2d::MouseEvent::getY() const | 
					
						
							| 
									
										
										
										
											2018-07-16 22:11:27 +08:00
										 |  |  | { | 
					
						
							|  |  |  | 	return _pos.y; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | e2d::Point e2d::MouseEvent::getPos() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return _pos; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool e2d::MouseEvent::isShiftDown() const | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2018-07-28 22:22:58 +08:00
										 |  |  | 	return GET_KEYSTATE_WPARAM(_wParam) == MK_SHIFT; | 
					
						
							| 
									
										
										
										
											2018-07-16 22:11:27 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool e2d::MouseEvent::isCtrlDown() const | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2018-07-28 22:22:58 +08:00
										 |  |  | 	return GET_KEYSTATE_WPARAM(_wParam) == MK_CONTROL; | 
					
						
							| 
									
										
										
										
											2018-07-16 22:11:27 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-28 20:06:27 +08:00
										 |  |  | float e2d::MouseEvent::getWheelDelta() const | 
					
						
							| 
									
										
										
										
											2018-07-16 22:11:27 +08:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2018-07-28 22:22:58 +08:00
										 |  |  | 	return static_cast<float>(GET_WHEEL_DELTA_WPARAM(_wParam)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool e2d::MouseEvent::isLButtonDown() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return GET_KEYSTATE_WPARAM(_wParam) == MK_LBUTTON; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool e2d::MouseEvent::isRButtonDown() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return GET_KEYSTATE_WPARAM(_wParam) == MK_RBUTTON; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool e2d::MouseEvent::isMButtonDown() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return GET_KEYSTATE_WPARAM(_wParam) == MK_MBUTTON; | 
					
						
							| 
									
										
										
										
											2018-07-16 22:11:27 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | e2d::MouseEvent::Type e2d::MouseEvent::getType() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return _type; | 
					
						
							|  |  |  | } |