[ros-diffs] [greatlrd] 28676: 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.

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Thu Aug 30 20:06:35 CEST 2007


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?rev=28676&r1=28675&r2=28676&view=diff
==============================================================================
--- 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 at 16
 FlattenPath at 4
 FloodFill at 16
-FontIsLinked at 4
-FrameRgn at 20=NtGdiFontIsLinked at 4
+FontIsLinked at 4=NtGdiFontIsLinked at 4
+FrameRgn at 20
+GdiAddFontResourceW at 12
+GdiAddGlsBounds at 8
+GdiAddGlsRecord at 16
+GdiAlphaBlend at 44
+GdiArtificialDecrementDriver at 8
+GdiCleanCacheDC at 4
+GdiComment at 12
+GdiConsoleTextOut at 16=NtGdiConsoleTextOut at 16
+GdiConvertAndCheckDC at 4
+GdiConvertBitmap at 4
+GdiConvertBitmapV5 at 16
+GdiConvertBrush at 4
+GdiConvertDC at 4
+GdiConvertEnhMetaFile at 4
+GdiConvertFont at 4
+GdiConvertMetaFilePict at 4
+GdiConvertPalette at 4
+GdiConvertRegion at 4
+GdiConvertToDevmodeW at 4
+GdiCreateLocalEnhMetaFile at 4
+GdiCreateLocalMetaFilePict at 4
+GdiDeleteLocalDC at 4
+GdiDeleteSpoolFileHandle at 4
+GdiDescribePixelFormat at 16=NtGdiDescribePixelFormat at 16
+GdiDllInitialize at 12
+GdiEndDocEMF at 4
+GdiEndPageEMF at 8
+GdiEntry10 at 8
+GdiEntry11 at 8
+GdiEntry12 at 8
+GdiEntry13 at 0
+GdiEntry14 at 12
+GdiEntry15 at 12
+GdiEntry16 at 12
+GdiEntry1 at 8
+GdiEntry2 at 44
+GdiEntry3 at 4
+GdiEntry4 at 8
+GdiEntry5 at 4
+GdiEntry6 at 8
+GdiEntry7 at 8
+GdiEntry8 at 4
+GdiEntry9 at 24
+GdiFixUpHandle at 4
+GdiFlush at 0
+GdiFullscreenControl at 20=NtGdiFullscreenControl at 20
+GdiGetBatchLimit at 0
+GdiGetCharDimensions at 12
+GdiGetCodePage at 4
+GdiGetDC at 4
+GdiGetDevmodeForPage at 16
+GdiGetLocalBrush at 4
+GdiGetLocalDC at 4
+GdiGetLocalFont at 4
+GdiGetPageCount at 4
+GdiGetPageHandle at 12
+GdiGetSpoolFileHandle at 12
+GdiGetSpoolMessage at 16=NtGdiGetSpoolMessage at 16
+GdiGradientFill at 24
+GdiInitSpool at 0=NtGdiInitSpool at 0
+GdiInitializeLanguagePack at 4
+GdiIsMetaFileDC at 4
+GdiIsMetaPrintDC at 4
+GdiIsPlayMetafileDC at 4
+GdiPlayDCScript at 24
+GdiPlayEMF at 20
+GdiPlayJournal at 20
+GdiPlayPageEMF at 20
+GdiPlayPrivatePageEMF at 12
+GdiPlayScript at 28
+GdiPrinterThunk at 12
+GdiProcessSetup at 0
+GdiQueryFonts at 12=NtGdiQueryFonts at 12
+GdiQueryTable at 0
+GdiRealizationInfo at 8
+GdiReleaseDC at 4
+GdiReleaseLocalDC at 4
+GdiResetDCEMF at 8
+GdiSetAttrs at 4
+GdiSetBatchLimit at 4
+GdiSetLastError at 4
+GdiSetPixelFormat at 8=NtGdiSetPixelFormat at 8
+GdiSetServerAttr at 8
+GdiStartDocEMF at 8
+GdiStartPageEMF at 4
+GdiSwapBuffers at 4=NtGdiSwapBuffers at 4
+GdiTransparentBlt at 44
+GdiValidateHandle at 4
+GetArcDirection at 4
+GetAspectRatioFilterEx at 8
 
 ClearBitmapAttributes at 8
 ClearBrushAttributes at 8
@@ -245,98 +335,7 @@
 DdEntry54 at 8=NtGdiDdUnlockD3D at 8
 DdEntry55 at 12=NtGdiDdUpdateOverlay at 12
 DdEntry56 at 8=NtGdiDdWaitForVerticalBlank at 8
-
-GdiAddFontResourceW at 12
-GdiAddGlsBounds at 8
-GdiAddGlsRecord at 16
-GdiAlphaBlend at 44
-GdiArtificialDecrementDriver at 8
-GdiCleanCacheDC at 4
-GdiComment at 12
-GdiConsoleTextOut at 16
-GdiConvertAndCheckDC at 4
-GdiConvertBitmap at 4
-;GdiConvertBitmapV5
-GdiConvertBrush at 4
-GdiConvertDC at 4
-GdiConvertEnhMetaFile at 4
-GdiConvertFont at 4
-GdiConvertMetaFilePict at 4
-GdiConvertPalette at 4
-GdiConvertRegion at 4
-GdiConvertToDevmodeW at 4
-GdiCreateLocalEnhMetaFile at 4
-GdiCreateLocalMetaFilePict at 4
-GdiDeleteLocalDC at 4
-GdiDeleteSpoolFileHandle at 4
-GdiDescribePixelFormat at 16
-GdiDllInitialize at 12
 GdiDrawStream at 12
