Something went wrong. Try again.
Reactos
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071/* * PROJECT: ReactOS api tests * LICENSE: GPL - See COPYING in the top level directory * PURPOSE: Test for CreateCompatibleDC * PROGRAMMERS: Timo Kreuzer */
#include "precomp.h"
void Test_CreateCompatibleDC(){ HDC hdcScreen, hOldDC, hdc, hdc2; HPEN hOldPen; COLORREF color;
/* Get screen DC */ hdcScreen = GetDC(NULL);
/* Test NULL DC handle */ SetLastError(ERROR_SUCCESS); hdc = CreateCompatibleDC(NULL); ok(hdc != NULL, "CreateCompatibleDC(NULL) failed\n"); ok(GetLastError() == ERROR_SUCCESS, "GetLastError() == %ld\n", GetLastError()); if(hdc) DeleteDC(hdc);
/* Test invalid DC handle */ SetLastError(ERROR_SUCCESS); hdc = CreateCompatibleDC((HDC)0x123456); ok(hdc == NULL, "Expected NULL, got %p\n", hdc); ok(GetLastError() == ERROR_SUCCESS, "GetLastError() == %ld\n", GetLastError()); if(hdc) DeleteDC(hdc);
hdc = CreateCompatibleDC(hdcScreen); ok(hdc != NULL, "CreateCompatibleDC failed\n");
// Test if first selected pen is BLACK_PEN (? or same as screen DC's pen?) hOldPen = SelectObject(hdc, GetStockObject(DC_PEN)); ok (hOldPen == GetStockObject(BLACK_PEN), "hOldPen == %p\n", hOldPen); hOldPen = SelectObject(hdc, GetStockObject(BLACK_PEN)); ok (hOldPen == GetStockObject(DC_PEN), "hOldPen == %p\n", hOldPen);
/* Test for the starting Color == RGB(0,0,0) */ color = SetDCPenColor(hdc, RGB(1,2,3)); ok(color == RGB(0,0,0), "color == %lx\n", color);
/* Check for reuse counter */ hOldDC = hdc; DeleteDC(hdc); hdc = CreateCompatibleDC(hdcScreen); hdc2 = CreateCompatibleDC(hOldDC); ok(hdc2 == NULL, "Expected NULL, got %p\n", hdc); if (hdc2 != NULL) DeleteDC(hdc2);
/* Check map mode */ hdc = CreateCompatibleDC(hdcScreen); SetMapMode(hdc, MM_ISOTROPIC); hdc2 = CreateCompatibleDC(hdc); ok(GetMapMode(hdc2) == MM_TEXT, "GetMapMode(hdc2)==%d\n", GetMapMode(hdc2));
/* cleanup */ DeleteDC(hdc);
ReleaseDC(NULL, hdcScreen);}
START_TEST(CreateCompatibleDC){ Test_CreateCompatibleDC();}