Commit Graph

154 Commits

Author SHA1 Message Date
Zhiyi Zhang ca39b1c22d user32: Don't report mirrored slave monitors in EnumDisplayMonitors.
Mirrored slave monitors don't get enumerated by EnumDisplayMonitors.
For example, if two monitors are in mirrored mode, only one of them
is reported by EnumDisplayMonitors.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 22:58:41 +02:00
Zhiyi Zhang 8f45d9a991 user32: Wait for graphics driver to be ready in EnumDisplayDevicesW.
It's possible that EnumDisplayDevicesW gets called before graphics driver is loaded.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 14:18:49 +02:00
Huw Davies ef26257f6f user32: Don't query the nonclient metrics unless the font info is required.
This is an optimization that is particularly helpful for scrollbar code.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 20:34:18 +02:00
Zhiyi Zhang 95be042be3 user32: Cache monitor information.
Multiple applications call EnumDisplayMonitors very frequently.
Reduce most of the overhead by caching.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47431
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 20:42:42 +02:00
Zhiyi Zhang d4115033ef user32: Specify enumerator when calling SetupDiGetClassDevsW.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 20:42:42 +02:00
Zhiyi Zhang 23b28323cb winex11.drv: Use generic GetMonitorInfo.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 13:22:17 +02:00
Zhiyi Zhang 074abfe097 winex11.drv: Use generic EnumDisplayMonitors.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 13:22:17 +02:00
Zhiyi Zhang 8789742936 user32: Avoid a possible race.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 13:01:58 +02:00
Zhiyi Zhang db839e0f1a user32: Move EnumDisplayDevicesA/W to sysparams.c.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 13:01:58 +02:00
Huw Davies 3f9c5d7682 user32: Don't access a potentially uninitialized padded_border.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-21 22:51:55 +02:00
Alexandre Julliard d5a372abbb include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Alexandre Julliard 8563a2c4f5 user32: Cache full name of non-client metrics fonts.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-07 10:47:21 -06:00
Alexandre Julliard d3ca7db42e user32: Also ignore dynamic DPI awareness changes when DPI scaling is disabled.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-31 16:48:45 +01:00
Alexandre Julliard 1505905290 user32: Ignore application-specified DPI awareness when DPI scaling is disabled.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-07 18:16:10 +02:00
Alexandre Julliard 2068b73db5 user32: Process hardware messages in physical coordinates.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 14:25:17 +02:00
Alexandre Julliard 87e49000a1 user32: Scale coordinates in Get/SetWindowPlacement() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 8de1b2c2ce user32: Scale coordinates in MapWindowPoints() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard c5a6925676 user32: Scale coordinates in WIN_GetRectangles() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 92f5c6e410 user32: Scale monitor rectangles based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 12:23:47 +02:00
Alexandre Julliard 110443acef user32: Scale initial window dimensions in CreateWindow() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 12:13:25 +02:00
Alexandre Julliard a36abda773 user32: Make the MonitorFromRect() argument const.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-18 14:11:32 +02:00
Alexandre Julliard 898f4b6c6a user32: Take DPI awareness into account in GetDpiForMonitorInternal().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Alexandre Julliard aac37e8d0b user32: Implement monitor rectangle filtering on the user32 side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Alexandre Julliard 2be5b054d3 user32: Move monitor functions to sysparams.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Alexandre Julliard 56dfe6708b user32: Retrieve the screen metrics from the monitor information.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:44 +02:00
Alexandre Julliard ae7acbfe4b user32: Remove FIXMEs from physical<->logical mapping functions.
Also group them with the other DPI functions.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 19:03:27 +02:00
Alistair Leslie-Hughes 80205232d3 user32: Support SPI_S/GETAUDIODESCRIPTION in SystemParametersInfo.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 20:51:26 +02:00
Alexandre Julliard b73a50a35e user32: Update RedrawWindow behavior with explicit desktop window handle.
Newer Windows versions behave differently.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 20:51:26 +02:00
Michael Müller efa6e6b9ef user32: Add semi-stub for GetAutoRotationState.
We cannot check the status value reliable since there is a good
chance that all the possible values will be returned from different
setups.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-03 11:27:35 +02:00
Alexandre Julliard ea92a74133 user32: Check the DpiScalingVer registry key to enable DPI scaling.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 01:01:55 +02:00
Alexandre Julliard 4abc3d726f user32: Don't remap DPI for font size in points when saving.
Points already take DPI into account.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-21 14:20:57 +02:00
Alexandre Julliard f7b5b8975c user32: Store the window DPI in the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-17 14:10:23 +02:00
Alexandre Julliard 7fdf90e395 user32: Implement LogicalToPhysicalPointForPerMonitorDPI() and PhysicalToLogicalPointForPerMonitorDPI().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 12:51:21 +02:00
Alexandre Julliard fb563978d8 user32: Implement GetDpiForWindow().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 12:51:21 +02:00
Alexandre Julliard 8b7ed36307 user32: Add partial stub for GetDpiForMonitorInternal().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 12:51:21 +02:00
Alexandre Julliard 3458af7db0 user32: Implement GetSystemMetricsForDpi().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-13 14:34:26 +02:00
Alexandre Julliard a02ed14732 user32: Implement SystemParametersInfoForDpi().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-13 14:34:25 +02:00
Alexandre Julliard d4d12801bc user32: Included padded border into the border width in NONCLIENTMETRICS.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-13 14:15:40 +02:00
Alexandre Julliard 74a9c91964 user32: Get the system DPI from the registry instead of from GDI.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:24:36 +02:00
Alexandre Julliard da2551f874 user32: Support returning to the process default in SetThreadDpiAwarenessContext().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 16:23:05 +02:00
Alexandre Julliard 165f552c34 user32: Add more allowed values in GetAwarenessFromDpiAwarenessContext() and IsValidDpiAwarenessContext().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 16:23:05 +02:00
Alexandre Julliard 9fa96f5433 user32: Implement Get/SetProcessDpiAwarenessInternal().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 16:23:04 +02:00
Alexandre Julliard 478814ed95 user32: Implement Get/SetThreadDpiAwarenessContext().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 20:47:10 +02:00
Michael Stefaniuc e8411d22d5 user32: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 16:02:53 +02:00
Michael Stefaniuc 6e7f28d934 user32: Remove an ARRAY_SIZE()-like macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 16:02:49 +02:00
Alexandre Julliard bd0cd09e69 user32: Implement SetProcessDpiAwarenessContext().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-30 12:37:55 +02:00
Alexandre Julliard ff7961e152 user32: Implement AreDpiAwarenessContextsEqual().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-30 12:37:05 +02:00
Alexandre Julliard d17ca871dd user32: Implement GetAwarenessFromDpiAwarenessContext().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-30 12:34:29 +02:00
Alexandre Julliard 4e752086d7 user32: Implement IsValidDpiAwarenessContext().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-30 12:33:14 +02:00
Alexandre Julliard c2e0ae5bfd user32: Forward more system metrics to SystemParametersInfoW.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:23:37 +02:00