2 * PROJECT: ReactOS API tests
3 * LICENSE: LGPL-2.1+ (https://spdx.org/licenses/LGPL-2.1+)
4 * PURPOSE: Test for RedrawWindow
5 * COPYRIGHT: Copyright 2018 Thomas Faber <thomas.faber@reactos.org>
10 static DWORD dwThreadId
;
11 static BOOL got_paint
;
22 ok(GetCurrentThreadId() == dwThreadId
, "Thread 0x%lx instead of 0x%lx\n", GetCurrentThreadId(), dwThreadId
);
23 if (message
== WM_PAINT
)
27 return DefWindowProcW(hWnd
, message
, wParam
, lParam
);
31 START_TEST(RedrawWindow
)
41 dwThreadId
= GetCurrentThreadId();
42 RegisterSimpleClass(WndProc
, L
"CreateTest");
44 hWnd
= CreateWindowExW(0, L
"CreateTest", NULL
, 0, 10, 10, 20, 20, NULL
, NULL
, 0, NULL
);
45 ok(hWnd
!= NULL
, "CreateWindow failed\n");
47 ShowWindow(hWnd
, SW_SHOW
);
49 while (PeekMessage( &msg
, 0, 0, 0, PM_REMOVE
))
51 DispatchMessageA( &msg
);
54 ok(got_paint
== TRUE
, "Did not process WM_PAINT message\n");
57 hRgn
= CreateRectRgn(0, 0, 1, 1);
58 ok(hRgn
!= NULL
, "CreateRectRgn failed\n");
59 ret
= RedrawWindow(hWnd
, NULL
, hRgn
, RDW_INTERNALPAINT
| RDW_INVALIDATE
);
60 ok(ret
== TRUE
, "RedrawWindow failed\n");
63 while (PeekMessage( &msg
, 0, 0, 0, PM_REMOVE
))
65 RECORD_MESSAGE(1, msg
.message
, POST
, 0, 0);
66 if (msg
.message
== WM_PAINT
)
71 ok(got_paint
== FALSE
, "Received unexpected WM_PAINT message\n");
74 if (msg
.message
!= WM_PAINT
|| i
>= 10)
76 DispatchMessageA( &msg
);
80 ok(i
== 10, "Received %d WM_PAINT messages\n", i
);
81 ok(got_paint
== TRUE
, "Did not process WM_PAINT message\n");