-GdiEndDocEMF at 4
-GdiEndPageEMF at 8
-GdiEntry1 at 8
-GdiEntry2 at 44
-GdiEntry3 at 4
-GdiEntry4 at 8
-GdiEntry5 at 4
-GdiEntry6 at 8
-GdiEntry7 at 8
-GdiEntry8 at 4
-GdiEntry9 at 24
-GdiEntry10 at 8
-GdiEntry11 at 8
-GdiEntry12 at 8
-GdiEntry13 at 0
-GdiEntry14 at 12
-GdiEntry15 at 12
-GdiEntry16 at 12
-GdiFixUpHandle at 4
-GdiFlush at 0
-GdiFullscreenControl at 20
-GdiGetBatchLimit at 0
-GdiGetCharDimensions at 12
-GdiGetCodePage at 4
-GdiGetDC at 4
-GdiGetDevmodeForPage at 16
-GdiGetLocalBrush at 4
-GdiGetLocalDC at 4
-GdiGetLocalFont at 4
-GdiGetPageCount at 4
-GdiGetPageHandle at 12
-GdiGetSpoolFileHandle at 12
-;GdiGetSpoolMessage
-GdiGradientFill at 24=NtGdiGradientFill at 24
-GdiInitSpool at 0
-GdiInitializeLanguagePack at 4
-GdiIsMetaFileDC at 4
-GdiIsMetaPrintDC at 4
-GdiIsPlayMetafileDC at 4
-GdiPlayDCScript at 24
-GdiPlayEMF at 20
-GdiPlayJournal at 20
-GdiPlayPageEMF at 20
-GdiPlayPrivatePageEMF at 12
-GdiPlayScript at 28
-;GdiPrinterThunk
-GdiProcessSetup at 0
-GdiQueryFonts at 12
-GdiQueryTable at 0
-GdiRealizationInfo at 8
-GdiReleaseDC at 4
-GdiReleaseLocalDC at 4
-GdiResetDCEMF at 8
-GdiSetAttrs at 4
-GdiSetBatchLimit at 4
-GdiSetLastError at 4
-GdiSetPixelFormat at 8
-GdiSetServerAttr at 8
-GdiStartDocEMF at 8
-GdiStartPageEMF at 4
-GdiSwapBuffers at 4
-GdiTransparentBlt at 44=NtGdiTransparentBlt at 44
-GdiValidateHandle at 4
-GetArcDirection at 4
-GetAspectRatioFilterEx at 8
 GetBitmapAttributes at 4
 GetBitmapBits at 12=NtGdiGetBitmapBits at 12
 GetBitmapDimensionEx at 8=NtGdiGetBitmapDimension at 8

Modified: trunk/reactos/dll/win32/gdi32/good api.def
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/good%20api.def?rev=28676&r1=28675&r2=28676&view=diff
==============================================================================
--- 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 at 4
+AAddFontResourceA at 4
+AddFontResourceExA at 12
 AddFontResourceExW at 12
 AddFontResourceW at 4
 AnyLinkedFonts at 0
@@ -47,11 +48,14 @@
 EngCreateDeviceBitmap at 16
 EngCreateDeviceSurface at 16
 EngCreatePalette at 24
+EngCreateSemaphore at 0
 EngDeleteClip at 4
 EngDeletePath at 4
+EngDeleteSemaphore at 4
 EngDeleteSurface at 4
 EngEraseSurface at 12
 EngFillPath at 28
+EngFindResource at 16
 EngFreeModule at 4
 EngGetCurrentCodePage at 8
 EngGetPrinterDataFileName at 4
@@ -73,4 +77,39 @@
 EngTextOut at 40
 EngTransparentBlt at 32
 EngUnicodeToMultiByteN at 20
+EngUnlockSurface at 4
+EqualRgn at 8
+FixBrushOrgEx at 16
+FloodFill at 16
+FontIsLinked at 4
+FONTOBJ_cGetAllGlyphHandles at 8
+FONTOBJ_cGetGlyphs at 20
+FONTOBJ_pfdg at 4
+FONTOBJ_pifi at 4
+FONTOBJ_pQueryGlyphAttrs at 8
+FONTOBJ_pvTrueTypeFontFile at 8
+FONTOBJ_pxoGetXform at 4
+FONTOBJ_vGetInfo at 12
+GdiConsoleTextOut at 16
+GdiConvertBitmap at 4
+GdiConvertBrush at 4
+GdiConvertDC at 4
+GdiDescribePixelFormat at 16
+GdiEntry16 at 12=DdSwapTextureHandles at 12
+GdiFlush at 0
+GdiFullscreenControl at 20
+GdiGetSpoolMessage at 16
+GdiInitSpool at 0
+GdiPlayDCScript at 24
+GdiPlayJournal at 20
+GdiPlayScript at 28
+GdiQueryFonts at 12
+GdiReleaseLocalDC at 4
+GdiSetAttrs at 4
+GdiSetLastError at 4
+GdiSetPixelFormat at 8
+GdiSetServerAttr at 8
+GdiSwapBuffers at 4
+GetAspectRatioFilterEx at 8
 
+

Modified: trunk/reactos/dll/win32/gdi32/misc/misc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/misc.c?rev=28676&r1=28675&r2=28676&view=diff
==============================================================================
--- 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.c?rev=28676&r1=28675&r2=28676&view=diff
==============================================================================
--- 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/stubsw.c?rev=28676&r1=28675&r2=28676&view=diff
==============================================================================
--- 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.c?rev=28676&r1=28675&r2=28676&view=diff
==============================================================================
--- 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(




More information about the Ros-diffs mailing list