Author: greatlrd
Date: Thu Aug 30 22:06:35 2007
New Revision: 28676
URL:
http://svn.reactos.org/svn/reactos?rev=28676&view=rev
Log:
Implement GdiReleaseLocalDC, GdiFlush, GdiPlayDCScript, GdiPlayJournal, GdiPlayScript,
GdiConvertBitmap, GdiConvertBrush, GdiConvertDC, GdiConvertFont, GdiSetAttrs
Redirect GdiConsoleTextOut, FontIsLinked, GdiDescribePixelFormat, GdiSetPixelFormat,
GdiSwapBuffers, GdiFullscreenControl, GdiQueryFonts, GdiInitSpool to win32k.sys
do not redirect add smaller code in gdi32 and use share memory : GdiGradientFill,
FrameRgn, GdiTransparentBlt
stub : GdiPrinterThunk, GdiConvertBitmapV5
update good api list.
Modified:
trunk/reactos/dll/win32/gdi32/gdi32.def
trunk/reactos/dll/win32/gdi32/good api.def
trunk/reactos/dll/win32/gdi32/misc/misc.c
trunk/reactos/dll/win32/gdi32/misc/stubs.c
trunk/reactos/dll/win32/gdi32/misc/stubsw.c
trunk/reactos/dll/win32/gdi32/objects/dc.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 Thu Aug 30 22:06:35 2007
@@ -184,8 +184,98 @@
FixBrushOrgEx@16
FlattenPath@4
FloodFill@16
-FontIsLinked@4
-FrameRgn@20=NtGdiFontIsLinked@4
+FontIsLinked@4=NtGdiFontIsLinked@4
+FrameRgn@20
+GdiAddFontResourceW@12
+GdiAddGlsBounds@8
+GdiAddGlsRecord@16
+GdiAlphaBlend@44
+GdiArtificialDecrementDriver@8
+GdiCleanCacheDC@4
+GdiComment@12
+GdiConsoleTextOut@16=NtGdiConsoleTextOut@16
+GdiConvertAndCheckDC@4
+GdiConvertBitmap@4
+GdiConvertBitmapV5@16
+GdiConvertBrush@4
+GdiConvertDC@4
+GdiConvertEnhMetaFile@4
+GdiConvertFont@4
+GdiConvertMetaFilePict@4
+GdiConvertPalette@4
+GdiConvertRegion@4
+GdiConvertToDevmodeW@4
+GdiCreateLocalEnhMetaFile@4
+GdiCreateLocalMetaFilePict@4
+GdiDeleteLocalDC@4
+GdiDeleteSpoolFileHandle@4
+GdiDescribePixelFormat@16=NtGdiDescribePixelFormat@16
+GdiDllInitialize@12
+GdiEndDocEMF@4
+GdiEndPageEMF@8
+GdiEntry10@8
+GdiEntry11@8
+GdiEntry12@8
+GdiEntry13@0
+GdiEntry14@12
+GdiEntry15@12
+GdiEntry16@12
+GdiEntry1@8
+GdiEntry2@44
+GdiEntry3@4
+GdiEntry4@8
+GdiEntry5@4
+GdiEntry6@8
+GdiEntry7@8
+GdiEntry8@4
+GdiEntry9@24
+GdiFixUpHandle@4
+GdiFlush@0
+GdiFullscreenControl@20=NtGdiFullscreenControl@20
+GdiGetBatchLimit@0
+GdiGetCharDimensions@12
+GdiGetCodePage@4
+GdiGetDC@4
+GdiGetDevmodeForPage@16
+GdiGetLocalBrush@4
+GdiGetLocalDC@4
+GdiGetLocalFont@4
+GdiGetPageCount@4
+GdiGetPageHandle@12
+GdiGetSpoolFileHandle@12
+GdiGetSpoolMessage@16=NtGdiGetSpoolMessage@16
+GdiGradientFill@24
+GdiInitSpool@0=NtGdiInitSpool@0
+GdiInitializeLanguagePack@4
+GdiIsMetaFileDC@4
+GdiIsMetaPrintDC@4
+GdiIsPlayMetafileDC@4
+GdiPlayDCScript@24
+GdiPlayEMF@20
+GdiPlayJournal@20
+GdiPlayPageEMF@20
+GdiPlayPrivatePageEMF@12
+GdiPlayScript@28
+GdiPrinterThunk@12
+GdiProcessSetup@0
+GdiQueryFonts@12=NtGdiQueryFonts@12
+GdiQueryTable@0
+GdiRealizationInfo@8
+GdiReleaseDC@4
+GdiReleaseLocalDC@4
+GdiResetDCEMF@8
+GdiSetAttrs@4
+GdiSetBatchLimit@4
+GdiSetLastError@4
+GdiSetPixelFormat@8=NtGdiSetPixelFormat@8
+GdiSetServerAttr@8
+GdiStartDocEMF@8
+GdiStartPageEMF@4
+GdiSwapBuffers@4=NtGdiSwapBuffers@4
+GdiTransparentBlt@44
+GdiValidateHandle@4
+GetArcDirection@4
+GetAspectRatioFilterEx@8
ClearBitmapAttributes@8
ClearBrushAttributes@8
@@ -245,98 +335,7 @@
DdEntry54@8=NtGdiDdUnlockD3D@8
DdEntry55@12=NtGdiDdUpdateOverlay@12
DdEntry56@8=NtGdiDdWaitForVerticalBlank@8
-
-GdiAddFontResourceW@12
-GdiAddGlsBounds@8
-GdiAddGlsRecord@16
-GdiAlphaBlend@44
-GdiArtificialDecrementDriver@8
-GdiCleanCacheDC@4
-GdiComment@12
-GdiConsoleTextOut@16
-GdiConvertAndCheckDC@4
-GdiConvertBitmap@4
-;GdiConvertBitmapV5
-GdiConvertBrush@4
-GdiConvertDC@4
-GdiConvertEnhMetaFile@4
-GdiConvertFont@4
-GdiConvertMetaFilePict@4
-GdiConvertPalette@4
-GdiConvertRegion@4
-GdiConvertToDevmodeW@4
-GdiCreateLocalEnhMetaFile@4
-GdiCreateLocalMetaFilePict@4
-GdiDeleteLocalDC@4
-GdiDeleteSpoolFileHandle@4
-GdiDescribePixelFormat@16
-GdiDllInitialize@12
GdiDrawStream@12
-GdiEndDocEMF@4
-GdiEndPageEMF@8
-GdiEntry1@8
-GdiEntry2@44
-GdiEntry3@4
-GdiEntry4@8
-GdiEntry5@4
-GdiEntry6@8
-GdiEntry7@8
-GdiEntry8@4
-GdiEntry9@24
-GdiEntry10@8
-GdiEntry11@8
-GdiEntry12@8
-GdiEntry13@0
-GdiEntry14@12
-GdiEntry15@12
-GdiEntry16@12
-GdiFixUpHandle@4
-GdiFlush@0
-GdiFullscreenControl@20
-GdiGetBatchLimit@0
-GdiGetCharDimensions@12
-GdiGetCodePage@4
-GdiGetDC@4
-GdiGetDevmodeForPage@16
-GdiGetLocalBrush@4
-GdiGetLocalDC@4
-GdiGetLocalFont@4
-GdiGetPageCount@4
-GdiGetPageHandle@12
-GdiGetSpoolFileHandle@12
-;GdiGetSpoolMessage
-GdiGradientFill@24=NtGdiGradientFill@24
-GdiInitSpool@0
-GdiInitializeLanguagePack@4
-GdiIsMetaFileDC@4
-GdiIsMetaPrintDC@4
-GdiIsPlayMetafileDC@4
-GdiPlayDCScript@24
-GdiPlayEMF@20
-GdiPlayJournal@20
-GdiPlayPageEMF@20
-GdiPlayPrivatePageEMF@12
-GdiPlayScript@28
-;GdiPrinterThunk
-GdiProcessSetup@0
-GdiQueryFonts@12
-GdiQueryTable@0
-GdiRealizationInfo@8
-GdiReleaseDC@4
-GdiReleaseLocalDC@4
-GdiResetDCEMF@8
-GdiSetAttrs@4
-GdiSetBatchLimit@4
-GdiSetLastError@4
-GdiSetPixelFormat@8
-GdiSetServerAttr@8
-GdiStartDocEMF@8
-GdiStartPageEMF@4
-GdiSwapBuffers@4
-GdiTransparentBlt@44=NtGdiTransparentBlt@44
-GdiValidateHandle@4
-GetArcDirection@4
-GetAspectRatioFilterEx@8
GetBitmapAttributes@4
GetBitmapBits@12=NtGdiGetBitmapBits@12
GetBitmapDimensionEx@8=NtGdiGetBitmapDimension@8
Modified: trunk/reactos/dll/win32/gdi32/good api.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/good%20api…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/good api.def (original)
+++ trunk/reactos/dll/win32/gdi32/good api.def Thu Aug 30 22:06:35 2007
@@ -7,7 +7,8 @@
; if bugs exists their or verify
;
-AddFontResourceA@4
+AAddFontResourceA@4
+AddFontResourceExA@12
AddFontResourceExW@12
AddFontResourceW@4
AnyLinkedFonts@0
@@ -47,11 +48,14 @@
EngCreateDeviceBitmap@16
EngCreateDeviceSurface@16
EngCreatePalette@24
+EngCreateSemaphore@0
EngDeleteClip@4
EngDeletePath@4
+EngDeleteSemaphore@4
EngDeleteSurface@4
EngEraseSurface@12
EngFillPath@28
+EngFindResource@16
EngFreeModule@4
EngGetCurrentCodePage@8
EngGetPrinterDataFileName@4
@@ -73,4 +77,39 @@
EngTextOut@40
EngTransparentBlt@32
EngUnicodeToMultiByteN@20
+EngUnlockSurface@4
+EqualRgn@8
+FixBrushOrgEx@16
+FloodFill@16
+FontIsLinked@4
+FONTOBJ_cGetAllGlyphHandles@8
+FONTOBJ_cGetGlyphs@20
+FONTOBJ_pfdg@4
+FONTOBJ_pifi@4
+FONTOBJ_pQueryGlyphAttrs@8
+FONTOBJ_pvTrueTypeFontFile@8
+FONTOBJ_pxoGetXform@4
+FONTOBJ_vGetInfo@12
+GdiConsoleTextOut@16
+GdiConvertBitmap@4
+GdiConvertBrush@4
+GdiConvertDC@4
+GdiDescribePixelFormat@16
+GdiEntry16@12=DdSwapTextureHandles@12
+GdiFlush@0
+GdiFullscreenControl@20
+GdiGetSpoolMessage@16
+GdiInitSpool@0
+GdiPlayDCScript@24
+GdiPlayJournal@20
+GdiPlayScript@28
+GdiQueryFonts@12
+GdiReleaseLocalDC@4
+GdiSetAttrs@4
+GdiSetLastError@4
+GdiSetPixelFormat@8
+GdiSetServerAttr@8
+GdiSwapBuffers@4
+GetAspectRatioFilterEx@8
+
Modified: trunk/reactos/dll/win32/gdi32/misc/misc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/misc.…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/misc/misc.c (original)
+++ trunk/reactos/dll/win32/gdi32/misc/misc.c Thu Aug 30 22:06:35 2007
@@ -160,13 +160,13 @@
/*
- * @unimplemented
+ * @implemented
*/
BOOL
STDCALL
GdiReleaseLocalDC(HDC hdc)
{
- return 0;
+ return TRUE;
}
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 Thu Aug 30 22:06:35 2007
@@ -757,18 +757,14 @@
/*
- * @unimplemented
+ * @implemented
*/
BOOL
STDCALL
GdiFlush()
{
- /*
- * Although GdiFlush is unimplemented, it's safe to return
- * TRUE, because we don't have GDI engine surface caching
- * implemented yet.
- */
- return TRUE;
+ NtGdiFlush();
+ return TRUE;
}
@@ -1118,9 +1114,9 @@
/*
- * @unimplemented
- */
-DWORD
+ * @implemented
+ */
+BOOL
STDCALL
GdiPlayDCScript(
DWORD a0,
@@ -1131,16 +1127,15 @@
DWORD a5
)
{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-
-/*
- * @unimplemented
- */
-DWORD
+ /* FIXME fix the prototype right */
+ return FALSE;
+}
+
+
+/*
+ * @implemented
+ */
+BOOL
STDCALL
GdiPlayJournal(
DWORD a0,
@@ -1150,16 +1145,15 @@
DWORD a4
)
{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-
-/*
- * @unimplemented
- */
-DWORD
+ /* FIXME fix the prototype right */
+ return FALSE;
+}
+
+
+/*
+ * @implemented
+ */
+BOOL
STDCALL
GdiPlayScript(
DWORD a0,
@@ -1168,12 +1162,10 @@
DWORD a3,
DWORD a4,
DWORD a5,
- DWORD a6
- )
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
+ DWORD a6)
+{
+ /* FIXME prototype */
+ return FALSE;
}
@@ -1348,12 +1340,150 @@
return 0;
}
+
+
+/*
+ * @unimplemented
+ */
+DWORD
+STDCALL
+GdiAddGlsBounds(HDC hdc,LPRECT prc)
+{
+ UNIMPLEMENTED;
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+}
+
/*
* @unimplemented
*/
BOOL
STDCALL
-FontIsLinked(HDC hdc)
+GdiArtificialDecrementDriver(LPWSTR pDriverName,BOOL unknown)
+{
+ UNIMPLEMENTED;
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+BOOL
+STDCALL
+GdiCleanCacheDC(HDC hdc)
+{
+ UNIMPLEMENTED;
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+HDC
+STDCALL
+GdiConvertAndCheckDC(HDC hdc)
+{
+ UNIMPLEMENTED;
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+}
+
+/*
+ * @implemented
+ */
+HBITMAP
+STDCALL
+GdiConvertBitmap(HBITMAP hbm)
+{
+ return hbm;
+}
+
+/*
+ * @implemented
+ */
+HBRUSH
+STDCALL
+GdiConvertBrush(HBRUSH hbr)
+{
+ return hbr;
+}
+
+/*
+ * @implemented
+ */
+HDC
+STDCALL
+GdiConvertDC(HDC hdc)
+{
+ return hdc;
+}
+
+/*
+ * @implemented
+ */
+HFONT
+STDCALL
+GdiConvertFont(HFONT hfont)
+{
+ return hfont;
+}
+
+/*
+ * @unimplemented
+ */
+HPALETTE
+STDCALL
+GdiConvertPalette(HPALETTE hpal)
+{
+ UNIMPLEMENTED;
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+HRGN
+STDCALL
+GdiConvertRegion(HRGN hregion)
+{
+ UNIMPLEMENTED;
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+HENHMETAFILE
+STDCALL
+GdiConvertEnhMetaFile(HENHMETAFILE hmf)
+{
+ UNIMPLEMENTED;
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+BOOL
+STDCALL
+GdiDeleteLocalDC(HDC hdc)
+{
+ UNIMPLEMENTED;
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+BOOL
+STDCALL
+GdiDrawStream(HDC dc, ULONG l, VOID *v)
{
UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@@ -1365,67 +1495,19 @@
*/
DWORD
STDCALL
-GdiAddGlsBounds(HDC hdc,LPRECT prc)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GdiArtificialDecrementDriver(LPWSTR pDriverName,BOOL unknown)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GdiCleanCacheDC(HDC hdc)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-HDC
-STDCALL
-GdiConvertAndCheckDC(HDC hdc)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-HBITMAP
-STDCALL
-GdiConvertBitmap(HBITMAP hbm)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-HBRUSH
-STDCALL
-GdiConvertBrush(HBRUSH hbr)
+GdiGetCodePage(HDC hdc)
+{
+ UNIMPLEMENTED;
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+HBRUSH
+STDCALL
+GdiGetLocalBrush(HBRUSH hbr)
{
UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@@ -1437,7 +1519,7 @@
*/
HDC
STDCALL
-GdiConvertDC(HDC hdc)
+GdiGetLocalDC(HDC hdc)
{
UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@@ -1449,126 +1531,6 @@
*/
HFONT
STDCALL
-GdiConvertFont(HFONT hfont)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-HPALETTE
-STDCALL
-GdiConvertPalette(HPALETTE hpal)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-HRGN
-STDCALL
-GdiConvertRegion(HRGN hregion)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-HENHMETAFILE
-STDCALL
-GdiConvertEnhMetaFile(HENHMETAFILE hmf)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GdiDeleteLocalDC(HDC hdc)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-int
-STDCALL
-GdiDescribePixelFormat(HDC hdc,int ipfd,UINT cjpfd,PPIXELFORMATDESCRIPTOR ppfd)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GdiDrawStream(HDC dc, ULONG l, VOID *v)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-DWORD
-STDCALL
-GdiGetCodePage(HDC hdc)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-HBRUSH
-STDCALL
-GdiGetLocalBrush(HBRUSH hbr)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-HDC
-STDCALL
-GdiGetLocalDC(HDC hdc)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-HFONT
-STDCALL
GdiGetLocalFont(HFONT hfont)
{
UNIMPLEMENTED;
@@ -1613,15 +1575,13 @@
}
/*
- * @unimplemented
+ * @implemented
*/
BOOL
STDCALL
GdiSetAttrs(HDC hdc)
{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
+ return TRUE;
}
/*
@@ -1635,17 +1595,7 @@
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
}
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GdiSetPixelFormat(HDC hdc,int ipfd)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
+
/*
* @unimplemented
@@ -1659,27 +1609,16 @@
return 0;
}
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GdiSwapBuffers(HDC hdc)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
+
+
+/*
+ * @implemented
*/
VOID
STDCALL
GdiSetServerAttr(HDC hdc,DWORD attr)
{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ /* it does do nothing */
}
/*
@@ -2052,31 +1991,9 @@
return 0;
}
-/*
- * @unimplemented
- */
-NTSTATUS
-STDCALL
-GdiFullscreenControl(FULLSCREENCONTROL FullscreenCommand,PVOID FullscreenInput,
- DWORD FullscreenInputLength,PVOID FullscreenOutput,
- PULONG FullscreenOutputLength)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-/*
- * @unimplemented
- */
-INT
-STDCALL
-GdiQueryFonts(PUNIVERSAL_FONT_ID pufiFontList,ULONG nBufferSize,PLARGE_INTEGER pTimeStamp
)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
+
+
+
/*
* @unimplemented
@@ -2719,17 +2636,7 @@
return 0;
}
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GdiInitSpool(VOID)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
+
/*
* @unimplemented
@@ -2791,5 +2698,101 @@
return NtGdiFillRgn( hdc, hrgn, hbrush);
}
-
-
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+GdiGradientFill(
+ IN HDC hdc,
+ IN PTRIVERTEX pVertex,
+ IN ULONG nVertex,
+ IN PVOID pMesh,
+ IN ULONG nMesh,
+ IN ULONG ulMode)
+{
+ /* FIXME some part need be done in user mode */
+ return NtGdiGradientFill(hdc, pVertex, nVertex, pMesh, nMesh, ulMode);
+}
+
+
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+FrameRgn(
+ IN HDC hdc,
+ IN HRGN hrgn,
+ IN HBRUSH hbrush,
+ IN INT xWidth,
+ IN INT yHeight)
+{
+ /* FIXME some part need be done in user mode */
+ return NtGdiFrameRgn(hdc, hrgn, hbrush, xWidth, yHeight);
+}
+
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+GdiTransparentBlt(
+ IN HDC hdcDst,
+ IN INT xDst,
+ IN INT yDst,
+ IN INT cxDst,
+ IN INT cyDst,
+ IN HDC hdcSrc,
+ IN INT xSrc,
+ IN INT ySrc,
+ IN INT cxSrc,
+ IN INT cySrc,
+ IN COLORREF TransColor
+)
+{
+ /* FIXME some part need be done in user mode */
+ return NtGdiTransparentBlt(hdcDst, xDst, yDst, cxDst, cyDst, hdcSrc, xSrc, ySrc,
cxSrc, cySrc, TransColor);
+}
+
+/*
+ * @unimplemented
+ */
+BOOL
+STDCALL
+GdiPrinterThunk(
+ IN HUMPD humpd,
+ DWORD *status,
+ DWORD unuse)
+{
+ /* FIXME figout the protypes, the HUMPD are a STRUCT or COM object */
+ /* status contain some form of return value that being save, what it is I do not
known */
+ /* unsue seam have zero effect, what it is for I do not known */
+
+ // ? return NtGdiSetPUMPDOBJ(humpd->0x10,TRUE, humpd, ?) <- blackbox, OpenRCE
info, and api hooks for anylaysing;
+ return FALSE;
+}
+
+/*
+ * @unimplemented
+ *
+ */
+HBITMAP
+STDCALL
+GdiConvertBitmapV5(
+ HBITMAP in_format_BitMap,
+ HBITMAP src_BitMap,
+ INT bpp,
+ INT unuse)
+{
+ /* FIXME guessing the prototypes */
+
+ /*
+ * it have create a new bitmap with desired in format,
+ * then convert it src_bitmap to new format
+ * and return it as HBITMAP
+ */
+
+ return FALSE;
+}
+
Modified: trunk/reactos/dll/win32/gdi32/misc/stubsw.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/misc/stubsw.c (original)
+++ trunk/reactos/dll/win32/gdi32/misc/stubsw.c Thu Aug 30 22:06:35 2007
@@ -260,17 +260,6 @@
return NtGdiAddFontResource ( &Filename, fl );
}
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GdiConsoleTextOut(HDC hdc, POLYTEXTW *lpto,UINT nStrings, RECTL *prclBounds)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
/*
* @unimplemented
Modified: trunk/reactos/dll/win32/gdi32/objects/dc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/dc…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/dc.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/dc.c Thu Aug 30 22:06:35 2007
@@ -396,6 +396,9 @@
}
+/*
+ * @implemented
+ */
BOOL
STDCALL
GetAspectRatioFilterEx(