Commit Graph

145 Commits

Author SHA1 Message Date
Brendan Shanks 22e0f03e92 user32: Support SetWindowPos() SWP_ASYNCWINDOWPOS flag.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-31 10:47:54 +01:00
Francois Gouget ba1aa24378 user32: Fix the spelling of a TRACE() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Paul Gofman 2ac268436b user32: Fix coords in WINDOWPOS for WM_NCCALCSIZE sent from SetWindowPos().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40777
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-21 20:39:15 +02:00
Paul Gofman 480bae108c user32: Return correct showCmd from GetWindowPlacement() for other process window.
Fixes black screen in SWTOR after window minimize / maximize or
switching window in full screen mode.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 22:39:50 +02:00
Zebediah Figura 50bc18201d user32: Move iconic windows as their border instead of their icon.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-20 09:19:15 +01:00
Zebediah Figura 8dade1bc86 user32: Get rid of icon titles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura c45f60450a user32: Allow clicking the restore and maximize boxes for on minimized windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 04707a342f user32: Correctly place minimized windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 73684e84b6 user32: Reimplement ArrangeIconicWindows() using minimized metrics.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 118f333ac2 user32: Use the C[XY]MINIMIZED rather than C[XY]ICON size for minimized windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 119e215e3e user32: SetWindowPos() shouldn't change the client rect of a minimized window.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Alexandre Julliard 87d1a4a329 server: Scale coordinates in get_window_children_from_point based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 13:32:57 +02:00
Alexandre Julliard 72644bb603 user32: Switch to the window DPI awareness to process WM_GETMINMAXINFO.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 0da23418ab user32: Switch to the window DPI awareness in ShowWindow().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +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 7068a85604 user32: Scale window dimensions in DeferWindowPos() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 12:17:06 +02:00
Alexandre Julliard 4233caa7b8 user32: Scale window dimensions in SetWindowPos() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 12:16:48 +02:00
Alexandre Julliard 1373e00400 user32: Return the full MINMAXINFO data from WINPOS_GetMinMaxInfo().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 10:38:46 +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
Alexandre Julliard 85f81948de server: Store the surface rectangle in the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-11 15:44:15 +02:00
Alexandre Julliard 3cd66cf7b1 user32: Don't copy window bits to or from the dummy surface.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-04 16:07:50 +02:00
Alexandre Julliard 026309888c user32: Only pass the new valid rectangle to the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 17:19:53 +02:00
Alexandre Julliard 52be6f0ecc user32: Rename rectWindow to window_rect for consistency.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 17:03:16 +02:00
Alexandre Julliard 0a75a1b62b user32: Rename rectClient to client_rect for consistency.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 17:00:38 +02:00
Alexandre Julliard e95d0c6849 user32: Take into account the offset between old and new parent in SetParent().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-07 12:00:17 +02:00
Alexandre Julliard bc956d8aa6 user32: Avoid repeatedly fetching the window rectangles in SetWindowPos.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-07 11:49:17 +02:00
Alexandre Julliard 1f17051028 Revert "user32: SetWindowPos() should check the final window position in screen coords before adding SWP_NOMOVE."
This reverts commit 38a76ecb03.
It has no effect, the coordinates are identical either way.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-06 11:21:57 +02:00
Zebediah Figura 9b2dd2db6a user32: Kill focus before minimizing a window.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 14:42:39 +01:00
Huw Davies 9933a0fc86 user32: Initialize length before calling GetWindowPlacement().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-30 21:30:45 +01:00
Zebediah Figura 292450b07f user32: Calculate a window's minimized size even if it's already minimized.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:35 +02:00
Alexandre Julliard 5b9c69b93f user32: Copy the bits of child windows when the parent has a surface.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:05:16 +02:00
Alexandre Julliard 4e13c06f3b user32: Add a helper function for copying bits from a window surface.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:05:15 +02:00
Alexandre Julliard 4f88a57ce7 server: Return the top surface window even when not using OpenGL.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:05:15 +02:00
Austin English 3b9e49b4d8 user32: Add LogicalToPhysicalPoint/PhysicalToLogicalPoint stubs.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-19 20:26:34 +02:00
Fabian Maurer d594ba3322 user32: Only send position-change messages when needed.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 10:43:15 +01:00
Fabian Maurer 997d4ef44f user32: Send WM_NCPAINT and WM_ERASEBKGND when window is shown.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 10:42:37 +01:00
Rodrigo Rivas Costa fbd9ed0dee user32: Fix error handling in EndDeferWindowPos.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-17 20:53:53 +01:00
Michael Stefaniuc bca5acb5ca user32: Use EqualRect() instead of memcmp() to compare RECTs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 00:23:55 +09:00
Alexandre Julliard fb6304119a user32: Add helper functions to get and set the window internal flags.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-13 19:46:30 +09:00
Alexandre Julliard b4bccfee05 user32: Use the monitor rectangle to position icons on the desktop.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 16:56:15 +09:00
Alexandre Julliard 100239d90f user32: Take the arrange flags into account when positioning icon windows.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 16:56:15 +09:00
Rodrigo Rivas Costa 5e65b65219 user32: Make DeferWindowPos() fail on invalid window handles.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 19:32:12 +09:00
Jacek Caban da72de967b user32: Allow making window visible by WM_SETREDRAW message. 2015-03-13 21:53:19 +09:00
Drew Ronneberg f271634296 user32: Do not call SendMessage() to hide a window that is already hidden. 2014-11-21 20:08:33 +09:00
Sebastian Lackner b43f13f892 user32: Fix invalid argument passed to ExtCreateRegion. 2014-11-03 20:31:10 +09:00
Piotr Caban 7257b62bd1 user32: Try to activate topmost activable window in WINPOS_ActivateOtherWindow. 2014-06-11 16:09:01 +02:00
Ken Thomases b423532f94 user32: In WINPOS_SysCommandSizeMove(), fix constraining a point to a rect's right and bottom edges. 2013-12-17 16:36:45 +01:00
Ken Thomases 03f8f85dda user32: Respect monitor work area when sizing or moving a top-level window.
This prevents dragging a window's title bar behind a menu bar across the top
of a screen, for example.
2013-12-13 12:36:08 +01:00
Ken Thomases c7d2bcfb61 user32: Fix mouseRect computation for starting position when sizing window.
The mouseRect is the limit of the mouse position to keep the window between
its minimum and maximum sizes.  The computation was correct if the mouse
started precisely on the window border.  But if the mouse is not exactly at
the border, then the mouse limit has to account for that, because the window
will be resized based on the distance from the starting point.
2013-09-12 11:07:50 +02:00