Stefan Dösinger : wined3d: Use WINED3DPRESENT_PARAMETERS in IWineD3DSwapChain::GetPresentParameters.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Mar 9 06:28:54 CST 2006


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

Author: Stefan Dösinger <stefandoesinger at gmx.at>
Date:   Thu Mar  9 00:49:11 2006 +0100

wined3d: Use WINED3DPRESENT_PARAMETERS in IWineD3DSwapChain::GetPresentParameters.

---

 dlls/d3d9/swapchain.c            |   18 ++++++++++++++++--
 dlls/wined3d/swapchain.c         |   18 +++++++++++++++---
 include/wine/wined3d_interface.h |    2 +-
 3 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/dlls/d3d9/swapchain.c b/dlls/d3d9/swapchain.c
index e3c7707..abb8ba2 100644
--- a/dlls/d3d9/swapchain.c
+++ b/dlls/d3d9/swapchain.c
@@ -120,8 +120,22 @@ HRESULT WINAPI IDirect3DSwapChain9Impl_G
 
 HRESULT WINAPI IDirect3DSwapChain9Impl_GetPresentParameters(LPDIRECT3DSWAPCHAIN9 iface, D3DPRESENT_PARAMETERS* pPresentationParameters) {
     IDirect3DSwapChain9Impl *This = (IDirect3DSwapChain9Impl *)iface;
-    FIXME("(%p) : inplement using WINED3DPRESENT_PARAMERS\n", This);
-    return IWineD3DSwapChain_GetPresentParameters(This->wineD3DSwapChain, pPresentationParameters);
+    WINED3DPRESENT_PARAMETERS winePresentParameters;
+    TRACE("(%p)->(%p): Relay\n", This, pPresentationParameters);
+    winePresentParameters.BackBufferWidth = &pPresentationParameters->BackBufferWidth;
+    winePresentParameters.BackBufferHeight = &pPresentationParameters->BackBufferHeight;
+    winePresentParameters.BackBufferFormat = (WINED3DFORMAT *) &pPresentationParameters->BackBufferFormat;
+    winePresentParameters.BackBufferCount = &pPresentationParameters->BackBufferCount;
+    winePresentParameters.MultiSampleType = &pPresentationParameters->MultiSampleType;
+    winePresentParameters.MultiSampleQuality = &pPresentationParameters->MultiSampleQuality;
+    winePresentParameters.SwapEffect = &pPresentationParameters->SwapEffect;
+    winePresentParameters.hDeviceWindow = &pPresentationParameters->hDeviceWindow;
+    winePresentParameters.Windowed = &pPresentationParameters->Windowed;
+    winePresentParameters.EnableAutoDepthStencil = &pPresentationParameters->EnableAutoDepthStencil;
+    winePresentParameters.Flags = &pPresentationParameters->Flags;
+    winePresentParameters.FullScreen_RefreshRateInHz = &pPresentationParameters->FullScreen_RefreshRateInHz;
+    winePresentParameters.PresentationInterval = &pPresentationParameters->PresentationInterval;
+    return IWineD3DSwapChain_GetPresentParameters(This->wineD3DSwapChain, &winePresentParameters);
 }
 
 
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 02a8d2e..05dee94 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -434,10 +434,22 @@ HRESULT WINAPI IWineD3DSwapChainImpl_Get
     return D3D_OK;
 }
 
-HRESULT WINAPI IWineD3DSwapChainImpl_GetPresentParameters(IWineD3DSwapChain *iface, D3DPRESENT_PARAMETERS *pPresentationParameters) {
+HRESULT WINAPI IWineD3DSwapChainImpl_GetPresentParameters(IWineD3DSwapChain *iface, WINED3DPRESENT_PARAMETERS *pPresentationParameters) {
     IWineD3DSwapChainImpl *This = (IWineD3DSwapChainImpl *)iface;
-    FIXME("(%p) : copy\n", This);
-    memcpy(pPresentationParameters, &This->presentParms, sizeof(D3DPRESENT_PARAMETERS));
+    TRACE("(%p)\n", This);
+    *pPresentationParameters->BackBufferWidth = This->presentParms.BackBufferWidth;
+    *pPresentationParameters->BackBufferHeight = This->presentParms.BackBufferHeight;
+    *pPresentationParameters->BackBufferFormat = This->presentParms.BackBufferFormat;
+    *pPresentationParameters->BackBufferCount = This->presentParms.BackBufferCount;
+    *pPresentationParameters->MultiSampleType = This->presentParms.MultiSampleType;
+    *pPresentationParameters->MultiSampleQuality = This->presentParms.MultiSampleQuality;
+    *pPresentationParameters->SwapEffect = This->presentParms.SwapEffect;
+    *pPresentationParameters->hDeviceWindow = This->presentParms.hDeviceWindow;
+    *pPresentationParameters->Windowed = This->presentParms.Windowed;
+    *pPresentationParameters->EnableAutoDepthStencil = This->presentParms.EnableAutoDepthStencil;
+    *pPresentationParameters->Flags = This->presentParms.Flags;
+    *pPresentationParameters->FullScreen_RefreshRateInHz = This->presentParms.FullScreen_RefreshRateInHz;
+    *pPresentationParameters->PresentationInterval = This->presentParms.PresentationInterval;
     return D3D_OK;
 }
 
diff --git a/include/wine/wined3d_interface.h b/include/wine/wined3d_interface.h
index c37ac00..0a4ffa9 100644
--- a/include/wine/wined3d_interface.h
+++ b/include/wine/wined3d_interface.h
@@ -1290,7 +1290,7 @@ DECLARE_INTERFACE_(IWineD3DSwapChain,IWi
     STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IWineD3DSurface **ppBackBuffer) PURE;
     STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS *pRasterStatus) PURE;
     STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE *pMode) PURE;
-    STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS *pPresentationParameters) PURE;
+    STDMETHOD(GetPresentParameters)(THIS_ WINED3DPRESENT_PARAMETERS *pPresentationParameters) PURE;
     STDMETHOD(SetGammaRamp)(THIS_ DWORD Flags, const D3DGAMMARAMP *pRamp) PURE;
     STDMETHOD(GetGammaRamp)(THIS_ D3DGAMMARAMP *pRamp) PURE;
 };




More information about the wine-cvs mailing list