diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h index 77a73c9a2ec..29556d1a186 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 797eb4bea92..32567160169 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 e8a38c012f8..2f16f5491fc 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -1450,6 +1450,11 @@ HRESULT WINAPI IWineD3DSurfaceImpl_Flip(IWineD3DSurface *iface, IWineD3DSurface 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 IWineD3DSurface_Vtbl = 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 4ea820e79ba..7d8cd36e1ef 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 f48cae3de13..b7a79f2ab44 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,IWineD3DResource) 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,IWineD3DResource) #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)