Author: greatlrd
Date: Sat Aug 25 02:44:36 2007
New Revision: 28533
URL:
http://svn.reactos.org/svn/reactos?rev=28533&view=rev
Log:
* 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
Modified:
trunk/reactos/dll/win32/gdi32/gdi32.def
trunk/reactos/dll/win32/gdi32/misc/stubs.c
Modified: trunk/reactos/dll/win32/gdi32/gdi32.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.def?…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/gdi32.def (original)
+++ trunk/reactos/dll/win32/gdi32/gdi32.def Sat Aug 25 02:44:36 2007
@@ -93,9 +93,10 @@
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 @@
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
+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
-EngCreateBitmap@24
-EngCreateDeviceSurface@16=NtGdiEngCreateDeviceSurface@16
-EngCreateDeviceBitmap@16=NtGdiEngCreateDeviceBitmap@16
+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 @@
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
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 Aug 25 02:44:36 2007
@@ -2468,54 +2468,6 @@
/*
* @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
- */
HSEMAPHORE
STDCALL
EngCreateSemaphore ( VOID )
@@ -2528,26 +2480,7 @@
-/*
- * @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 @@
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 @@
}
/*
- * @unimplemented
+ * @implemented
*/
LPWSTR STDCALL
EngGetPrinterDataFileName(HDEV hdev)
{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @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
+ return EngGetDriverName(hdev);
+}
+
+/*
+ * @implemented
*/
HANDLE STDCALL
EngLoadModule(LPWSTR pwsz)
@@ -2707,37 +2579,7 @@
/*
- * @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 @@
LPSTR MultiByteString,
INT BytesInMultiByteString)
{
- return MultiByteToWideChar(
- CodePage,
- 0,
- MultiByteString,
- BytesInMultiByteString,
- WideCharString,
- (BytesInWideCharString/sizeof(WCHAR)) /* Bytes to (in WCHARs) */
- );
-}
-
-/*
- * @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;
-}
+ return
MultiByteToWideChar(CodePage,0,MultiByteString,BytesInMultiByteString,WideCharString,BytesInWideCharString
/ sizeof(WCHAR));
+}
+
+
+
/*
* @implemented
@@ -2821,87 +2633,20 @@
RtlLeaveCriticalSection( (PRTL_CRITICAL_SECTION) hsem);
}
-
-
-/*
- * @unimplemented
- */
-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)
-{
- 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
- );
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+Ellipse(
+ HDC hdc,
+ int nLeftRect,
+ int nTopRect,
+ int nRightRect,
+ int nBottomRect)
+{
+ /* FIXME some parts need be done in user mode */
+ return NtGdiEllipse(hdc,nLeftRect,nTopRect,nRightRect,nBottomRect);
}
/*