Module: wine Branch: master Commit: 240edd3fa3c341e280dbcd09c7d87df57440f390 URL: https://source.winehq.org/git/wine.git/?a=commit;h=240edd3fa3c341e280dbcd09c...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Aug 23 11:10:32 2018 +0200
wineandroid: Handle sizing and mouse events in physical coordinates.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wineandroid.drv/window.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/dlls/wineandroid.drv/window.c b/dlls/wineandroid.drv/window.c index aff687b..23b9c25 100644 --- a/dlls/wineandroid.drv/window.c +++ b/dlls/wineandroid.drv/window.c @@ -408,6 +408,7 @@ static void pull_events(void) */ static int process_events( DWORD mask ) { + DPI_AWARENESS_CONTEXT context; struct java_event *event, *next, *previous; unsigned int count = 0;
@@ -448,11 +449,13 @@ static int process_events( DWORD mask ) { case DESKTOP_CHANGED: TRACE( "DESKTOP_CHANGED %ux%u\n", event->data.desktop.width, event->data.desktop.height ); + context = SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE ); screen_width = event->data.desktop.width; screen_height = event->data.desktop.height; init_monitors( screen_width, screen_height ); SetWindowPos( GetDesktopWindow(), 0, 0, 0, screen_width, screen_height, SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOREDRAW ); + SetThreadDpiAwarenessContext( context ); break;
case CONFIG_CHANGED: @@ -472,6 +475,7 @@ static int process_events( DWORD mask ) { HWND capture = get_capture_window();
+ context = SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE ); if (event->data.motion.input.u.mi.dwFlags & (MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_RIGHTDOWN|MOUSEEVENTF_MIDDLEDOWN)) TRACE( "BUTTONDOWN pos %d,%d hwnd %p flags %x\n", event->data.motion.input.u.mi.dx, event->data.motion.input.u.mi.dy, @@ -503,6 +507,7 @@ static int process_events( DWORD mask ) SERVER_END_REQ; } __wine_send_input( capture ? capture : event->data.motion.hwnd, &event->data.motion.input ); + SetThreadDpiAwarenessContext( context ); } break;