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