From c01447f00f01c99a7f343e58f43bc35a69925013 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Sun, 26 Aug 2007 20:00:40 +0000 Subject: [PATCH] redirect FONTOBJ_cGetAllGlyphHandles, FONTOBJ_cGetGlyphs, FONTOBJ_pQueryGlyphAttrs, FONTOBJ_pfdg, FONTOBJ_pifi, FONTOBJ_pvTrueTypeFontFile, FONTOBJ_pxoGetXform, FONTOBJ_vGetInfo to win32k.sys do not redirect ExcludeClipRect, ExtSelectClipRgn, FillRgn to win32k.sys, make a smaller functions in gdi32 for now, we need write more thing in user mode. svn path=/trunk/; revision=28581 --- reactos/dll/win32/gdi32/gdi32.def | 81 ++++++++-------- reactos/dll/win32/gdi32/misc/stubs.c | 136 +++++++-------------------- 2 files changed, 77 insertions(+), 140 deletions(-) diff --git a/reactos/dll/win32/gdi32/gdi32.def b/reactos/dll/win32/gdi32/gdi32.def index 2535f3c8876..2bd93637cae 100644 --- a/reactos/dll/win32/gdi32/gdi32.def +++ b/reactos/dll/win32/gdi32/gdi32.def @@ -146,6 +146,46 @@ EngStrokePath@32=NtGdiEngStrokePath@32 EngTextOut@40=NtGdiEngTextOut@40 EngTransparentBlt@32=NtGdiEngTransparentBlt@32 EngUnicodeToMultiByteN@20=RtlUnicodeToMultiByteN@20 +EngUnlockSurface@4=NtGdiEngUnlockSurface@4 +EngWideCharToMultiByte@20 +EnumEnhMetaFile@20 +EnumFontFamiliesA@16 +EnumFontFamiliesExA@20 +EnumFontFamiliesExW@20 +EnumFontFamiliesW@16 +EnumFontsA@16 +EnumFontsW@16 +EnumICMProfilesA@12 +EnumICMProfilesW@12 +EnumMetaFile@16 +EnumObjects@16 +EqualRgn@8=NtGdiEqualRgn@8 +Escape@20 +EudcLoadLinkW@16 +EudcUnloadLinkW@8 +ExcludeClipRect@20 +ExtCreatePen@20 +ExtCreateRegion@12 +ExtEscape@24 +ExtFloodFill@20 +ExtSelectClipRgn@12 +ExtTextOutA@32 +ExtTextOutW@32 +FONTOBJ_cGetAllGlyphHandles@8=NtGdiFONTOBJ_cGetAllGlyphHandles@8 +FONTOBJ_cGetGlyphs@20=NtGdiFONTOBJ_cGetGlyphs@20 +FONTOBJ_pQueryGlyphAttrs@8=NtGdiFONTOBJ_pQueryGlyphAttrs@8 +FONTOBJ_pfdg@4=NtGdiFONTOBJ_pfdg@4 +FONTOBJ_pifi@4=NtGdiFONTOBJ_pifi@4 +FONTOBJ_pvTrueTypeFontFile@8=NtGdiFONTOBJ_pvTrueTypeFontFile@8 +FONTOBJ_pxoGetXform@4=NtGdiFONTOBJ_pxoGetXform@4 +FONTOBJ_vGetInfo@12=NtGdiFONTOBJ_vGetInfo@12 +FillPath@4 +FillRgn@12 +FixBrushOrgEx@16 +FlattenPath@4 +FloodFill@16 +FontIsLinked@4 +FrameRgn@20=NtGdiFontIsLinked@4 ClearBitmapAttributes@8 ClearBrushAttributes@8 @@ -205,46 +245,7 @@ DdEntry53@8=NtGdiDdUnlock@8 DdEntry54@8=NtGdiDdUnlockD3D@8 DdEntry55@12=NtGdiDdUpdateOverlay@12 DdEntry56@8=NtGdiDdWaitForVerticalBlank@8 -EngUnlockSurface@4=NtGdiEngUnlockSurface@4 -EngWideCharToMultiByte@20 -EnumEnhMetaFile@20 -EnumFontFamiliesA@16 -EnumFontFamiliesExA@20 -EnumFontFamiliesExW@20 -EnumFontFamiliesW@16 -EnumFontsA@16 -EnumFontsW@16 -EnumICMProfilesA@12 -EnumICMProfilesW@12 -EnumMetaFile@16 -EnumObjects@16 -EqualRgn@8=NtGdiEqualRgn@8 -Escape@20 -EudcLoadLinkW@16 -EudcUnloadLinkW@8 -ExcludeClipRect@20=NtGdiExcludeClipRect@20 -ExtCreatePen@20 -ExtCreateRegion@12=NtGdiExtCreateRegion@12 -ExtEscape@24 -ExtFloodFill@20 -ExtSelectClipRgn@12=NtGdiExtSelectClipRgn@12 -ExtTextOutA@32 -ExtTextOutW@32 -FillPath@4 -FillRgn@12=NtGdiFillRgn@12 -FixBrushOrgEx@16 -FlattenPath@4 -FloodFill@16 -FontIsLinked@4 -FONTOBJ_cGetAllGlyphHandles@8 -FONTOBJ_cGetGlyphs@20 -FONTOBJ_pQueryGlyphAttrs@8 -FONTOBJ_pfdg@4 -FONTOBJ_pifi@4 -FONTOBJ_pvTrueTypeFontFile@8 -FONTOBJ_pxoGetXform@4 -FONTOBJ_vGetInfo@12 -FrameRgn@20=NtGdiFrameRgn@20 + GdiAddFontResourceW@12 GdiAddGlsBounds@8 GdiAddGlsRecord@16 diff --git a/reactos/dll/win32/gdi32/misc/stubs.c b/reactos/dll/win32/gdi32/misc/stubs.c index 2a09e13b9df..9c1b0f1c84c 100644 --- a/reactos/dll/win32/gdi32/misc/stubs.c +++ b/reactos/dll/win32/gdi32/misc/stubs.c @@ -2525,106 +2525,6 @@ EngWideCharToMultiByte( UINT CodePage, NULL); } -/* - * @unimplemented - */ -ULONG -STDCALL -FONTOBJ_cGetAllGlyphHandles(IN FONTOBJ *FontObj, - IN HGLYPH *Glyphs) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -ULONG -STDCALL -FONTOBJ_cGetGlyphs(IN FONTOBJ *FontObj, - IN ULONG Mode, - IN ULONG NumGlyphs, - IN HGLYPH *GlyphHandles, - IN PVOID *OutGlyphs) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -PFD_GLYPHATTR STDCALL -FONTOBJ_pQueryGlyphAttrs(FONTOBJ *pfo,ULONG iMode) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -FD_GLYPHSET *STDCALL -FONTOBJ_pfdg(FONTOBJ *pfo) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -IFIMETRICS* -STDCALL -FONTOBJ_pifi(IN FONTOBJ *FontObj) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -PVOID -STDCALL -FONTOBJ_pvTrueTypeFontFile(IN FONTOBJ *FontObj, - IN ULONG *FileSize) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -XFORMOBJ* -STDCALL -FONTOBJ_pxoGetXform(IN FONTOBJ *FontObj) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -VOID -STDCALL -FONTOBJ_vGetInfo(IN FONTOBJ *FontObj, - IN ULONG InfoSize, - OUT PFONTINFO FontInfo) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); -} /* * @unimplemented @@ -2857,3 +2757,39 @@ VOID STDCALL GdiInitializeLanguagePack(DWORD InitParam) SetLastError(ERROR_CALL_NOT_IMPLEMENTED); } + +/* + * @implemented + */ +INT +STDCALL +ExcludeClipRect(IN HDC hdc, IN INT xLeft, IN INT yTop, IN INT xRight, IN INT yBottom) +{ + /* FIXME some part need be done on user mode size */ + return NtGdiExcludeClipRect(hdc, xLeft, yTop, xRight, yBottom); +} + +/* + * @implemented + */ +INT +STDCALL +ExtSelectClipRgn( IN HDC hdc, IN HRGN hrgn, IN INT iMode) +{ + /* FIXME some part need be done on user mode size */ + return NtGdiExtSelectClipRgn(hdc,hrgn, iMode); +} + +/* + * @implemented + */ +BOOL +STDCALL +FillRgn( IN HDC hdc, IN HRGN hrgn, IN HBRUSH hbrush) +{ + /* FIXME some part need be done on user mode size */ + return NtGdiFillRgn( hdc, hrgn, hbrush); +} + + +