Author: jimtabor Date: Mon Feb 1 16:13:35 2010 New Revision: 45370
URL: http://svn.reactos.org/svn/reactos?rev=45370&view=rev Log: [Gdi32] - Miscellaneous implementations and forwards.
Modified: trunk/reactos/dll/win32/gdi32/gdi32.spec trunk/reactos/dll/win32/gdi32/misc/stubs.c
Modified: trunk/reactos/dll/win32/gdi32/gdi32.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.spec?... ============================================================================== --- trunk/reactos/dll/win32/gdi32/gdi32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdi32/gdi32.spec [iso-8859-1] Mon Feb 1 16:13:35 2010 @@ -605,7 +605,7 @@ @ stdcall XFORMOBJ_iGetXform(ptr ptr) NtGdiXFORMOBJ_iGetXform @ stdcall XLATEOBJ_cGetPalette(ptr long long ptr) NtGdiXLATEOBJ_cGetPalette @ stdcall XLATEOBJ_hGetColorTransform(ptr) NtGdiXLATEOBJ_hGetColorTransform -@ stdcall XLATEOBJ_iXlate(ptr long) +@ stdcall XLATEOBJ_iXlate(ptr long) NtGdiXLATEOBJ_iXlate @ stdcall XLATEOBJ_piVector(ptr) @ stdcall bInitSystemAndFontsDirectoriesW(wstr wstr) @ stdcall bMakePathNameW(wstr wstr wstr long)
Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs.... ============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/stubs.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdi32/misc/stubs.c [iso-8859-1] Mon Feb 1 16:13:35 2010 @@ -809,15 +809,16 @@ }
/* - * @unimplemented + * @implemented */ BOOL WINAPI GdiCleanCacheDC(HDC hdc) { - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; + if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_DC_TYPE) + return TRUE; + SetLastError(ERROR_INVALID_HANDLE); + return FALSE; }
/* @@ -860,7 +861,7 @@ */ BOOL WINAPI -GdiDrawStream(HDC dc, ULONG l, VOID *v) +GdiDrawStream(HDC dc, ULONG l, VOID *v) // See Bug 4784 { UNIMPLEMENTED; SetLastError(ERROR_CALL_NOT_IMPLEMENTED); @@ -934,15 +935,25 @@ }
/* - * @unimplemented + * @implemented */ BOOL WINAPI GdiValidateHandle(HGDIOBJ hobj) { - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; + PGDI_TABLE_ENTRY Entry = GdiHandleTable + GDI_HANDLE_GET_INDEX(hobj); + if ( (Entry->Type & GDI_ENTRY_BASETYPE_MASK) != 0 && + ( (Entry->Type << GDI_ENTRY_UPPER_SHIFT) & GDI_HANDLE_TYPE_MASK ) == + GDI_HANDLE_GET_TYPE(hobj) ) + { + HANDLE pid = (HANDLE)((ULONG_PTR)Entry->ProcessId & ~0x1); + if(pid == NULL || pid == CurrentProcessId) + { + return TRUE; + } + } + return FALSE; + }
/* @@ -1531,18 +1542,6 @@ /* * @unimplemented */ -ULONG WINAPI -XLATEOBJ_iXlate(XLATEOBJ *XlateObj, - ULONG Color) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ ULONG * WINAPI XLATEOBJ_piVector(XLATEOBJ *XlateObj) @@ -1566,8 +1565,6 @@ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return 0; } - -
/* * @unimplemented @@ -1608,7 +1605,6 @@ /* FIXME some part need be done in user mode */ return NtGdiGradientFill(hdc, pVertex, nVertex, pMesh, nMesh, ulMode); } -
/* * @implemented