修复高DPI下工作不正常的BUG
This commit is contained in:
		
							parent
							
								
									6bb7d35497
								
							
						
					
					
						commit
						74025826b4
					
				|  | @ -199,7 +199,12 @@ e2d::Point e2d::Input::getMousePos() | ||||||
| 	POINT mousePos; | 	POINT mousePos; | ||||||
| 	GetCursorPos(&mousePos); | 	GetCursorPos(&mousePos); | ||||||
| 	ScreenToClient(Window::getInstance()->getHWnd(), &mousePos); | 	ScreenToClient(Window::getInstance()->getHWnd(), &mousePos); | ||||||
| 	return Point((double)mousePos.x, (double)mousePos.y); | 
 | ||||||
|  | 	float dpiScaleX = 0.f, dpiScaleY = 0.f; | ||||||
|  | 	Renderer::getFactory()->GetDesktopDpi(&dpiScaleX, &dpiScaleY); | ||||||
|  | 
 | ||||||
|  | 	return Point(static_cast<double>(mousePos.x * 96.f / dpiScaleX),  | ||||||
|  | 		static_cast<double>(mousePos.y * 96.f / dpiScaleX)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| double e2d::Input::getMouseDeltaX() | double e2d::Input::getMouseDeltaX() | ||||||
|  |  | ||||||
|  | @ -426,7 +426,9 @@ LRESULT e2d::Window::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar | ||||||
| 
 | 
 | ||||||
| 		if (wParam == SIZE_RESTORED) | 		if (wParam == SIZE_RESTORED) | ||||||
| 		{ | 		{ | ||||||
| 			_instance->_size = Size(width, height); | 			float dpiScaleX = 0.f, dpiScaleY = 0.f; | ||||||
|  | 			Renderer::getFactory()->GetDesktopDpi(&dpiScaleX, &dpiScaleY); | ||||||
|  | 			_instance->_size = Size(width * 96.f / dpiScaleX, height * 96.f / dpiScaleY); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		// 如果程序接收到一个 WM_SIZE 消息,这个方法将调整渲染
 | 		// 如果程序接收到一个 WM_SIZE 消息,这个方法将调整渲染
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue