[2/5] d3dx9: Forward D3DXSaveSurfaceToFileA to D3DXSaveSurfaceToFileW.

Józef Kucia joseph.kucia at gmail.com
Fri May 11 06:20:53 CDT 2012


On Wed, May 2, 2012 at 2:55 PM, Józef Kucia <joseph.kucia at gmail.com> wrote:
> ---
>  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..70627fd 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(LPCSTR 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;
> +    LPWSTR filename;
> +    HRESULT hr;
> +
> +    TRACE("(%s, %d, %p, %p, %p): relay\n",
> +            wine_dbgstr_a(dst_filename), file_format, src_surface, src_palette, src_rect);
> +
> +    if (!dst_filename) return D3DERR_INVALIDCALL;
> +
> +    len = MultiByteToWideChar(CP_ACP, 0, dst_filename, -1, NULL, 0);
> +    filename = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 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,
> --
> 1.7.8.6
>

This mail is the lost mail from 2nd May. Please ignore it.



More information about the wine-devel mailing list