--- trunk/reactos/lib/gdi32/misc/gdientry.c 2005-08-07 15:55:01 UTC (rev 17169)
+++ trunk/reactos/lib/gdi32/misc/gdientry.c 2005-08-07 16:22:37 UTC (rev 17170)
@@ -123,10 +123,10 @@
*
* GDIEntry 4
*/
-BOOL STDCALL DdCreateSurfaceObject(
-LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
-BOOL bPrimarySurface
-)
+BOOL
+STDCALL
+DdCreateSurfaceObject( LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
+ BOOL bPrimarySurface)
{
return intDDCreateSurface(pSurfaceLocal,1);
}
@@ -210,9 +210,37 @@
return NtGdiDdReenableDirectDrawObject((HANDLE)pDirectDrawGlobal->hDD, pbNewMode);
}
+/*
+ * @implemented
+ *
+ * GDIEntry 11
+ */
+BOOL
+STDCALL
+DdAttachSurface( LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
+ LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo)
+{
+ /* Create Surface if it does not exits one */
+ if (pSurfaceFrom->hDDSurface)
+ {
+ if (!intDDCreateSurface(pSurfaceFrom,FALSE))
+ {
+ return FALSE;
+ }
+ }
+ /* Create Surface if it does not exits one */
+ if (pSurfaceTo->hDDSurface)
+ {
+ if (!intDDCreateSurface(pSurfaceTo,FALSE))
+ {
+ return FALSE;
+ }
+ }
+ return NtGdiDdAttachSurface( (HANDLE) pSurfaceFrom->hDDSurface, (HANDLE) pSurfaceTo->hDDSurface);
+}
/*
* @implemented
@@ -309,7 +337,7 @@
/* interal create surface */
BOOL
intDDCreateSurface ( LPDDRAWI_DDRAWSURFACE_LCL pSurface,
- BOOL bComplete)
+ BOOL bComplete)
{
DD_SURFACE_LOCAL SurfaceLocal;
DD_SURFACE_GLOBAL SurfaceGlobal;
--- trunk/reactos/lib/gdi32/misc/stubs.c 2005-08-07 15:55:01 UTC (rev 17169)
+++ trunk/reactos/lib/gdi32/misc/stubs.c 2005-08-07 16:22:37 UTC (rev 17170)
@@ -3905,24 +3905,9 @@
}
-
/*
* @unimplemented
*/
-BOOL STDCALL DdAttachSurface(
-LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
-LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo
-)
-{
- UNIMPLEMENTED;
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
-}
-
-
-/*
- * @unimplemented
- */
BOOL
STDCALL
GdiPlayEMF