[PATCH] d3drm: Implement texture SetAppData and GetAppData.

Christian Costa titan.costa at gmail.com
Fri Nov 9 03:05:46 CST 2012


---
 dlls/d3drm/texture.c |   31 +++++++++++++++++++++----------
 1 file changed, 21 insertions(+), 10 deletions(-)

diff --git a/dlls/d3drm/texture.c b/dlls/d3drm/texture.c
index cfa7e85..8a0185e9 100644
--- a/dlls/d3drm/texture.c
+++ b/dlls/d3drm/texture.c
@@ -33,6 +33,7 @@ typedef struct {
     IDirect3DRMTexture2 IDirect3DRMTexture2_iface;
     IDirect3DRMTexture3 IDirect3DRMTexture3_iface;
     LONG ref;
+    DWORD app_data;
 } IDirect3DRMTextureImpl;
 
 static inline IDirect3DRMTextureImpl *impl_from_IDirect3DRMTexture2(IDirect3DRMTexture2 *iface)
@@ -128,18 +129,22 @@ static HRESULT WINAPI IDirect3DRMTexture2Impl_DeleteDestroyCallback(IDirect3DRMT
 }
 
 static HRESULT WINAPI IDirect3DRMTexture2Impl_SetAppData(IDirect3DRMTexture2* iface,
-                                                          DWORD data)
+                                                         DWORD data)
 {
-    FIXME("(%p)->(%u): stub\n", iface, data);
+    IDirect3DRMTextureImpl *This = impl_from_IDirect3DRMTexture2(iface);
 
-    return E_NOTIMPL;
+    TRACE("(%p)->(%u)\n", iface, data);
+
+    return IDirect3DRMTexture3_SetAppData(&This->IDirect3DRMTexture3_iface, data);
 }
 
 static DWORD WINAPI IDirect3DRMTexture2Impl_GetAppData(IDirect3DRMTexture2* iface)
 {
-    FIXME("(%p)->(): stub\n", iface);
+    IDirect3DRMTextureImpl *This = impl_from_IDirect3DRMTexture2(iface);
 
-    return 0;
+    TRACE("(%p)->()\n", iface);
+
+    return IDirect3DRMTexture3_GetAppData(&This->IDirect3DRMTexture3_iface);
 }
 
 static HRESULT WINAPI IDirect3DRMTexture2Impl_SetName(IDirect3DRMTexture2* iface, LPCSTR name)
@@ -492,18 +497,24 @@ static HRESULT WINAPI IDirect3DRMTexture3Impl_DeleteDestroyCallback(IDirect3DRMT
 }
 
 static HRESULT WINAPI IDirect3DRMTexture3Impl_SetAppData(IDirect3DRMTexture3* iface,
-                                                          DWORD data)
+                                                         DWORD data)
 {
-    FIXME("(%p)->(%u): stub\n", iface, data);
+    IDirect3DRMTextureImpl *This = impl_from_IDirect3DRMTexture3(iface);
 
-    return E_NOTIMPL;
+    TRACE("(%p)->(%u)\n", iface, data);
+
+    This->app_data = data;
+
+    return D3DRM_OK;
 }
 
 static DWORD WINAPI IDirect3DRMTexture3Impl_GetAppData(IDirect3DRMTexture3* iface)
 {
-    FIXME("(%p)->(): stub\n", iface);
+    IDirect3DRMTextureImpl *This = impl_from_IDirect3DRMTexture3(iface);
 
-    return 0;
+    TRACE("(%p)->()\n", iface);
+
+    return This->app_data;
 }
 
 static HRESULT WINAPI IDirect3DRMTexture3Impl_SetName(IDirect3DRMTexture3* iface, LPCSTR name)




More information about the wine-patches mailing list