diff --git a/reactos/dll/win32/gdi32/misc/stubs.c b/reactos/dll/win32/gdi32/misc/stubs.c index 2291f574950..6217ce1d87a 100644 --- a/reactos/dll/win32/gdi32/misc/stubs.c +++ b/reactos/dll/win32/gdi32/misc/stubs.c @@ -1148,15 +1148,25 @@ GdiIsMetaPrintDC(HDC hDC) } /* - * @unimplemented + * @implemented */ BOOL WINAPI -GdiIsPlayMetafileDC(HDC hdc) +GdiIsPlayMetafileDC(HDC hDC) { - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; + PDC_ATTR Dc_Attr; + PLDC pLDC; + + GdiGetHandleUserData((HGDIOBJ) hDC, GDI_OBJECT_TYPE_DC, (PVOID) &Dc_Attr); + if ( Dc_Attr ) + { + pLDC = Dc_Attr->pvLDC; + if ( pLDC ) + { + if ( pLDC->Flags & LDC_PLAY_MFDC ) return TRUE; + } + } + return FALSE; } /* diff --git a/reactos/include/reactos/win32k/ntgdihdl.h b/reactos/include/reactos/win32k/ntgdihdl.h index 49a7283fc36..c69a266427d 100644 --- a/reactos/include/reactos/win32k/ntgdihdl.h +++ b/reactos/include/reactos/win32k/ntgdihdl.h @@ -176,6 +176,7 @@ #define LDC_SAPCALLBACK 0x00000020 #define LDC_INIT_DOCUMENT 0x00000040 #define LDC_INIT_PAGE 0x00000080 +#define LDC_PLAY_MFDC 0x00000800 #define LDC_CLOCKWISE 0x00002000 #define LDC_KILL_DOCUMENT 0x00010000 #define LDC_META_PRINT 0x00020000