Author: greatlrd Date: Thu Aug 23 23:33:21 2007 New Revision: 28485
URL: http://svn.reactos.org/svn/reactos?rev=28485&view=rev Log: Kill reactos own syscall api NtGdiCreatePolygonRgn, it have been redirect to another ros own syscall named NtGdiCreatePolyPolygonRgn. see my last commit for gdi32
Modified: trunk/reactos/subsystems/win32/win32k/objects/region.c trunk/reactos/subsystems/win32/win32k/w32ksvc.db
Modified: trunk/reactos/subsystems/win32/win32k/objects/region.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/region.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/region.c Thu Aug 23 23:33:21 2007 @@ -3421,100 +3421,6 @@ return hrgn; }
-HRGN -STDCALL -NtGdiCreatePolygonRgn(CONST PPOINT pt, - INT Count, - INT PolyFillMode) -{ - POINT *SafePoints; - NTSTATUS Status = STATUS_SUCCESS; - HRGN hRgn; - - - if (pt == NULL || Count == 0 || - (PolyFillMode != WINDING && PolyFillMode != ALTERNATE)) - { - /* Windows doesn't set a last error here */ - return (HRGN)0; - } - - if (Count == 1) - { - /* can't create a region with only one point! */ - SetLastWin32Error(ERROR_INVALID_PARAMETER); - return (HRGN)0; - } - - if (Count == 2) - { - /* Windows creates an empty region! */ - ROSRGNDATA *rgn; - - if(!(hRgn = RGNDATA_AllocRgn(1))) - { - return (HRGN)0; - } - if(!(rgn = RGNDATA_LockRgn(hRgn))) - { - NtGdiDeleteObject(hRgn); - return (HRGN)0; - } - - EMPTY_REGION(rgn); - - RGNDATA_UnlockRgn(rgn); - return hRgn; - } - - _SEH_TRY - { - ProbeForRead(pt, - Count * sizeof(POINT), - 1); - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; - - if (!NT_SUCCESS(Status)) - { - SetLastNtError(Status); - return (HRGN)0; - } - - if (!(SafePoints = ExAllocatePoolWithTag(PagedPool, Count * sizeof(POINT), TAG_REGION))) - { - SetLastWin32Error(ERROR_NOT_ENOUGH_MEMORY); - return (HRGN)0; - } - - _SEH_TRY - { - /* pointers were already probed! */ - RtlCopyMemory(SafePoints, - pt, - Count * sizeof(POINT)); - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; - if (!NT_SUCCESS(Status)) - { - ExFreePool(SafePoints); - SetLastNtError(Status); - return (HRGN)0; - } - - hRgn = IntCreatePolyPolgonRgn(SafePoints, &Count, 1, PolyFillMode); - - ExFreePool(SafePoints); - return hRgn; -}
HRGN STDCALL
Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w32... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/w32ksvc.db (original) +++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db Thu Aug 23 23:33:21 2007 @@ -752,7 +752,6 @@ NtGdiCopyEnhMetaFile 2 NtGdiCreateDIBitmap 6 NtGdiCreateEnhMetaFile 4 -NtGdiCreatePolygonRgn 3 NtGdiCreatePolyPolygonRgn 4 NtGdiCreateScalableFontResource 4 NtGdiDeleteEnhMetaFile 1