Commit Graph

89 Commits

Author SHA1 Message Date
Zebediah Figura b8732c80b1 win32u: Move caret APIs from user32.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 22:21:04 +02:00
Jacek Caban 52ff3a3094 win32u: Move NtUserExcludeUpdateRgn implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-14 17:53:34 +02:00
Jacek Caban 44f667fa14 win32u: Move apply_window_pos implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:30:54 +01:00
Jacek Caban 6a5ddbeedc win32u: Move NtUserDestroyWindow implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-17 21:06:10 +01:00
Jacek Caban 1df20bb22a win32u: Move NtUserGetUpdateRect implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-15 18:05:27 +01:00
Jacek Caban 0c752feda6 win32u: Move NtUserSetParent implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-15 18:05:27 +01:00
Jacek Caban 08b2fbcbd6 win32u: Move NtUserSetWindowPos implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-15 18:05:27 +01:00
Jacek Caban d942281a00 win32u: Move NtUserGetUpdateRgn implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:28 +01:00
Jacek Caban 45e0afbca4 win32u: Move NtUserRedrawWindow implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:28 +01:00
Jacek Caban 31a044efa5 win32u: Move NtUserEndPaint implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:28 +01:00
Jacek Caban 0b0403baa8 win32u: Move NtUserBeginPaint implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:28 +01:00
Jacek Caban b1708179b9 win32u: Move NtUserReleaseDC implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:28 +01:00
Jacek Caban ace24ec946 win32u: Move NtUserGetDCEx implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:28 +01:00
Jacek Caban 4bb7e5af52 win32u: Mmove dummy surface implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:28 +01:00
Jacek Caban e411d91958 win32u: Move NtUserWindowFromDC implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:28 +01:00
Jacek Caban 4ef69e2b59 win32u: Move NtUserGetAncestor implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Jacek Caban 7c76aa05a9 win32u: Move class management implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 20:31:55 +01:00
Jacek Caban de739e9f91 win32u: Move NtUserGetGUIThreadInfo implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-24 18:36:25 +01:00
Zhiyi Zhang 78ac7ae24d user32: Draw standard scroll bars in hovered state only when they were previously painted by DefWinProc().
When an application handles WM_NCPAINT by itself, standard scroll bars are not drawn even if
WS_HSCROLL or WS_VSCROLL is used. In this case, when handling WM_NCMOUSEMOVE, DefWinProc() shouldn't
repaint standard scroll bars to reflect hovered state, otherwise, DefWinProc() draws over the custom
non-client area painted by the application. This is also the behavior on XP.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51900
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 09:27:54 +01:00
Jacek Caban 5204622efa win32u: Move NtUserScrollDC implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 15:27:03 +01:00
Jacek Caban d1290b6ec7 user32: Introduce user_driver_funcs struct.
And use it instead of USER_DRIVER.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 18:39:48 +01:00
Alexandre Julliard 5ad25c293b user32: Use wide character string literals.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:09:59 +02:00
Alexandre Julliard 9cc9236556 user32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 15:15:38 +02:00
Alexandre Julliard 700b6182a4 user32: Switch to the window DPI awareness for non-client painting.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 3735f36dc9 user32: Fetch client and window rectangles in a single call.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-18 10:09:55 +02:00
Alexandre Julliard 766287ad6a server: Return the surface rect as top clipping rect.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-11 15:45:11 +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
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 3eb0d2868c user32: Consistently print the HDC value in DCE traces.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 19:13:26 +02:00
Alexandre Julliard e7f30014c3 user32: Always update the visible region for cross-process DCEs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:30 +02:00
Alexandre Julliard bcbc84e214 user32: Don't exclude clipped children from the copied window bits since they may be up to date.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-20 10:41:43 +02:00
Alexandre Julliard 2999123fed user32: Also disable the DC if the window is destroyed without a ReleaseDC.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:31 +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
Huw Davies a60144ee74 user32: Disable cached DCs once they are released.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:46:22 +01:00
Lauri Kenttä 1d3b9448f6 user32: Fix caret disappearing after scrolling.
The caret needs to be moved along with scrolling even if it's
outside the visible area. Otherwise, when the caret is scrolled
out from the view, the position won't get updated anymore and
the caret will never scroll back again.

The idea is based on the patch by André Hentschel.

Signed-off-by: Lauri Kenttä <lauri.kentta@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-02 21:10:12 +01:00
Alexandre Julliard d104891433 user32: Only start reusing DCEs after the cache reached its limit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 09:55:18 +09:00
Alexandre Julliard d341b0c381 user32: Completely free owned DCEs when the corresponding window/class is destroyed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 09:55:03 +09:00
Alexandre Julliard 5f7e4ce642 user32: Fix refcounting of window DCEs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 09:54:01 +09:00
Vincent Povirk 1383012395 user32: Also change rcUpdate when scrolling by more than the window size.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 00:53:51 +09:00
Alistair Leslie-Hughes 5fa0422227 user32: Don't leak region on error.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-04 18:43:01 +09:00
Alex Henrie 5b53c0b88b user32: Avoid double initialization.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 21:59:08 +09:00
Sebastian Lackner b43f13f892 user32: Fix invalid argument passed to ExtCreateRegion. 2014-11-03 20:31:10 +09:00
André Hentschel bdc9b147b9 user32: Use boolean return values in boolean functions. 2014-02-04 11:15:37 +01:00
Alexandre Julliard 04ad06353d user32: Move the common parts of ScrollDC into user32 and the null driver. 2013-04-19 16:16:16 +02:00
Alexandre Julliard 0cc78d97c1 user32: Don't paint to the surface if the window has a pixel format, regardless of the state of the top parent. 2013-02-11 17:49:22 +01:00
Alexandre Julliard ab2cac4815 user32: Fix handling of NULL paint struct in BeginPaint. 2012-11-27 20:52:25 +01:00
Alexandre Julliard 4396a79ede gdi32: Add a DC hook flag to reset the DC state. 2012-10-24 18:24:03 +02:00
Alexandre Julliard 6cda76fd99 user32: Don't free a clip region twice. 2012-10-17 21:40:18 +02:00
Alexandre Julliard 77b9ec8cd6 user32: Don't use the window surface when the pixel format was set. 2012-10-10 12:46:56 +02:00