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