wined3d: Implement GetHWND and SetHWND.
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index dd2805c..93acc84 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4992,15 +4992,19 @@
}
HRESULT WINAPI IWineD3DDeviceImpl_SetHWND(IWineD3DDevice *iface, HWND hWnd) {
- FIXME("This is unimplemented for now(d3d7 merge)\n");
+ IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
+ TRACE("(%p)->(%p)\n", This, hWnd);
- return WINED3DERR_INVALIDCALL;
+ This->ddraw_window = hWnd;
+ return WINED3D_OK;
}
HRESULT WINAPI IWineD3DDeviceImpl_GetHWND(IWineD3DDevice *iface, HWND *hWnd) {
- FIXME("This is unimplemented for now(d3d7 merge)\n");
+ IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
+ TRACE("(%p)->(%p)\n", This, hWnd);
- return WINED3DERR_INVALIDCALL;
+ *hWnd = This->ddraw_window;
+ return WINED3D_OK;
}
/*****
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index afb769c..55a92f7 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -583,7 +583,10 @@
/* process vertex shaders using software or hardware */
BOOL softwareVertexProcessing;
-
+
+ /* DirectDraw stuff */
+ HWND ddraw_window;
+
} IWineD3DDeviceImpl;
extern const IWineD3DDeviceVtbl IWineD3DDevice_Vtbl;