Christian Costa : d3drm: Implement IDirect3DRMFrameX_AddTransform.

Alexandre Julliard julliard at winehq.org
Thu May 17 13:45:59 CDT 2012


Module: wine
Branch: master
Commit: 9e44f89d6b847b6bcb31942e9bad9832101ba65f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9e44f89d6b847b6bcb31942e9bad9832101ba65f

Author: Christian Costa <titan.costa at gmail.com>
Date:   Thu May 17 10:09:40 2012 +0200

d3drm: Implement IDirect3DRMFrameX_AddTransform.

---

 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-cvs mailing list