Commit Graph

37 Commits

Author SHA1 Message Date
Dmitry Timoshkov
7d86789758 Add a test for RedrawWindow with an empty region/rectangle, make it
pass under Wine.
2005-11-30 19:46:00 +01:00
Ge van Geldorp
1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Michael Kaufmann
8eaca69b39 ScrollWindowEx: Don't move the caret of child windows and hide it only
if it's in the source or in the destination rectangle.
2005-11-01 09:53:59 +00:00
Dmitry Timoshkov
2dc8067408 Add the tests for behaviour of [In]validateRect and [In]validateRgn
with hwnd set to 0, make them pass under Wine.
2005-10-31 15:45:16 +00:00
Alexandre Julliard
a02c5f8334 Call the USER driver directly to check for X events on RDW_UPDATENOW
instead of calling MsgWaitForMultipleObjects.
2005-08-03 19:16:01 +00:00
Alexandre Julliard
15ec968724 Load the USER driver on demand instead of at user32 load time.
Provide a fallback implementation for all the functions to avoid
having to check for NULL functions everywhere.
2005-07-18 15:14:56 +00:00
Alexandre Julliard
5020529591 Restore the clip region after GetDCEx in send_erase as if it had been
a BeginPaint.
2005-07-06 15:51:29 +00:00
Alexandre Julliard
db412aaf60 Added a from_child parameter to the get_update_region request to allow
restarting the search from a given child, in order to avoid looping
forever on windows that don't repaint correctly.
2005-05-31 13:37:16 +00:00
Alexandre Julliard
7bb88af5a2 Process the pending expose events on RDW_UPDATENOW before doing the
redraw_window server call so that the parent windows get properly
validated if necessary.
2005-05-13 14:03:06 +00:00
Alexandre Julliard
ac0bf21abc Don't retrieve a window DC in GetUpdateRect if there is nothing to
erase, to avoid setting a null update region in an owned DC.
Avoid potential double delete of the update region on return from
send_erase.
2005-05-05 16:52:21 +00:00
Alexandre Julliard
40b7a50f8e Moved the ScrollWindow and ScrollDC functions to dlls/user/painting.c,
and removed windows/scroll.c.
2005-04-25 16:13:17 +00:00
Alexandre Julliard
eea706948a The update region passed in WM_NCPAINT and the clipping region passed
to GetDCEx have to be in screen coordinates.
2005-03-30 17:11:46 +00:00
Alexandre Julliard
d99df2b757 Only reset the clip region in GetDC() if a new region is specified.
Don't release the clip region for window DCs in ReleaseDC(), except
when called from EndPaint().
Added a bunch of tests.
2005-03-30 10:28:58 +00:00
Alexandre Julliard
2fb7c8754a Moved DCE support to the X11 driver. 2005-03-25 16:47:04 +00:00
Alexandre Julliard
039603c77d Don't maintain a client-side WND structure for the desktop window.
Made WIN_GetPtr return WND_DESKTOP in that case.
2005-03-24 15:18:50 +00:00
Alexandre Julliard
cdb2bfe884 Process only pending expose events during RDW_UPDATENOW, not all the
other X events.
2005-03-08 19:26:57 +00:00
Alexandre Julliard
d9e3634263 Retry sending a WM_PAINT in update_now after we sent an erase
message.
2005-03-07 11:06:30 +00:00
Alexandre Julliard
0e0f62f2fa Repaint the non-client area to work around broken WM_PAINT handlers
also when doing a synchronous update with RDW_UPDATENOW.
2005-02-24 19:42:08 +00:00
Rein Klazes
8417d41a24 Calling ValidateRect or ValidateRgn on a windows also validates the
children. Add a test to show the behavior.
2005-02-16 17:52:01 +00:00
Alexandre Julliard
6db71654d3 Fixed bug that caused the whole window to be repainted by RedrawWindow
when the passed region was empty.
2005-01-28 17:23:25 +00:00
Alexandre Julliard
56206376b8 Desktop window is repainted on WM_ERASEBKGND, it must never get a
WM_PAINT.
2005-01-11 15:15:11 +00:00
Alexandre Julliard
aef0d18d97 Use the DC origin to map coordinates in ExcludeUpdateRgn instead of
calling an internal DCE function.
2005-01-04 12:11:09 +00:00
Rein Klazes
bcb3490d3c GetUpdateRect can be called with a NULL rect. 2004-12-08 19:43:45 +00:00
Alexandre Julliard
5defa49979 Moved update region handling to the server. 2004-12-07 17:31:53 +00:00
Alexandre Julliard
bcb1f8fe05 Get rid of the WIN_NEEDS_BEGINPAINT flag, Windows will happily loop
forever too if WM_PAINT is not handled properly.
2004-10-30 02:13:48 +00:00
Alexandre Julliard
998863bf63 Only send WM_PAINTICON and WM_ICONERASEBKGND to 16-bit windows (found
by Jeremy White).
2004-10-07 03:09:37 +00:00
Alexandre Julliard
28a8cacaf5 GetUpdateRect should return TRUE even if only the non-client area is
invalid (reported by Rein Klazes).
2004-09-02 20:13:19 +00:00
Alexandre Julliard
0ba0d7a119 GetUpdateRgn should clip the returned region to the client area.
Changed GetUpdateRect and ExcludeUpdateRgn to call GetUpdateRgn.
Moved these 3 functions to dlls/user/painting.c.
2004-08-26 00:46:11 +00:00
Steven Edwards
cfcc449324 Porting fixes. 2003-11-26 22:29:30 +00:00
Alexandre Julliard
e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Dmitry Timoshkov
07eda42808 Fix the logic for setting the lps->fErase flag in BeginPaint. 2003-05-11 02:58:53 +00:00
Dmitry Timoshkov
befff55609 Protect BeginPaint and EndPaint from lps being NULL. 2003-04-30 00:50:43 +00:00
Dan Kegel
0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +00:00
Alexandre Julliard
aff7ddaeeb Made user compile with -DSTRICT. 2002-11-22 21:22:14 +00:00
Alexandre Julliard
7ef66af34a Moved some more 16-bit functions to user16.c.
A few fixes for -DSTRICT.
2002-11-22 04:47:10 +00:00
Alexandre Julliard
0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Alexandre Julliard
4964c0f185 Started rewrite of painting functions for multiple processes. Moved
BeginPaint to dlls/user. Fixed bug in paint count handling.
2001-12-13 01:03:30 +00:00