Module: wine Branch: master Commit: 36ef502e2f737f717d503f35e9e6c3b18239cbe7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=36ef502e2f737f717d503f35e9...
Author: Christian Costa titan.costa@wanadoo.fr Date: Tue Apr 6 21:44:16 2010 +0200
d3dx9_36: Forward D3DXCreateTextureFromFileExW to D3DXCreateTextureFromFileInMemoryEx.
---
dlls/d3dx9_36/d3dx9_36.spec | 2 +- dlls/d3dx9_36/texture.c | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletions(-)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec index 329e501..5c5a1a6 100644 --- a/dlls/d3dx9_36/d3dx9_36.spec +++ b/dlls/d3dx9_36/d3dx9_36.spec @@ -95,7 +95,7 @@ @ stdcall D3DXCreateTexture(ptr long long long long long long ptr) @ stub D3DXCreateTextureFromFileA @ stub D3DXCreateTextureFromFileExA -@ stub D3DXCreateTextureFromFileExW +@ stdcall D3DXCreateTextureFromFileExW(ptr ptr long long long long long long long long long ptr ptr ptr) @ stub D3DXCreateTextureFromFileInMemory @ stdcall D3DXCreateTextureFromFileInMemoryEx(ptr ptr long long long long long long long long long long ptr ptr ptr) @ stub D3DXCreateTextureFromFileW diff --git a/dlls/d3dx9_36/texture.c b/dlls/d3dx9_36/texture.c index 7447d81..2b1b468 100644 --- a/dlls/d3dx9_36/texture.c +++ b/dlls/d3dx9_36/texture.c @@ -70,3 +70,40 @@ HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx(LPDIRECT3DDEVICE9 device,
return E_NOTIMPL; } + +HRESULT WINAPI D3DXCreateTextureFromFileExW(LPDIRECT3DDEVICE9 device, + LPCWSTR srcfile, + UINT width, + UINT height, + UINT miplevels, + DWORD usage, + D3DFORMAT format, + D3DPOOL pool, + DWORD filter, + DWORD mipfilter, + D3DCOLOR colorkey, + D3DXIMAGE_INFO *srcinfo, + PALETTEENTRY *palette, + LPDIRECT3DTEXTURE9 *texture) +{ + HRESULT hr; + DWORD size; + LPVOID buffer; + + TRACE("(%p, %p, %u, %u, %u, %x, %x, %x, %u, %u, %x, %p, %p, %p): relay\n", device, debugstr_w(srcfile), width, + height, miplevels, usage, format, pool, filter, mipfilter, colorkey, srcinfo, palette, texture); + + if (!srcfile) + return D3DERR_INVALIDCALL; + + hr = map_view_of_file(srcfile, &buffer, &size); + if (FAILED(hr)) + return D3DXERR_INVALIDDATA; + + hr = D3DXCreateTextureFromFileInMemoryEx(device, buffer, size, width, height, miplevels, usage, format, pool, + filter, mipfilter, colorkey, srcinfo, palette, texture); + + UnmapViewOfFile(buffer); + + return hr; +}