Author: greatlrd Date: Sat Sep 1 00:26:02 2007 New Revision: 28721
URL: http://svn.reactos.org/svn/reactos?rev=28721&view=rev Log: Add hacks.c contain api using only ros home made syscall follow api have been move in there so far : GetPolyFillMode, GetGraphicsMode, GetROP2, SetDIBitsToDevice, SetBkMode, SetBkColor, SelectObject, GetMapMode make follow in user mode : GetRgnBox, GetPixel redirect GetMiterLimit to win32k.sys
Added: trunk/reactos/dll/win32/gdi32/misc/hacks.c (with props) Modified: trunk/reactos/dll/win32/gdi32/gdi32.def trunk/reactos/dll/win32/gdi32/gdi32.rbuild trunk/reactos/dll/win32/gdi32/misc/stubs.c trunk/reactos/dll/win32/gdi32/objects/bitmap.c trunk/reactos/dll/win32/gdi32/objects/palette.c trunk/reactos/dll/win32/gdi32/objects/path.c
Modified: trunk/reactos/dll/win32/gdi32/gdi32.def URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.def?r... ============================================================================== --- trunk/reactos/dll/win32/gdi32/gdi32.def (original) +++ trunk/reactos/dll/win32/gdi32/gdi32.def Sat Sep 1 00:26:02 2007 @@ -326,8 +326,46 @@ GetFontLanguageInfo@4 GetFontResourceInfoW@16 GetFontUnicodeRanges@8=NtGdiGetFontUnicodeRanges@8 - - +GetGlyphIndicesA@20 +GetGlyphIndicesW@20=NtGdiGetGlyphIndicesW@20 +GetGlyphOutline@28=GetGlyphOutlineA@28 +GetGlyphOutlineA@28 +GetGlyphOutlineW@28 +GetGlyphOutlineWow@28 +GetGraphicsMode@4 +GetHFONT@4 +GetICMProfileA@12 +GetICMProfileW@12 +GetKerningPairs@12=GetKerningPairsA@12 +GetKerningPairsA@12 +GetKerningPairsW@12 +GetLayout@4 +GetLogColorSpaceA@12 +GetLogColorSpaceW@12 +GetMapMode@4 +GetMetaFileA@4 +GetMetaFileBitsEx@12 +GetMetaFileW@4 +GetMetaRgn@8 +GetMiterLimit@8=NtGdiGetMiterLimit@8 +GetNearestColor@8=NtGdiGetNearestColor@8 +GetNearestPaletteIndex@8=NtGdiGetNearestPaletteIndex@8 +GetObjectA@12 +GetObjectType@4 +GetObjectW@12 +GetOutlineTextMetricsA@12 +GetOutlineTextMetricsW@12 +GetPaletteEntries@16 +GetPath@16 +GetPixel@12 +GetPixelFormat@4 +GetPolyFillMode@4 +GetROP2@4 +GetRandomRgn@12=NtGdiGetRandomRgn@12 +GetRasterizerCaps@8=NtGdiGetRasterizerCaps@8 +GetRegionData@12 +GetRelAbs@8 +GetRgnBox@8
ClearBitmapAttributes@8 ClearBrushAttributes@8 @@ -391,45 +429,6 @@ GetBitmapAttributes@4 GetBrushAttributes@4 GetGlyphIndicesA@20 -GetGlyphIndicesW@20 -GetGlyphOutline=GetGlyphOutlineA@28 -GetGlyphOutlineA@28 -GetGlyphOutlineW@28 -GetGlyphOutlineWow@28 -GetGraphicsMode@4=NtGdiGetGraphicsMode@4 -GetHFONT@4 -GetICMProfileA@12 -GetICMProfileW@12 -GetKerningPairs=GetKerningPairsA@12 -GetKerningPairsA@12 -GetKerningPairsW@12 -GetLayout@4 -GetLogColorSpaceA@12 -GetLogColorSpaceW@12 -GetMapMode@4=NtGdiGetMapMode@4 -GetMetaFileA@4 -GetMetaFileBitsEx@12 -GetMetaFileW@4 -GetMetaRgn@8 -GetMiterLimit@8 -GetNearestColor@8=NtGdiGetNearestColor@8 -GetNearestPaletteIndex@8=NtGdiGetNearestPaletteIndex@8 -GetObjectA@12 -GetObjectType@4 -GetObjectW@12 -GetOutlineTextMetricsA@12 -GetOutlineTextMetricsW@12 -GetPaletteEntries@16 -GetPath@16 -GetPixel@12=NtGdiGetPixel@12 -GetPixelFormat@4 -GetPolyFillMode@4=NtGdiGetPolyFillMode@4 -GetROP2@4=NtGdiGetROP2@4 -GetRandomRgn@12=NtGdiGetRandomRgn@12 -GetRasterizerCaps@8 -GetRegionData@12 -GetRelAbs@8 -GetRgnBox@8=NtGdiGetRgnBox@8 GetStockObject@4 GetStretchBltMode@4=NtGdiGetStretchBltMode@4 GetStringBitmapA@20 @@ -528,15 +527,15 @@ SelectClipPath@8 SelectClipRgn@8 SelectFontLocal@8 -SelectObject@8=NtGdiSelectObject@8 +SelectObject@8 SelectPalette@12 SetAbortProc@8 SetArcDirection@8 SetBitmapAttributes@8 SetBitmapBits@12=NtGdiSetBitmapBits@12 SetBitmapDimensionEx@16=NtGdiSetBitmapDimension@16 -SetBkColor@8=NtGdiSetBkColor@8 -SetBkMode@8=NtGdiSetBkMode@8 +SetBkColor@8 +SetBkMode@8 SetBoundsRect@12 SetBrushAttributes@8 SetBrushOrgEx@16=NtGdiSetBrushOrg@16
Modified: trunk/reactos/dll/win32/gdi32/gdi32.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.rbuil... ============================================================================== --- trunk/reactos/dll/win32/gdi32/gdi32.rbuild (original) +++ trunk/reactos/dll/win32/gdi32/gdi32.rbuild Sat Sep 1 00:26:02 2007 @@ -20,6 +20,7 @@ <directory name="misc"> <file>heap.c</file> <file>gdientry.c</file> + <file>hacks.c</file> <file>historic.c</file> <file>misc.c</file> <file>stubs.c</file>
Added: trunk/reactos/dll/win32/gdi32/misc/hacks.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/hacks.... ============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/hacks.c (added) +++ trunk/reactos/dll/win32/gdi32/misc/hacks.c Sat Sep 1 00:26:02 2007 @@ -1,0 +1,144 @@ +#include "precomp.h" + +/* $Id: stubs.c 28709 2007-08-31 15:09:51Z greatlrd $ + * + * reactos/lib/gdi32/misc/hacks.c + * + * GDI32.DLL hacks + * + * Api that are hacked but we can not do correct implemtions yetm but using own syscall + * + */ + +/* + * @implemented + * + */ +int +STDCALL +GetPolyFillMode(HDC hdc) +{ + /* FIXME do not use reactos own syscall for this, + * this hack need be remove + */ + return NtGdiGetPolyFillMode(hdc); +} + + +/* + * @implemented + * + */ +int +STDCALL +GetGraphicsMode(HDC hdc) +{ + /* FIXME do not use reactos own syscall for this, + * this hack need be remove + */ + return NtGdiGetGraphicsMode(hdc); +} + +/* + * @implemented + * + */ +int +STDCALL +GetROP2(HDC hdc) +{ + /* FIXME do not use reactos own syscall for this, + * this hack need be remove + */ + return NtGdiGetROP2(hdc); +} + + +/* + * @implemented + * + */ +INT +STDCALL +SetDIBitsToDevice( + HDC hDC, + int XDest, + int YDest, + DWORD Width, + DWORD Height, + int XSrc, + int YSrc, + UINT StartScan, + UINT ScanLines, + CONST VOID *Bits, + CONST BITMAPINFO *lpbmi, + UINT ColorUse) +{ + return NtGdiSetDIBitsToDeviceInternal(hDC, + XDest, + YDest, + Width, + Height, + XSrc, + YSrc, + StartScan, + ScanLines, + (LPBYTE)Bits, + (LPBITMAPINFO)lpbmi, + ColorUse, + lpbmi->bmiHeader.biSizeImage, + lpbmi->bmiHeader.biSize, + FALSE, + NULL); +} + +/* + * @implemented + * + */ +int +STDCALL +SetBkMode(HDC hdc, + int iBkMode) +{ + return NtGdiSetBkMode(hdc,iBkMode); +} + +/* + * @implemented + * + */ +COLORREF +STDCALL +SetBkColor(HDC hdc, + COLORREF crColor) +{ + return NtGdiSetBkColor(hdc,crColor); +} + +/* + * @implemented + * + */ +HGDIOBJ +STDCALL +SelectObject(HDC hdc, + HGDIOBJ hgdiobj) +{ + return NtGdiSelectObject(hdc,hgdiobj); +} + + +/* + * @implemented + * + */ +int +STDCALL +GetMapMode(HDC hdc) +{ + return NtGdiGetMapMode(hdc); +} + + +
Propchange: trunk/reactos/dll/win32/gdi32/misc/hacks.c ------------------------------------------------------------------------------ svn:eol-style = native
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 (original) +++ trunk/reactos/dll/win32/gdi32/misc/stubs.c Sat Sep 1 00:26:02 2007 @@ -142,22 +142,6 @@ return 0; }
- -/* - * @unimplemented - */ -BOOL -STDCALL -GetRasterizerCaps( - LPRASTERIZER_STATUS a0, - UINT a1 - ) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; -} - /* * @unimplemented */ @@ -167,7 +151,6 @@ { return NtGdiGetSystemPaletteUse(hDc); } -
/* * @unimplemented @@ -182,7 +165,6 @@ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return 0; } -
/* * @unimplemented @@ -199,7 +181,6 @@ return FALSE; }
- /* * @unimplemented */ @@ -215,7 +196,6 @@ return FALSE; }
- /* * @unimplemented */ @@ -229,7 +209,6 @@ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return 0; } -
/* * @unimplemented @@ -263,7 +242,6 @@ return 0; }
- /* * @unimplemented */ @@ -279,7 +257,6 @@ return 0; }
- /* * @unimplemented */ @@ -294,7 +271,6 @@ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return 0; } -
/* * @unimplemented @@ -311,7 +287,6 @@ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return FALSE; } -
/* * @unimplemented @@ -363,10 +338,6 @@ return FALSE; }
- - - - /* * @unimplemented */ @@ -380,7 +351,6 @@ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return FALSE; } -
/* * @unimplemented @@ -400,7 +370,6 @@ return FALSE; }
- /* * @unimplemented */ @@ -434,7 +403,6 @@ return 0; }
- /* * @unimplemented */ @@ -450,7 +418,6 @@ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return 0; } -
/* * @unimplemented @@ -603,10 +570,6 @@ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return FALSE; } - - - -
/* * @unimplemented @@ -2795,3 +2758,34 @@ return NtGdiGetRegionData(hrgn,nCount,lpRgnData); }
+ +/* + * @implemented + * + */ +INT +STDCALL +GetRgnBox(HRGN hrgn, + LPRECT prcOut) +{ + /* FIXME some stuff need be done in user mode */ + return NtGdiGetRgnBox(hrgn, prcOut); +} + + +/* + * @implemented + * + */ +DWORD +STDCALL +GetPixel(HDC hdc, + INT x, + INT y) +{ + /* FIXME some part need todo in user mode */ + return NtGdiGetPixel(hdc, x, y); +} + + +
Modified: trunk/reactos/dll/win32/gdi32/objects/bitmap.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/bit... ============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/bitmap.c (original) +++ trunk/reactos/dll/win32/gdi32/objects/bitmap.c Sat Sep 1 00:26:02 2007 @@ -151,38 +151,6 @@
-INT WINAPI -SetDIBitsToDevice( - HDC hDC, - int XDest, - int YDest, - DWORD Width, - DWORD Height, - int XSrc, - int YSrc, - UINT StartScan, - UINT ScanLines, - CONST VOID *Bits, - CONST BITMAPINFO *lpbmi, - UINT ColorUse) -{ - return NtGdiSetDIBitsToDeviceInternal(hDC, - XDest, - YDest, - Width, - Height, - XSrc, - YSrc, - StartScan, - ScanLines, - (LPBYTE)Bits, - (LPBITMAPINFO)lpbmi, - ColorUse, - lpbmi->bmiHeader.biSizeImage, - lpbmi->bmiHeader.biSize, - FALSE, - NULL); -}
INT
Modified: trunk/reactos/dll/win32/gdi32/objects/palette.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/pal... ============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/palette.c (original) +++ trunk/reactos/dll/win32/gdi32/objects/palette.c Sat Sep 1 00:26:02 2007 @@ -20,6 +20,9 @@ return NtGdiCreatePaletteInternal((LPLOGPALETTE)plpal, plpal->palNumEntries); }
+/* + * @implemented + */ UINT WINAPI GetPaletteEntries(HPALETTE hpal,
Modified: trunk/reactos/dll/win32/gdi32/objects/path.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/pat... ============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/path.c (original) +++ trunk/reactos/dll/win32/gdi32/objects/path.c Sat Sep 1 00:26:02 2007 @@ -178,20 +178,6 @@ return NtGdiWidenPath ( hdc ); }
- -/* - * @implemented - */ -BOOL -STDCALL -GetMiterLimit( - HDC hdc, - PFLOAT a1 - ) -{ - return NtGdiGetMiterLimit ( hdc, (PDWORD)a1 ); -} - /* * @implemented */