892c4f860c0926fb6feed2314d591467186b74a0
5 PALENTRY(BYTE r
, BYTE g
, BYTE b
)
17 Test_NtUserSelectPalette(PTESTINFO pti
)
19 HPALETTE hPal
, hOldPal
;
25 PALETTEENTRY entry
[20];
28 ZeroMemory(&pal
, sizeof(pal
));
30 pal
.logpal
.palVersion
= 0x300;
31 pal
.logpal
.palNumEntries
= 6;
32 pal
.entry
[0] = PALENTRY(0,0,0);
33 pal
.entry
[1] = PALENTRY(255,255,255);
34 pal
.entry
[2] = PALENTRY(128,128,128);
35 pal
.entry
[3] = PALENTRY(128,0,0);
36 pal
.entry
[4] = PALENTRY(0,128,0);
37 pal
.entry
[5] = PALENTRY(0,0,128);
39 hPal
= CreatePalette(&pal
.logpal
);
41 TEST(DeletePalette(hPal
) == 1);
42 hPal
= CreatePalette(&pal
.logpal
);
46 hWnd
= CreateWindowW(L
"BUTTON", L
"TestWindow", WS_OVERLAPPEDWINDOW
| WS_VISIBLE
,
47 CW_USEDEFAULT
, CW_USEDEFAULT
, 100, 100,
48 NULL
, NULL
, g_hInstance
, 0);
51 hCompDC
= CreateCompatibleDC(hDC
);
55 SetLastError(ERROR_SUCCESS
);
56 hOldPal
= NtUserSelectPalette(NULL
, hPal
, 0);
58 TEST(GetLastError() == ERROR_SUCCESS
);
61 SetLastError(ERROR_SUCCESS
);
62 hOldPal
= NtUserSelectPalette((HDC
)-1, hPal
, 0);
64 TEST(GetLastError() == ERROR_SUCCESS
);
66 /* Test NULL palette */
67 SetLastError(ERROR_SUCCESS
);
68 hOldPal
= NtUserSelectPalette(hDC
, NULL
, 0);
70 TEST(GetLastError() == ERROR_SUCCESS
);
72 /* Test invalid palette */
73 SetLastError(ERROR_SUCCESS
);
74 hOldPal
= NtUserSelectPalette(hDC
, (HPALETTE
)-1, 0);
76 TEST(GetLastError() == ERROR_SUCCESS
);
78 /* Test valid palette */
79 hOldPal
= NtUserSelectPalette(hDC
, hPal
, 0);
81 TEST(hOldPal
== GetStockObject(DEFAULT_PALETTE
));
83 /* We cannot Delete the palette */
84 TEST(DeletePalette(hPal
) == 0);
86 /* We can still select the Palette into a compatible DC */
87 hOldPal
= NtUserSelectPalette(hCompDC
, hPal
, 0);
91 return APISTATUS_NORMAL
;