* redirect EngCopyBits, EngCreateBitmap, EngCreatePalette, EngDeletePalette, EngDelet...
authorMagnus Olsen <magnus@greatlord.com>
Fri, 24 Aug 2007 22:44:36 +0000 (22:44 +0000)
committerMagnus Olsen <magnus@greatlord.com>
Fri, 24 Aug 2007 22:44:36 +0000 (22:44 +0000)
* add smaller code for Ellipse
* redirect EngMultiByteToUnicodeN to RtlMultiByteToUnicodeN
* redirect EngUnicodeToMultiByteN to RtlUnicodeToMultiByteN

svn path=/trunk/; revision=28533

reactos/dll/win32/gdi32/gdi32.def
reactos/dll/win32/gdi32/misc/stubs.c

index 1590e23..ed04b3f 100644 (file)
@@ -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
index ec4dd44..f68ab51 100644 (file)
@@ -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
- */
-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
+ * @implemented
  */
-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)
+BOOL 
+STDCALL
+Ellipse(
+  HDC hdc,
+  int nLeftRect,
+  int nTopRect,
+  int nRightRect,
+  int nBottomRect)
 {
-       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);
 }
 
 /*