=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: d3dx9: Forward D3DXSaveSurfaceToFileA to D3DXSaveSurfaceToFileW.

Alexandre Julliard julliard at winehq.org
Mon May 7 14:29:27 CDT 2012


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

Author: Józef Kucia <joseph.kucia at gmail.com>
Date:   Fri May  4 13:01:20 2012 +0200

d3dx9: Forward D3DXSaveSurfaceToFileA to D3DXSaveSurfaceToFileW.

---

 dlls/d3dx9_36/surface.c |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index 44d4e06..ab316cf 100644
--- a/dlls/d3dx9_36/surface.c
+++ b/dlls/d3dx9_36/surface.c
@@ -1364,11 +1364,27 @@ HRESULT WINAPI D3DXLoadSurfaceFromSurface(LPDIRECT3DSURFACE9 pDestSurface,
 }
 
 
-HRESULT WINAPI D3DXSaveSurfaceToFileA(LPCSTR pDestFile, D3DXIMAGE_FILEFORMAT DestFormat,
-        LPDIRECT3DSURFACE9 pSrcSurface, const PALETTEENTRY* pSrcPalette, const RECT* pSrcRect)
+HRESULT WINAPI D3DXSaveSurfaceToFileA(const char *dst_filename, D3DXIMAGE_FILEFORMAT file_format,
+        IDirect3DSurface9 *src_surface, const PALETTEENTRY *src_palette, const RECT *src_rect)
 {
-    FIXME("(%p, %d, %p, %p, %p): stub\n", pDestFile, DestFormat, pSrcSurface, pSrcPalette, pSrcRect);
-    return D3DERR_INVALIDCALL;
+    int len;
+    WCHAR *filename;
+    HRESULT hr;
+
+    TRACE("(%s, %#x, %p, %p, %s): relay\n",
+            wine_dbgstr_a(dst_filename), file_format, src_surface, src_palette, wine_dbgstr_rect(src_rect));
+
+    if (!dst_filename) return D3DERR_INVALIDCALL;
+
+    len = MultiByteToWideChar(CP_ACP, 0, dst_filename, -1, NULL, 0);
+    filename = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+    if (!filename) return E_OUTOFMEMORY;
+    MultiByteToWideChar(CP_ACP, 0, dst_filename, -1, filename, len);
+
+    hr = D3DXSaveSurfaceToFileW(filename, file_format, src_surface, src_palette, src_rect);
+
+    HeapFree(GetProcessHeap(), 0, filename);
+    return hr;
 }
 
 HRESULT WINAPI D3DXSaveSurfaceToFileW(LPCWSTR pDestFile, D3DXIMAGE_FILEFORMAT DestFormat,




More information about the wine-cvs mailing list