Alexandre Julliard : wineandroid: Handle sizing and mouse events in physical coordinates.
Alexandre Julliard
julliard at winehq.org
Thu Aug 23 16:37:03 CDT 2018
Module: wine
Branch: master
Commit: 240edd3fa3c341e280dbcd09c7d87df57440f390
URL: https://source.winehq.org/git/wine.git/?a=commit;h=240edd3fa3c341e280dbcd09c7d87df57440f390
Author: Alexandre Julliard <julliard at 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 at 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;
More information about the wine-cvs
mailing list