Author: jimtabor Date: Fri Dec 29 01:36:53 2006 New Revision: 25235
URL: http://svn.reactos.org/svn/reactos?rev=25235&view=rev Log: Implement GetDCDWord, update GetObjectType and printing.c fixups.
Modified: trunk/reactos/dll/win32/gdi32/objects/dc.c trunk/reactos/dll/win32/gdi32/objects/painting.c
Modified: trunk/reactos/dll/win32/gdi32/objects/dc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/dc.... ============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/dc.c (original) +++ trunk/reactos/dll/win32/gdi32/objects/dc.c Fri Dec 29 01:36:53 2006 @@ -322,6 +322,17 @@ return NtGdiGetRelAbs(hdc); }
+ +DWORD +STDCALL +GetDCDWord( HDC hDC, INT u, DWORD Result ) +{ +BOOL Ret = TRUE; //NtGdiGetDCDword( hDC, u, (DWORD*) &u ); + if (!Ret) return Result; + else return u; +} + + /* * @implemented */ @@ -528,10 +539,15 @@ Ret = OBJ_REGION; break; case GDI_OBJECT_TYPE_DC: - Ret = OBJ_DC; - break; - case GDI_OBJECT_TYPE_METADC: - Ret = OBJ_METADC; + if ( GetDCDWord( h, GdiGetIsMemDc, 0)) + { + Ret = OBJ_MEMDC; + } + else + Ret = OBJ_DC; + break; + case GDI_OBJECT_TYPE_COLORSPACE: + Ret = OBJ_COLORSPACE; break; case GDI_OBJECT_TYPE_METAFILE: Ret = OBJ_METAFILE; @@ -559,3 +575,5 @@ SetLastError(ERROR_INVALID_HANDLE); return Ret; } + +
Modified: trunk/reactos/dll/win32/gdi32/objects/painting.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/pai... ============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/painting.c (original) +++ trunk/reactos/dll/win32/gdi32/objects/painting.c Fri Dec 29 01:36:53 2006 @@ -139,8 +139,7 @@ if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC) { if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC) -// return MFDRV_MetaParam2( hDC, META_MOVETO, x, y); - return FALSE; + return MFDRV_MetaParam2( hDC, META_MOVETO, x, y); else { PLDC pLDC = Dc_Attr->pvLDC; @@ -151,8 +150,7 @@ } if (pLDC->iType == LDC_EMFLDC) { - //if (!EMFDRV_MoveTo( hDC, x, y)) - return FALSE; + if (!EMFDRV_MoveTo( hDC, x, y)) return FALSE; } } } @@ -441,12 +439,8 @@ STDCALL GetPixel( HDC hDC, INT x, INT y ) { - PDC_ATTR Dc_Attr; - if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC) return CLR_INVALID; - - if (!GdiGetHandleUserData((HGDIOBJ) hDC, (PVOID) &Dc_Attr)) return CLR_INVALID; - + if (!GdiIsHandleValid((HGDIOBJ) hDC)) return CLR_INVALID; return NtGdiGetPixel( hDC, x, y); }