[DDK]: Merge 46183 from header-branch.
[reactos.git] / rostests / apitests / w32knapi / ntgdi / NtGdiSaveDC.c
1
2 INT
3 Test_NtGdiSaveDC(PTESTINFO pti)
4 {
5 HDC hdc;
6 HWND hwnd;
7
8 /* Test 0 hdc */
9 TEST(NtGdiSaveDC(0) == 0);
10
11 /* Test info dc */
12 hdc = CreateICW(L"DISPLAY",NULL,NULL,NULL);
13 TEST(hdc);
14 TEST(NtGdiSaveDC(hdc) == 1);
15 TEST(NtGdiSaveDC(hdc) == 2);
16 DeleteDC(hdc);
17
18 /* Test display dc */
19 hdc = GetDC(0);
20 TEST(hdc);
21 TEST(NtGdiSaveDC(hdc) == 1);
22 TEST(NtGdiSaveDC(hdc) == 2);
23 ReleaseDC(0, hdc);
24
25 /* Test a mem DC */
26 hdc = CreateCompatibleDC(0);
27 TEST(hdc);
28 TEST(NtGdiSaveDC(hdc) == 1);
29 TEST(NtGdiSaveDC(hdc) == 2);
30 DeleteDC(hdc);
31
32 /* Create a window */
33 hwnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
34 10, 10, 100, 100,
35 NULL, NULL, g_hInstance, 0);
36 hdc = GetDC(hwnd);
37 TEST(hdc);
38 TEST(NtGdiSaveDC(hdc) == 1);
39 NtGdiRestoreDC(hdc, 1);
40 ReleaseDC(hwnd, hdc);
41 DestroyWindow(hwnd);
42
43 return APISTATUS_NORMAL;
44 }
45