Stefan Dösinger : wined3d: Add IWineD3DSurface::Blt.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Apr 17 05:55:04 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: ffc8e46e769ababf7b238fcdfde49b208ecc69c9
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=ffc8e46e769ababf7b238fcdfde49b208ecc69c9

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Fri Apr 14 19:15:46 2006 +0200

wined3d: Add IWineD3DSurface::Blt.

---

 dlls/d3d8/d3d8_private.h         |    1 +
 dlls/d3d9/d3d9_private.h         |    2 +-
 dlls/wined3d/surface.c           |    6 ++++++
 dlls/wined3d/wined3d_private.h   |    1 +
 include/wine/wined3d_interface.h |    6 ++++++
 5 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h
index 77a73c9..29556d1 100644
--- a/dlls/d3d8/d3d8_private.h
+++ b/dlls/d3d8/d3d8_private.h
@@ -46,6 +46,7 @@
 #include "wingdi.h"
 #include "wine/debug.h"
 #include "d3d8.h"
+#include "ddraw.h"
 #include "wine/wined3d_interface.h"
 
 /* Device caps */
diff --git a/dlls/d3d9/d3d9_private.h b/dlls/d3d9/d3d9_private.h
index 797eb4b..3256716 100644
--- a/dlls/d3d9/d3d9_private.h
+++ b/dlls/d3d9/d3d9_private.h
@@ -49,7 +49,7 @@
 
 #include "gdi.h"
 #include "d3d9.h"
-#include "d3d9_private.h"
+#include "ddraw.h"
 #include "wine/wined3d_interface.h"
 
 /* ===========================================================================
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index e8a38c0..2f16f54 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -1450,6 +1450,11 @@ HRESULT WINAPI IWineD3DSurfaceImpl_Flip(
     return WINED3DERR_INVALIDCALL;
 }
 
+HRESULT WINAPI IWineD3DSurfaceImpl_Blt(IWineD3DSurface *iface, RECT *DestRect, IWineD3DSurface *SrcSurface, RECT *SrcRect, DWORD Flags, DDBLTFX *DDBltFx) {
+    FIXME("This is unimplemented for now(d3d7 merge)\n");
+    return WINED3DERR_INVALIDCALL;
+}
+
 const IWineD3DSurfaceVtbl IWineD3DSurface_Vtbl =
 {
     /* IUnknown */
@@ -1475,6 +1480,7 @@ const IWineD3DSurfaceVtbl IWineD3DSurfac
     IWineD3DSurfaceImpl_GetDC,
     IWineD3DSurfaceImpl_ReleaseDC,
     IWineD3DSurfaceImpl_Flip,
+    IWineD3DSurfaceImpl_Blt,
     /* Internal use: */
     IWineD3DSurfaceImpl_CleanDirtyRect,
     IWineD3DSurfaceImpl_AddDirtyRect,
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 4ea820e..7d8cd36 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -39,6 +39,7 @@
 
 #include "d3d9.h"
 #include "d3d9types.h"
+#include "ddraw.h"
 #include "wine/wined3d_interface.h"
 #include "wine/wined3d_gl.h"
 
diff --git a/include/wine/wined3d_interface.h b/include/wine/wined3d_interface.h
index f48cae3..b7a79f2 100644
--- a/include/wine/wined3d_interface.h
+++ b/include/wine/wined3d_interface.h
@@ -31,6 +31,10 @@
 # error You must include d3d.h, d3d8.h or d3d9.h header to use this header
 #endif
 
+#if !defined( __WINE_DDRAW_H)
+#error You must include ddraw.h to use this header
+#endif
+
 #include "wined3d_types.h"
 /*****************************************************************
  * THIS FILE MUST NOT CONTAIN X11 or MESA DEFINES 
@@ -1107,6 +1111,7 @@ DECLARE_INTERFACE_(IWineD3DSurface,IWine
     STDMETHOD(GetDC)(THIS_ HDC *pHdc) PURE;
     STDMETHOD(ReleaseDC)(THIS_ HDC hdc) PURE;
     STDMETHOD(Flip)(THIS_ IWineD3DSurface *Override, DWORD FLAGS) PURE;
+    STDMETHOD(Blt)(THIS_ RECT *DestRect, IWineD3DSurface *SrcSurface, RECT *SrcRect, DWORD Flags, DDBLTFX *DDBltFx) PURE;
     /* Internally used methods */
     STDMETHOD(CleanDirtyRect)(THIS) PURE;
     STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pRect) PURE;
@@ -1146,6 +1151,7 @@ DECLARE_INTERFACE_(IWineD3DSurface,IWine
 #define IWineD3DSurface_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)
 #define IWineD3DSurface_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)
 #define IWineD3DSurface_Flip(p,a,b)                  (p)->lpVtbl->Flip(p,a,b)
+#define IWineD3DSurface_Blt(p,a,b,c,d,e)             (p)->lpVtbl->Blt(p,a,b,c,d,e)
 /*** IWineD3DSurface (Internal, no d3d mapping) methods ***/
 #define IWineD3DSurface_CleanDirtyRect(p)            (p)->lpVtbl->CleanDirtyRect(p)
 #define IWineD3DSurface_AddDirtyRect(p,a)            (p)->lpVtbl->AddDirtyRect(p,a)




More information about the wine-cvs mailing list