[PATCH 2/5] d3drm: Implement IDirect3DRMFrameX_AddTransform.
Christian Costa
titan.costa at gmail.com
Thu May 17 03:09:40 CDT 2012
---
dlls/d3drm/frame.c | 27 +++++++++++++++++++++++----
1 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/dlls/d3drm/frame.c b/dlls/d3drm/frame.c
index fc15339..e530dcd 100644
--- a/dlls/d3drm/frame.c
+++ b/dlls/d3drm/frame.c
@@ -275,9 +275,9 @@ static HRESULT WINAPI IDirect3DRMFrame2Impl_AddTransform(IDirect3DRMFrame2* ifac
{
IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
- FIXME("(%p/%p)->(%u,%p): stub\n", iface, This, type, matrix);
+ TRACE("(%p/%p)->(%u,%p)\n", iface, This, type, matrix);
- return E_NOTIMPL;
+ return IDirect3DRMFrame3_AddTransform(&This->IDirect3DRMFrame3_iface, type, matrix);
}
static HRESULT WINAPI IDirect3DRMFrame2Impl_AddTranslation(IDirect3DRMFrame2* iface,
@@ -1253,9 +1253,28 @@ static HRESULT WINAPI IDirect3DRMFrame3Impl_AddTransform(IDirect3DRMFrame3* ifac
{
IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
- FIXME("(%p/%p)->(%u,%p): stub\n", iface, This, type, matrix);
+ TRACE("(%p/%p)->(%u,%p)\n", iface, This, type, matrix);
- return E_NOTIMPL;
+ switch (type)
+ {
+ case D3DRMCOMBINE_REPLACE:
+ memcpy(&This->transform[0][0], &matrix[0][0], sizeof(D3DRMMATRIX4D));
+ break;
+
+ case D3DRMCOMBINE_BEFORE:
+ FIXME("D3DRMCOMBINE_BEFORE not supported yed\n");
+ break;
+
+ case D3DRMCOMBINE_AFTER:
+ FIXME("D3DRMCOMBINE_AFTER not supported yed\n");
+ break;
+
+ default:
+ WARN("Unknown Combine Type %u\n", type);
+ return D3DRMERR_BADVALUE;
+ }
+
+ return S_OK;
}
static HRESULT WINAPI IDirect3DRMFrame3Impl_AddTranslation(IDirect3DRMFrame3* iface,
More information about the wine-patches
mailing list