99 ok(
ret,
"Unexpected return value.\n");
100 ok(
limit == 10.0f,
"Unexpected default miter limit %f.\n",
limit);
104 ok(!
ret,
"Unexpected return value.\n");
105 ok(
limit == 456.0f,
"Unexpected default miter limit %f.\n",
limit);
109 ok(
ret,
"Unexpected return value.\n");
110 ok(
limit == 10.0f,
"Unexpected default miter limit %f.\n",
limit);
141 ok(
ret == 0,
"GetClipRgn returned %d instead of 0\n",
ret);
143 ok(
ret ==
NULLREGION,
"GetRgnBox returned %d %s instead of NULLREGION\n",
159 ok(
ret == 1,
"GetClipRgn returned %d instead of 1\n",
ret);
260 ok(!
ret,
"SaveDC returned %u\n",
ret);
272 if (!pGdiConvertToDevmodeW)
274 win_skip(
"GdiConvertToDevmodeW is not available on this platform\n");
278 memset(&dmA, 0,
sizeof(dmA));
285 dmW = pGdiConvertToDevmodeW(&dmA);
291 dmW = pGdiConvertToDevmodeW(&dmA);
293 "wrong size %u\n", dmW->
dmSize);
298 dmW = pGdiConvertToDevmodeW(&dmA);
300 "wrong size %u\n", dmW->
dmSize);
302 "expected DMICMMETHOD_NONE, got %lu\n", dmW->dmICMMethod);
306 dmW = pGdiConvertToDevmodeW(&dmA);
308 "wrong size %u\n", dmW->
dmSize);
313 dmW = pGdiConvertToDevmodeW(&dmA);
314 ok(!dmW,
"GdiConvertToDevmodeW should fail\n");
319 dmW = pGdiConvertToDevmodeW(&dmA);
327 static const int caps[] =
379 "wrong caps on %s for %u: %u\n",
descr, caps[
i],
389 ok( !
type,
"GetBoundsRect succeeded on %s\n",
descr );
391 ok( !
type,
"SetBoundsRect succeeded on %s\n",
descr );
413 ok( hdc_caps > 0,
"expected a positive value on %s, got %d\n",
descr, hdc_caps );
415 ok( hdc_caps == 0,
"expected 0 on %s, got %d\n",
descr, hdc_caps );
420 "mismatched caps on %s for %u: %u/%u (scale %d)\n",
descr, caps[
i],
426 "GetBoundsRect returned type %x for %s\n",
type,
descr );
454 "Got DESKTOPHORZRES %d on %s, expected %d\n",
459 "Got DESKTOPVERTRES %d on %s, expected %d\n",
469 "Got DESKTOPHORZRES %d on %s, expected %d\n",
472 "Got DESKTOPVERTRES %d on %s, expected %d\n",
501 info->bmiHeader.biWidth = 16;
502 info->bmiHeader.biHeight = 16;
503 info->bmiHeader.biPlanes = 1;
504 info->bmiHeader.biBitCount = 8;
511 "mismatched caps on %s and DIB for %u: %u/%u\n",
descr, caps[
i],
549 ok(
ret ||
broken(!
ret) ,
"GetDeviceGammaRamp failed on %s (type %ld), error %lu\n",
567 ok( !
hdc,
"CreateDC succeeded\n" );
612 ok( !
hdc,
"CreateDC succeeded\n" );
615 ok( !
hdc,
"CreateDC succeeded\n" );
623 HDC hdc, hNewDC, hdcMetafile, screen_dc;
630 memset(&dm, 0,
sizeof(dm));
633 ok(bRet,
"EnumDisplaySettingsEx failed\n");
646 ok(
hdc !=
NULL,
"CreateCompatibleDC returned %p\n",
hdc);
655 ok(bRet ==
TRUE,
"DeleteDC returned %u\n", bRet);
659 ok(hNewDC ==
NULL,
"CreateCompatibleDC returned %p\n", hNewDC);
663 ok(hdcMetafile != 0,
"CreateEnhMetaFileA failed\n");
665 ok(hNewDC !=
NULL,
"CreateCompatibleDC failed\n");
677 ok(hdcMetafile != 0,
"CreateEnhMetaFileA failed\n");
679 ok(hNewDC ==
NULL,
"CreateCompatibleDC succeeded\n");
702 for(
i = 0;
i < 64;
i++)
bits[
i] =
i & 1 ? 0 : 0xffffff;
709 ok( hdcmem !=
NULL,
"CreateCompatibleDC rets %p\n", hdcmem);
713 ok(ret2 > 0,
"expected ret2 > 0, got %d\n", ret2);
715 ok(
ret == ret2,
"expected ret == %d, got %d\n", ret2,
ret);
717 ok(
ret == ret2,
"expected ret == %d, got %d\n", ret2,
ret);
722 ok(
ret == 0,
"expected ret == 0, got %d\n",
ret);
723 ok(
descr.nSize == 0,
"expected descr.nSize == 0, got %d\n",
descr.nSize);
727 ok(
ret == ret2,
"expected ret == %d, got %d\n", ret2,
ret);
728 ok(
descr.nSize ==
sizeof(
descr),
"expected desc.nSize == sizeof(descr), got %d\n",
descr.nSize);
732 ok(
ret == 0,
"expected ret == 0, got %d\n",
ret);
733 ok(
descr.nSize == 0,
"expected descr.nSize == 0, got %d\n",
descr.nSize);
739 ok( oldhbmp !=
NULL,
"SelectObject returned NULL\n" );
741 ok( col == 0xffffff,
"GetPixel returned %08lx, expected 00ffffff\n", col);
743 ok( col == 0x000000,
"GetPixel returned %08lx, expected 00000000\n", col);
745 ok( col ==
CLR_INVALID,
"GetPixel returned %08lx, expected ffffffff\n", col);
754 ok( !oldhbmp,
"SelectObject of a bitmap with 2 bits/pixel should return NULL\n");
762 if( bitspixel == 16) {
763 ok( oldhbmp !=
NULL,
"SelectObject returned NULL\n" );
766 "GetPixel of a bitmap with 16 bits/pixel returned %08lx, expected 00ffffff\n", col);
769 "GetPixel of a bitmap with 16 bits/pixel returned returned %08lx, expected 00000000\n", col);
778 if( bitspixel == 32) {
779 ok( oldhbmp !=
NULL,
"SelectObject returned NULL\n" );
782 "GetPixel of a bitmap with 32 bits/pixel returned %08lx, expected 00ffffff\n", col);
785 "GetPixel of a bitmap with 32 bits/pixel returned returned %08lx, expected 00000000\n", col);
802 ok(
hwnd != 0,
"CreateWindowExA failed\n");
805 ok(
hdc != 0,
"GetDC failed\n");
811 ok(
ret,
"DeleteDC failed\n");
813 ok(!
ret,
"GetDeviceCaps should fail for a deleted DC\n");
816 ok(
hdc != 0,
"GetDC failed\n");
822 ok(
ret,
"DeleteDC failed\n");
824 ok(!
ret,
"GetDeviceCaps should fail for a deleted DC\n");
830 ok(
hwnd != 0,
"GetDesktopWindow failed\n");
833 ok(
hdc != 0,
"GetDC failed\n");
839 ok(
ret,
"DeleteDC failed\n");
841 ok(!
ret,
"GetDeviceCaps should fail for a deleted DC\n");
844 ok(
hdc != 0,
"GetDC failed\n");
850 ok(
ret,
"DeleteDC failed\n");
852 ok(!
ret,
"GetDeviceCaps should fail for a deleted DC\n");
855 memset(&cls, 0,
sizeof(cls));
862 ok(
ret,
"RegisterClassExA failed\n");
866 ok(
hwnd != 0,
"CreateWindowExA failed\n");
869 ok(
hdc != 0,
"GetDC failed\n");
873 ok(
ret,
"DeleteDC failed\n");
877 ok(
ret,
"ReleaseDC failed\n");
884 ok(
hdc != 0,
"GetDC failed\n");
890 ok(
ret,
"DeleteDC failed\n");
892 ok(!
ret,
"GetDeviceCaps should fail for a deleted DC\n");
902 ok(
ret,
"UnregisterClassA failed\n");
905 ok(!
ret,
"GetDeviceCaps should fail for a deleted DC\n");
908 memset(&cls, 0,
sizeof(cls));
915 ok(
ret,
"RegisterClassExA failed\n");
919 ok(
hwnd != 0,
"CreateWindowExA failed\n");
922 ok(
hdc != 0,
"GetDC failed\n");
926 ok(
ret,
"DeleteDC failed\n");
930 ok(
ret,
"ReleaseDC failed\n");
935 ok(
hdc != 0,
"GetDC failed\n");
941 ok(
ret,
"DeleteDC failed\n");
943 ok(!
ret,
"GetDeviceCaps should fail for a deleted DC\n");
948 ok(
ret,
"UnregisterClassA failed\n");
962 ok(
hdc !=
NULL,
"CreateCompatibleDC failed\n");
967 ok(
ret == 0,
"Expected GetBoundsRect to return 0, got %u\n",
ret);
970 ok(
ret == 0,
"Expected GetBoundsRect to return 0, got %u\n",
ret);
973 SetRect(&set_rect, 10, 20, 40, 50);
976 "Expected return flag DCB_RESET to be set, got %u\n",
ret);
980 "Expected GetBoundsRect to return 0, got %u\n",
ret);
984 "Expected GetBoundsRect to return DCB_RESET, got %u\n",
ret);
990 ok(
ret == 0,
"Expected GetBoundsRect to return 0, got %u\n",
ret);
993 ok(
ret == 0,
"Expected GetBoundsRect to return 0, got %u\n",
ret);
996 ok(
ret == 0,
"Expected SetBoundsRect to return 0, got %u\n",
ret);
999 ok(
ret == 0,
"Expected SetBoundsRect to return 0, got %u\n",
ret);
1001 SetRect(&set_rect, 10, 20, 40, 50);
1023 SetRect(&set_rect, 10, 20, 40, 50);
1044 SetRect(&set_rect, 50, 25, 30, 35);
1064 "GetBoundsRect returned %x\n",
ret);
1143 info->bmiHeader.biWidth = 256;
1144 info->bmiHeader.biHeight = 256;
1145 info->bmiHeader.biPlanes = 1;
1146 info->bmiHeader.biBitCount = 8;
1149 ok( dib != 0,
"failed to create DIB\n" );
1173 for (
i = 0;
i < 1000;
i++)
1179 UINT endcap = endcaps[(
i / 3) % 3];
1223 int bitspixel, colorres;
1226 ok(bitspixel != 0,
"Expected to get valid BITSPIXEL capability value\n");
1231 "Expected to get valid COLORRES capability value\n");
1239 "Expected COLORRES to be 18, got %d\n", colorres);
1243 "Expected COLORRES to be 16, got %d\n", colorres);
1248 "Expected COLORRES to be 24, got %d\n", bitspixel);
1251 ok(0,
"Got unknown BITSPIXEL %d with COLORRES %d\n", bitspixel, colorres);
1263 WORD oldramp[3][256],
ramp[3][256];
1269 win_skip(
"GetDeviceGammaRamp failed, skipping tests\n");
1277 win_skip(
"SetDeviceGammaRamp failed, skipping tests\n");
1287 "SetDeviceGammaRamp(zeroes) succeeded\n");
1290 for (
i = 0;
i < 256;
i++)
ramp[0][
i] =
i;
1293 "SetDeviceGammaRamp(low) succeeded\n");
1296 for (
i = 0;
i < 256;
i++)
ramp[0][
i] =
i * 256;
1298 ok(
ret,
"SetDeviceGammaRamp(steep) failed\n");
1302 ramp[0][1] = 0x7FFF;
1303 for (
i = 2;
i < 256;
i++)
ramp[0][
i] = 0xFFFF;
1306 "SetDeviceGammaRam(bright) succeeded\n");
1309 for (
i = 0;
i < 256;
i++)
ramp[0][
i] = 512 *
i;
1311 ok(
ret,
"SetDeviceGammaRamp(wrap) failed\n");
1312 for (
i = 0;
i < 256;
i += 2)
1315 ok(
ret,
"SetDeviceGammaRamp(stairs) failed\n");
1319 ok(
ret,
"SetDeviceGammaRamp(old) failed\n");
1330 return strcmp(tech,
"PostScript") == 0;
1350 pGetDefaultPrinterA = (
void *)
GetProcAddress( winspool,
"GetDefaultPrinterA" );
1351 pOpenPrinterA = (
void *)
GetProcAddress( winspool,
"OpenPrinterA" );
1352 pGetPrinterA = (
void *)
GetProcAddress( winspool,
"GetPrinterA" );
1353 pGetPrinterDriverA = (
void *)
GetProcAddress( winspool,
"GetPrinterDriverA" );
1354 pClosePrinter = (
void *)
GetProcAddress( winspool,
"ClosePrinter" );
1356 if (!pGetDefaultPrinterA || !pOpenPrinterA || !pGetPrinterA || !pGetPrinterDriverA || !pClosePrinter)
1360 if (!pGetDefaultPrinterA(
buffer, &
len ))
goto done;
1361 if (!pOpenPrinterA(
buffer, &hprn,
NULL ))
goto done;
1363 pGetPrinterA( hprn, 2,
NULL, 0, &
len );
1367 pGetPrinterDriverA( hprn,
NULL, 3,
NULL, 0, &
len );
1369 if (!pGetPrinterDriverA( hprn,
NULL, 3, (
LPBYTE)dbuf,
len, &
len ))
goto done;
1375 trace(
"hdc %p for driver '%s' printer '%s' port '%s' is %sPostScript\n",
hdc,
1383 if (hprn) pClosePrinter( hprn );
1385 if (!
hdc)
skip(
"could not create a DC for the default printer\n" );
1391 HDC memdc, display_memdc, enhmf_dc;
1399 if (!
hdc || !hdc_200)
return;
1411 ok( memdc !=
NULL,
"CreateCompatibleDC failed for printer\n" );
1412 ok( display_memdc !=
NULL,
"CreateCompatibleDC failed for screen\n" );
1425 ok( orig !=
NULL,
"SelectObject failed\n" );
1436 ok( orig !=
NULL,
"SelectObject failed\n" );
1438 ok(
BitBlt(
hdc, 10, 10, 20, 20, display_memdc, 0, 0,
SRCCOPY ),
"BitBlt failed\n" );
1439 ok(
BitBlt( memdc, 10, 10, 20, 20, display_memdc, 0, 0,
SRCCOPY ),
"BitBlt failed\n" );
1440 ok(
BitBlt( display_memdc, 10, 10, 20, 20, memdc, 0, 0,
SRCCOPY ),
"BitBlt failed\n" );
1446 ok(enhmf_dc != 0,
"CreateEnhMetaFileA failed\n");
1451 ok(enhmf_dc != 0,
"CreateEnhMetaFileA failed\n");
1463 static const char psadobe[10] =
"%!PS-Adobe";
1479 ok(
ret > 0,
"StartDoc failed: %ld\n",
ret);
1481 strcpy(
buf + 2,
"\n% ===> before DOWNLOADHEADER <===\n");
1488 ok(
ret == 1,
"DOWNLOADHEADER failed\n");
1489 ok(
strcmp(
buf,
"deadbeef") != 0,
"DOWNLOADHEADER failed\n");
1491 strcpy(
buf + 2,
"\n% ===> after DOWNLOADHEADER <===\n");
1497 ok(
ret == 1,
"EndDoc failed\n");
1503 ok(
ret,
"ReadFile failed\n");
1507 buf[
sizeof(
buf) - 1] = 0;
1511 if (!(
p[0] == 0x1b &&
p[1] ==
'%') &&
memcmp(
p,
"@PJL", 4) != 0)
1517 while (*
p ==
'\r' || *
p ==
'\n')
p++;
1519 ok(
p && !
memcmp(
p, psadobe,
sizeof(psadobe)),
"wrong signature: %.14s\n",
p ?
p :
buf);
1536 skip(
"Default printer is not a PostScript device\n");
1543 ok(!
ret,
"GETFACENAME is supported\n");
1547 ok(
ret == 1,
"DOWNLOADFACE is not supported\n");
1551 ok(
ret == 1,
"OPENCHANNEL is not supported\n");
1555 ok(
ret == 1,
"DOWNLOADHEADER is not supported\n");
1559 ok(
ret == 1,
"CLOSECHANNEL is not supported\n");
1563 ok(
ret == 1,
"POSTSCRIPT_PASSTHROUGH is not supported\n");
1566 ok(
ret == 1,
"GETFACENAME failed\n");
1612 HDC dc, desktop_dc, printer_dc;
1614 int type, screen_type;
1628 ok(
type == screen_type,
"wrong region type %d\n",
type);
1636 ok(
type == screen_type,
"wrong region type %d\n",
type);
1642 ok(
type == screen_type,
"wrong region type %d\n",
type);
1659 desktop_dc =
GetDC(0);
1662 ok(
type == screen_type,
"wrong region type %d\n",
type);
1667 ok(!!
dc,
"CreateEnhMetaFile() failed\n");
1678 ok(!!
dc,
"CreateEnhMetaFile() failed\n");
1711 ok(
c == ~0,
"SetPixel returned: %lx\n",
c);
static POBJECT_TYPE GetObjectType(IN PCWSTR TypeName)
VOID SetPixel(_In_ ULONG Left, _In_ ULONG Top, _In_ UCHAR Color)
static const char * wine_dbgstr_rect(const RECT *prc)
DWORD GetPixel(LPDIRECTDRAWSURFACE7 Surface, UINT x, UINT y)
#define ERROR_INVALID_PARAMETER
#define ReadFile(a, b, c, d, e)
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define CreateFileA(a, b, c, d, e, f, g)
#define HeapFree(x, y, z)
#define ERROR_INVALID_HANDLE
int inflate(z_streamp strm, int flush)
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
DWORD WINAPI GetTempPathA(IN DWORD nBufferLength, OUT LPSTR lpBuffer)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
_ACRTIMP char *__cdecl strchr(const char *, int)
_ACRTIMP size_t __cdecl strlen(const char *)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Height *Stride) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Stride)
UINT WINAPI GetTempFileNameA(IN LPCSTR lpPathName, IN LPCSTR lpPrefixString, IN UINT uUnique, OUT LPSTR lpTempFileName)
STRING Escape(const STRING &str)
DWORD WINAPI SetLayout(_In_ HDC hdc, _In_ DWORD dwLayout)
GLuint GLuint GLsizei GLenum type
GLint GLint GLsizei width
GLenum GLenum GLenum GLenum GLenum scale
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLenum GLint GLint * precision
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define todo_wine_if(is_todo)
#define memcpy(s1, s2, n)
static void test_CreateCompatibleDC(void)
static void test_desktop_colorres(void)
static void test_dc_values(void)
static void test_pscript_printer_dc(void)
static INT get_screen_region_type(void)
static HDC create_printer_dc(int scale, BOOL reset)
static void test_boundsrect(void)
static BOOL is_postscript_printer(HDC hdc)
static void test_DeleteDC(void)
static BOOL CALLBACK enum_monitor_proc(HMONITOR monitor, HDC hdc, RECT *rect, LPARAM lparam)
static void print_something(HDC hdc)
static void test_printer_dc(void)
static void test_SetPixel(void)
static void test_CreateDC(void)
static void test_device_caps(HDC hdc, HDC ref_dc, const char *descr, int scale)
static void test_savedc(void)
static void test_clip_box(void)
static void test_savedc_2(void)
static void test_GdiConvertToDevmodeW(void)
static void test_gamma(void)
static void test_DC_bitmap(void)
static const BYTE ramp[17]
#define FIELD_OFFSET(t, f)
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
BOOL WINAPI EnumDisplayDevicesW(LPCWSTR lpDevice, DWORD iDevNum, PDISPLAY_DEVICEW lpDisplayDevice, DWORD dwFlags)
BOOL WINAPI EnumDisplaySettingsA(LPCSTR lpszDeviceName, DWORD iModeNum, LPDEVMODEA lpDevMode)
DWORD WINAPI GetLastError(void)
BOOL WINAPI DeleteMetaFile(_In_ HMETAFILE)
int WINAPI SetMapMode(_In_ HDC, _In_ int)
int WINAPI GetTextCharacterExtra(_In_ HDC)
HGDIOBJ WINAPI GetStockObject(_In_ int)
HBITMAP WINAPI CreateBitmap(_In_ INT cx, _In_ INT cy, _In_ UINT cPlanes, _In_ UINT cBitsPerPel, _In_opt_ const VOID *pvBits)
BOOL WINAPI DeleteEnhMetaFile(_In_opt_ HENHMETAFILE)
int WINAPI GetClipBox(_In_ HDC, _Out_ LPRECT)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
HPEN WINAPI ExtCreatePen(_In_ DWORD iPenStyle, _In_ DWORD cWidth, _In_ const LOGBRUSH *plbrush, _In_ DWORD cStyle, _In_reads_opt_(cStyle) const DWORD *pstyle)
HDC WINAPI CreateMetaFileA(_In_opt_ LPCSTR)
COLORREF WINAPI GetTextColor(_In_ HDC)
BOOL WINAPI SetViewportExtEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPSIZE)
BOOL WINAPI GetMiterLimit(_In_ HDC, _Out_ PFLOAT)
HDC WINAPI ResetDCA(_In_ HDC, _In_ const DEVMODEA *)
int WINAPI IntersectClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HDC WINAPI CreateDCA(_In_opt_ LPCSTR pszDriver, _In_opt_ LPCSTR pszDevice, _In_opt_ LPCSTR pszOutput, _In_opt_ const DEVMODEA *pdmInit)
BOOL WINAPI SetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
int WINAPI EndDoc(_In_ HDC)
int WINAPI GetClipRgn(_In_ HDC, _In_ HRGN)
int WINAPI SetTextCharacterExtra(_In_ HDC, _In_ int)
HMETAFILE WINAPI CloseMetaFile(_In_ HDC hdc)
int WINAPI StartDocA(_In_ HDC, _In_ const DOCINFOA *)
int WINAPI CombineRgn(_In_opt_ HRGN hrgnDest, _In_opt_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ int fnCombineMode)
BOOL WINAPI SetMiterLimit(_In_ HDC, _In_ FLOAT, _Out_opt_ PFLOAT)
BOOL WINAPI RestoreDC(_In_ HDC, _In_ int)
COLORREF WINAPI GetBkColor(_In_ HDC)
int WINAPI DescribePixelFormat(_In_ HDC hdc, _In_ int iPixelFormat, _In_ UINT nBytes, _Out_writes_bytes_opt_(nBytes) LPPIXELFORMATDESCRIPTOR ppfd)
HDC WINAPI CreateEnhMetaFileA(_In_opt_ HDC, _In_opt_ LPCSTR, _In_opt_ LPCRECT, _In_opt_ LPCSTR)
#define POSTSCRIPT_PASSTHROUGH
HENHMETAFILE WINAPI CloseEnhMetaFile(_In_ HDC hdc)
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI GetDeviceGammaRamp(_In_ HDC hdc, _Out_writes_bytes_(3 *256 *2) LPVOID lpRamp)
DWORD WINAPI GetRegionData(_In_ HRGN hrgn, _In_ DWORD nCount, _Out_writes_bytes_to_opt_(nCount, return) LPRGNDATA lpRgnData)
BOOL WINAPI SetDeviceGammaRamp(_In_ HDC hdc, _In_reads_bytes_(3 *256 *2) LPVOID lpRamp)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
struct _devicemodeA DEVMODEA
HRGN WINAPI CreateRectRgnIndirect(_In_ LPCRECT)
BOOL WINAPI DeleteDC(_In_ HDC)
UINT WINAPI SetBoundsRect(_In_ HDC, _In_opt_ LPCRECT, _In_ UINT)
int WINAPI ExtEscape(_In_ HDC hdc, _In_ int iEscape, _In_ int cjInput, _In_reads_bytes_opt_(cjInput) LPCSTR lpInData, _In_ int cjOutput, _Out_writes_bytes_opt_(cjOutput) LPSTR lpOutData)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
int WINAPI SaveDC(_In_ HDC)
int WINAPI GetRgnBox(_In_ HRGN, _Out_ LPRECT)
UINT WINAPI GetBoundsRect(_In_ HDC, _Out_ LPRECT, _In_ UINT)
HDC WINAPI CreateDCW(_In_opt_ LPCWSTR pszDriver, _In_opt_ LPCWSTR pszDevice, _In_opt_ LPCWSTR psz, _In_opt_ const DEVMODEW *pdmInit)
struct _PRINTER_DEFAULTSA * LPPRINTER_DEFAULTSA
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define SM_CYVIRTUALSCREEN
HDC WINAPI GetWindowDC(_In_opt_ HWND)
HWND WINAPI CreateWindowExA(_In_ DWORD dwExStyle, _In_opt_ LPCSTR lpClassName, _In_opt_ LPCSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI UnregisterClassA(_In_ LPCSTR, HINSTANCE)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI EnumDisplayMonitors(_In_opt_ HDC, _In_opt_ LPCRECT, _In_ MONITORENUMPROC, _In_ LPARAM)
HWND WINAPI GetDesktopWindow(void)
#define SM_CXVIRTUALSCREEN
#define ENUM_CURRENT_SETTINGS
ATOM WINAPI RegisterClassExA(_In_ CONST WNDCLASSEXA *)
BOOL WINAPI UpdateWindow(_In_ HWND)
HDC WINAPI GetDC(_In_opt_ HWND)
BOOL WINAPI SetRectEmpty(_Out_ LPRECT)
#define SM_XVIRTUALSCREEN
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI DestroyWindow(_In_ HWND)
BOOL WINAPI EqualRect(_In_ LPCRECT, _In_ LPCRECT)
int WINAPI GetSystemMetrics(_In_ int)
#define SM_YVIRTUALSCREEN
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)