From 2b32773575bca6402332c97e2b3351dfadf0b34e Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Fri, 24 Aug 2007 22:44:36 +0000 Subject: [PATCH] * redirect EngCopyBits, EngCreateBitmap, EngCreatePalette, EngDeletePalette, EngDeletePath, EngDeleteSurface, EngEraseSurface, EngFillPath, EngMarkBandingSurface, EngPaint, EngPlgBlt, EngStrokeAndFillPath, EngStrokePath, EngTextOut, EngTransparentBlt to win32k.sys * add smaller code for Ellipse * redirect EngMultiByteToUnicodeN to RtlMultiByteToUnicodeN * redirect EngUnicodeToMultiByteN to RtlUnicodeToMultiByteN svn path=/trunk/; revision=28533 --- reactos/dll/win32/gdi32/gdi32.def | 84 ++++---- reactos/dll/win32/gdi32/misc/stubs.c | 295 ++------------------------- 2 files changed, 61 insertions(+), 318 deletions(-) diff --git a/reactos/dll/win32/gdi32/gdi32.def b/reactos/dll/win32/gdi32/gdi32.def index 1590e23ed25..ed04b3f1f31 100644 --- a/reactos/dll/win32/gdi32/gdi32.def +++ b/reactos/dll/win32/gdi32/gdi32.def @@ -93,9 +93,10 @@ DeleteEnhMetaFile@4 DeleteMetaFile@4 DeleteObject@4 DescribePixelFormat@16 -DeviceCapabilitiesExA -DeviceCapabilitiesExW +DeviceCapabilitiesExA@20 +DeviceCapabilitiesExW@20 DrawEscape@16 +Ellipse@20 EnableEUDC@4=NtGdiEnableEudc@4 EndDoc@4 EndFormPage@4 @@ -104,20 +105,50 @@ EndPath@4 EngAcquireSemaphore@4 EngAlphaBlend@28=NtGdiEngAlphaBlend@28 EngAssociateSurface@12=NtGdiEngAssociateSurface@12 -EngBitBlt@44=NtGdiEngBitBlt@44 -EngCreateClip@0=NtGdiEngCreateClip@0 -EngDeleteClip@4=NtGdiEngDeleteClip@4 +EngBitBlt=NtGdiEngBitBlt@44 EngCheckAbort@4=NtGdiEngCheckAbort@4 EngComputeGlyphSet@12 -EngCreateSemaphore@0 -EngCreateBitmap@24 -EngCreateDeviceSurface@16=NtGdiEngCreateDeviceSurface@16 +EngCopyBits@24=NtGdiEngCopyBits@24 +EngCreateBitmap@24=NtGdiEngCreateBitmap@24 +EngCreateClip@0=NtGdiEngCreateClip@0 EngCreateDeviceBitmap@16=NtGdiEngCreateDeviceBitmap@16 +EngCreateDeviceSurface@16=NtGdiEngCreateDeviceSurface@16 +EngCreatePalette@24=NtGdiEngCreatePalette@24 +EngCreateSemaphore@0 +EngDeleteClip@4=NtGdiEngDeleteClip@4 +EngDeletePalette@4=NtGdiEngDeletePalette@4 +EngDeletePath@4=NtGdiEngDeletePath@4 +EngDeleteSemaphore@4 +EngDeleteSurface@4=NtGdiEngDeleteSurface@4 +EngEraseSurface@12=NtGdiEngEraseSurface@12 +EngFillPath@28=NtGdiEngFillPath@28 +EngFindResource@16 +EngFreeModule@4 +EngGetCurrentCodePage@8 +EngGetDriverName@4 +EngGetPrinterDataFileName@4 +EngGradientFill@40=NtGdiEngGradientFill@40 +EngLineTo@36=NtGdiEngLineTo@36 +EngLoadModule@4 +EngLockSurface@4=NtGdiEngLockSurface@4 +EngMarkBandingSurface@4=NtGdiEngMarkBandingSurface@4 +EngMultiByteToUnicodeN@20=RtlMultiByteToUnicodeN@20 +EngMultiByteToWideChar@20 +EngPaint@20=NtGdiEngPaint@20 +EngPlgBlt@44=NtGdiEngPlgBlt@44 +EngQueryEMFInfo@8 +EngQueryLocalTime@4 +EngReleaseSemaphore@4 +EngStretchBlt@44=NtGdiEngStretchBlt@44 +EngStretchBltROP@52=NtGdiEngStretchBltROP@52 +EngStrokeAndFillPath@40=NtGdiEngStrokeAndFillPath@40 +EngStrokePath@32=NtGdiEngStrokePath@32 +EngTextOut@40=NtGdiEngTextOut@40 +EngTransparentBlt@32=NtGdiEngTransparentBlt@32 +EngUnicodeToMultiByteN@20=RtlUnicodeToMultiByteN@20 ClearBitmapAttributes@8 ClearBrushAttributes@8 -DeleteObject@4 -DescribePixelFormat@16 DdEntry1@16=NtGdiD3dContextCreate@16 DdEntry2@4=NtGdiD3dContextDestroy@4 DdEntry3@4=NtGdiD3dContextDestroyAll@4 @@ -174,39 +205,6 @@ DdEntry53@8=NtGdiDdUnlock@8 DdEntry54@8=NtGdiDdUnlockD3D@8 DdEntry55@12=NtGdiDdUpdateOverlay@12 DdEntry56@8=NtGdiDdWaitForVerticalBlank@8 -Ellipse@20=NtGdiEllipse@20 -EngCopyBits@24 -EngCreatePalette@24 -EngDeletePalette@4 -EngDeletePath@4 -EngDeleteSemaphore@4 -EngDeleteSurface@4 -EngEraseSurface@12 -EngFillPath@28 -EngFindResource@16 -EngFreeModule@4 -EngGetCurrentCodePage@8 -EngGetDriverName@4 -EngGetPrinterDataFileName@4 -EngGradientFill@40 -EngLineTo@36 -EngLoadModule@4 -EngLockSurface@4=NtGdiEngLockSurface@4 -EngMarkBandingSurface@4 -EngMultiByteToUnicodeN@20 -EngMultiByteToWideChar@20 -EngPaint@20 -EngPlgBlt@44 -EngQueryEMFInfo@8 -EngQueryLocalTime@4 -EngReleaseSemaphore@4 -EngStretchBlt@44=NtGdiEngStretchBlt@44 -EngStretchBltROP@52 -EngStrokeAndFillPath@40 -EngStrokePath@32 -EngTextOut@40 -EngTransparentBlt@32 -EngUnicodeToMultiByteN@20 EngUnlockSurface@4 EngWideCharToMultiByte@20 EnumEnhMetaFile@20 diff --git a/reactos/dll/win32/gdi32/misc/stubs.c b/reactos/dll/win32/gdi32/misc/stubs.c index ec4dd447771..f68ab515cfc 100644 --- a/reactos/dll/win32/gdi32/misc/stubs.c +++ b/reactos/dll/win32/gdi32/misc/stubs.c @@ -2465,54 +2465,6 @@ EngComputeGlyphSet(INT nCodePage,INT nFirstChar,INT cChars) return 0; } -/* - * @unimplemented - */ -BOOL STDCALL -EngCopyBits(SURFOBJ *Dest, - SURFOBJ *Source, - CLIPOBJ *Clip, - XLATEOBJ *ColorTranslation, - RECTL *DestRect, - POINTL *SourcePoint) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -HBITMAP STDCALL -EngCreateBitmap(IN SIZEL Size, - IN LONG Width, - IN ULONG Format, - IN ULONG Flags, - IN PVOID Bits) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - - -/* - * @unimplemented - */ -HPALETTE STDCALL -EngCreatePalette(IN ULONG Mode, - IN ULONG NumColors, - IN ULONG *Colors, - IN ULONG Red, - IN ULONG Green, - IN ULONG Blue) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - /* * @unimplemented */ @@ -2528,26 +2480,7 @@ EngCreateSemaphore ( VOID ) -/* - * @unimplemented - */ -BOOL STDCALL -EngDeletePalette(IN HPALETTE Palette) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} -/* - * @unimplemented - */ -VOID STDCALL -EngDeletePath(PATHOBJ *ppo) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); -} /* * @unimplemented @@ -2562,40 +2495,11 @@ EngDeleteSemaphore ( IN HSEMAPHORE hsem ) RtlFreeHeap( GetProcessHeap(), 0, hsem ); } -/* - * @unimplemented - */ -BOOL STDCALL -EngDeleteSurface(IN HSURF Surface) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} -/* - * @unimplemented - */ -BOOL STDCALL -EngEraseSurface(SURFOBJ *Surface, - RECTL *Rect, - ULONG iColor) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} -/* - * @unimplemented - */ -BOOL STDCALL -EngFillPath(SURFOBJ *pso,PATHOBJ *ppo,CLIPOBJ *pco,BRUSHOBJ *pbo,POINTL *pptlBrushOrg,MIX mix,FLONG flOptions) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} + + + /* * @unimplemented @@ -2656,48 +2560,16 @@ EngGetDriverName(HDEV hdev) } /* - * @unimplemented + * @implemented */ LPWSTR STDCALL EngGetPrinterDataFileName(HDEV hdev) { - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; + return EngGetDriverName(hdev); } /* - * @unimplemented - */ -BOOL STDCALL -EngGradientFill(SURFOBJ *psoDest,CLIPOBJ *pco,XLATEOBJ *pxlo,TRIVERTEX *pVertex,ULONG nVertex,PVOID pMesh,ULONG nMesh,RECTL *prclExtents,POINTL *pptlDitherOrg,ULONG ulMode) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -BOOL STDCALL -EngLineTo(SURFOBJ *Surface, - CLIPOBJ *Clip, - BRUSHOBJ *Brush, - LONG x1, - LONG y1, - LONG x2, - LONG y2, - RECTL *RectBounds, - MIX mix) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented + * @implemented */ HANDLE STDCALL EngLoadModule(LPWSTR pwsz) @@ -2707,37 +2579,7 @@ EngLoadModule(LPWSTR pwsz) /* - * @unimplemented - */ -BOOL STDCALL -EngMarkBandingSurface(HSURF hsurf) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -VOID STDCALL -EngMultiByteToUnicodeN(OUT LPWSTR UnicodeString, - IN ULONG MaxBytesInUnicodeString, - OUT PULONG BytesInUnicodeString, - IN PCHAR MultiByteString, - IN ULONG BytesInMultiByteString) -{ - RtlMultiByteToUnicodeN( - UnicodeString, - MaxBytesInUnicodeString, - BytesInUnicodeString, - MultiByteString, - BytesInMultiByteString - ); -} - -/* - * @unimplemented + * @implemented */ INT STDCALL EngMultiByteToWideChar(UINT CodePage, @@ -2746,41 +2588,11 @@ EngMultiByteToWideChar(UINT CodePage, LPSTR MultiByteString, INT BytesInMultiByteString) { - return MultiByteToWideChar( - CodePage, - 0, - MultiByteString, - BytesInMultiByteString, - WideCharString, - (BytesInWideCharString/sizeof(WCHAR)) /* Bytes to (in WCHARs) */ - ); + return MultiByteToWideChar(CodePage,0,MultiByteString,BytesInMultiByteString,WideCharString,BytesInWideCharString / sizeof(WCHAR)); } -/* - * @unimplemented - */ -BOOL STDCALL -EngPaint(IN SURFOBJ *Surface, - IN CLIPOBJ *ClipRegion, - IN BRUSHOBJ *Brush, - IN POINTL *BrushOrigin, - IN MIX Mix) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} -/* - * @unimplemented - */ -BOOL STDCALL -EngPlgBlt(SURFOBJ *psoTrg,SURFOBJ *psoSrc,SURFOBJ *psoMsk,CLIPOBJ *pco,XLATEOBJ *pxlo,COLORADJUSTMENT *pca,POINTL *pptlBrushOrg,POINTFIX *pptfx,RECTL *prcl,POINTL *pptl,ULONG iMode) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} + /* * @implemented @@ -2821,87 +2633,20 @@ EngReleaseSemaphore ( IN HSEMAPHORE hsem ) RtlLeaveCriticalSection( (PRTL_CRITICAL_SECTION) hsem); } - - /* - * @unimplemented + * @implemented */ -BOOL STDCALL -EngStretchBltROP(SURFOBJ *psoDest,SURFOBJ *psoSrc,SURFOBJ *psoMask,CLIPOBJ *pco,XLATEOBJ *pxlo,COLORADJUSTMENT *pca,POINTL *pptlHTOrg,RECTL *prclDest,RECTL *prclSrc,POINTL *pptlMask,ULONG iMode,BRUSHOBJ *pbo,DWORD rop4) +BOOL +STDCALL +Ellipse( + HDC hdc, + int nLeftRect, + int nTopRect, + int nRightRect, + int nBottomRect) { - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -BOOL STDCALL -EngStrokeAndFillPath(SURFOBJ *pso,PATHOBJ *ppo,CLIPOBJ *pco,XFORMOBJ *pxo,BRUSHOBJ *pboStroke,LINEATTRS *plineattrs,BRUSHOBJ *pboFill,POINTL *pptlBrushOrg,MIX mixFill,FLONG flOptions) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -BOOL STDCALL -EngStrokePath(SURFOBJ *pso,PATHOBJ *ppo,CLIPOBJ *pco,XFORMOBJ *pxo,BRUSHOBJ *pbo,POINTL *pptlBrushOrg,LINEATTRS *plineattrs,MIX mix) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -BOOL STDCALL -EngTextOut(SURFOBJ *pso,STROBJ *pstro,FONTOBJ *pfo,CLIPOBJ *pco,RECTL *prclExtra,RECTL *prclOpaque,BRUSHOBJ *pboFore,BRUSHOBJ *pboOpaque,POINTL *pptlOrg,MIX mix) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -BOOL STDCALL -EngTransparentBlt(IN SURFOBJ *Dest, - IN SURFOBJ *Source, - IN CLIPOBJ *Clip, - IN XLATEOBJ *ColorTranslation, - IN PRECTL DestRect, - IN PRECTL SourceRect, - IN ULONG TransparentColor, - IN ULONG Reserved) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -VOID STDCALL -EngUnicodeToMultiByteN(OUT PCHAR MultiByteString, - IN ULONG MaxBytesInMultiByteString, - OUT PULONG BytesInMultiByteString, - IN PWSTR UnicodeString, - IN ULONG BytesInUnicodeString) -{ - RtlUnicodeToMultiByteN( - MultiByteString, - MaxBytesInMultiByteString, - BytesInMultiByteString, - UnicodeString, - BytesInUnicodeString - ); + /* FIXME some parts need be done in user mode */ + return NtGdiEllipse(hdc,nLeftRect,nTopRect,nRightRect,nBottomRect); } /*