No subject
Wed Jun 18 16:37:37 CDT 2008
---=0A dlls/d3dx9_36/Makefile.in | 3 +-=0A dlls/d3dx9_36/d3dx9_36=
.spec | 2 +-=0A dlls/d3dx9_36/d3dx9_36_private.h | 9 ++=0A dlls/=
d3dx9_36/sprite.c | 179 ++++++++++++++++++++++++++++++++++++++=
=0A 4 files changed, 191 insertions(+), 2 deletions(-)=0A create mode 10064=
4 dlls/d3dx9_36/sprite.c=0A=0Adiff --git a/dlls/d3dx9_36/Makefile.in b/dlls=
/d3dx9_36/Makefile.in=0Aindex 2ed85ea..18a5928 100644=0A--- a/dlls/d3dx9_36=
/Makefile.in=0A+++ b/dlls/d3dx9_36/Makefile.in=0A@@ -9,7 +9,8 @@ IMPORTS =
=3D d3d9 d3dx8 kernel32=0A C_SRCS =3D \=0A =09d3dx9_36_main.c \=0A =09font.=
c \=0A-=09math.c=0A+=09math.c \=0A+=09sprite.c=0A =0A @MAKE_DLL_RULES@=0A =
=0Adiff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec=
=0Aindex e616d23..a368b8b 100644=0A--- a/dlls/d3dx9_36/d3dx9_36.spec=0A+++ =
b/dlls/d3dx9_36/d3dx9_36.spec=0A@@ -88,7 +88,7 @@=0A @ stub D3DXCreateSkinI=
nfoFromBlendedMesh=0A @ stub D3DXCreateSkinInfoFVF=0A @ stub D3DXCreateSphe=
re=0A-@ stub D3DXCreateSprite=0A+@ stdcall D3DXCreateSprite(ptr ptr)=0A @ s=
tub D3DXCreateTeapot=0A @ stub D3DXCreateTextA=0A @ stub D3DXCreateTextW=0A=
diff --git a/dlls/d3dx9_36/d3dx9_36_private.h b/dlls/d3dx9_36/d3dx9_36_priv=
ate.h=0Aindex 33d83b2..3a9d97d 100644=0A--- a/dlls/d3dx9_36/d3dx9_36_privat=
e.h=0A+++ b/dlls/d3dx9_36/d3dx9_36_private.h=0A@@ -36,5 +36,14 @@ typedef s=
truct ID3DXFontImpl=0A /* ID3DXFont fields */=0A } ID3DXFontImpl;=0A =0A+=
typedef struct ID3DXSpriteImpl=0A+{=0A+ /* IUnknown fields */=0A+ const I=
D3DXSpriteVtbl *lpVtbl;=0A+ LONG ref;=0A+=0A+ /* ID3DXSprite fields */=0A=
+} ID3DXSpriteImpl;=0A+=0A =0A #endif /* __WINE_D3DX9_36_PRIVATE_H */=0Adif=
f --git a/dlls/d3dx9_36/sprite.c b/dlls/d3dx9_36/sprite.c=0Anew file mode 1=
00644=0Aindex 0000000..20cf787=0A--- /dev/null=0A+++ b/dlls/d3dx9_36/sprite=
.c=0A@@ -0,0 +1,179 @@=0A+/*=0A+ * Copyright (C) 2008 Tony Wasserka=0A+ *=
=0A+ * This library is free software; you can redistribute it and/or=0A+ * =
modify it under the terms of the GNU Lesser General Public=0A+ * License as=
published by the Free Software Foundation; either=0A+ * version 2.1 of the=
License, or (at your option) any later version.=0A+ *=0A+ * This library i=
s distributed in the hope that it will be useful,=0A+ * but WITHOUT ANY WAR=
RANTY; without even the implied warranty of=0A+ * MERCHANTABILITY or FITNES=
S FOR A PARTICULAR PURPOSE. See the GNU=0A+ * Lesser General Public Licens=
e for more details.=0A+ *=0A+ * You should have received a copy of the GNU =
Lesser General Public=0A+ * License along with this library; if not, write =
to the Free Software=0A+ * Foundation, Inc., 51 Franklin St, Fifth Floor, B=
oston, MA 02110-1301, USA=0A+ *=0A+ */=0A+=0A+#include "config.h"=0A+#inclu=
de "wine/port.h"=0A+=0A+#include "wine/debug.h"=0A+#include "d3dx9_36_priva=
te.h"=0A+=0A+WINE_DEFAULT_DEBUG_CHANNEL(d3dx);=0A+=0A+static HRESULT WINAPI=
ID3DXSpriteImpl_QueryInterface(LPD3DXSPRITE iface, REFIID riid, LPVOID *ob=
ject)=0A+{=0A+ ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+=0A+ =
TRACE("(%p): QueryInterface from %s\n", This, debugstr_guid(riid));=0A+ =
if(IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_ID3DXSprit=
e)) {=0A+ IUnknown_AddRef(iface);=0A+ *object=3DThis;=0A+ =
return S_OK;=0A+ }=0A+ WARN("(%p)->(%s, %p): not found\n", iface,=
debugstr_guid(riid), *object);=0A+ return E_NOINTERFACE;=0A+}=0A+=0A+st=
atic ULONG WINAPI ID3DXSpriteImpl_AddRef(LPD3DXSPRITE iface)=0A+{=0A+ ID=
3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+ ULONG ref=3DInterlock=
edIncrement(&This->ref);=0A+ TRACE("(%p): AddRef from %d\n", This, ref-1=
);=0A+ return ref;=0A+}=0A+=0A+static ULONG WINAPI ID3DXSpriteImpl_Relea=
se(LPD3DXSPRITE iface)=0A+{=0A+ ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl=
*)iface;=0A+ ULONG ref=3DInterlockedDecrement(&This->ref);=0A+ TRACE(=
"(%p): ReleaseRef to %d\n", This, ref);=0A+=0A+ if(ref=3D=3D0) {=0A+ =
HeapFree(GetProcessHeap(), 0, This);=0A+ }=0A+ return ref;=0A+}=
=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_GetDevice(LPD3DXSPRITE iface,=
LPDIRECT3DDEVICE9 *device)=0A+{=0A+ ID3DXSpriteImpl *This=3D(ID3DXSprit=
eImpl*)iface;=0A+ FIXME("(%p): stub\n", This);=0A+ return D3D_OK;=0A+=
}=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_GetTransform(LPD3DXSPRITE if=
ace, D3DXMATRIX *transform)=0A+{=0A+ ID3DXSpriteImpl *This=3D(ID3DXSprit=
eImpl*)iface;=0A+ FIXME("(%p): stub\n", This);=0A+ return D3D_OK;=0A+=
}=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_SetTransform(LPD3DXSPRITE if=
ace, CONST D3DXMATRIX *transform)=0A+{=0A+ ID3DXSpriteImpl *This=3D(ID3D=
XSpriteImpl*)iface;=0A+ FIXME("(%p): stub\n", This);=0A+ return D3D_O=
K;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_SetWorldViewRH(LPD3DXS=
PRITE iface, CONST D3DXMATRIX *world, CONST D3DXMATRIX *view)=0A+{=0A+ I=
D3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+ FIXME("(%p): stub\n"=
, This);=0A+ return D3D_OK;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXSprit=
eImpl_SetWorldViewLH(LPD3DXSPRITE iface, CONST D3DXMATRIX *world, CONST D3D=
XMATRIX *view)=0A+{=0A+ ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=
=0A+ FIXME("(%p): stub\n", This);=0A+ return D3D_OK;=0A+}=0A+=0A+stat=
ic HRESULT WINAPI ID3DXSpriteImpl_Begin(LPD3DXSPRITE iface, DWORD flags)=0A=
+{=0A+ ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+ FIXME("(%=
p): stub\n", This);=0A+ return D3D_OK;=0A+}=0A+=0A+static HRESULT WINAPI=
ID3DXSpriteImpl_Draw(LPD3DXSPRITE iface, LPDIRECT3DTEXTURE9 texture, CONST=
RECT *rect, CONST D3DXVECTOR3 *center,=0A+ =
CONST D3DXVECTOR3 *position, D3DCOLOR color)=0A+{=0A+ ID3DXSp=
riteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+ FIXME("(%p): stub\n", This=
);=0A+ return D3D_OK;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_=
Flush(LPD3DXSPRITE iface)=0A+{=0A+ ID3DXSpriteImpl *This=3D(ID3DXSpriteI=
mpl*)iface;=0A+ FIXME("(%p): stub\n", This);=0A+ return D3D_OK;=0A+}=
=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_End(LPD3DXSPRITE iface)=0A+{=
=0A+ ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+ FIXME("(%p)=
: stub\n", This);=0A+ return D3D_OK;=0A+}=0A+=0A+static HRESULT WINAPI I=
D3DXSpriteImpl_OnLostDevice(LPD3DXSPRITE iface)=0A+{=0A+ ID3DXSpriteImpl=
*This=3D(ID3DXSpriteImpl*)iface;=0A+ FIXME("(%p): stub\n", This);=0A+ =
return D3D_OK;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_OnResetD=
evice(LPD3DXSPRITE iface)=0A+{=0A+ ID3DXSpriteImpl *This=3D(ID3DXSpriteI=
mpl*)iface;=0A+ FIXME("(%p): stub\n", This);=0A+ return D3D_OK;=0A+}=
=0A+=0A+static const ID3DXSpriteVtbl D3DXSprite_Vtbl =3D=0A+{=0A+ /*** I=
Unknown methods ***/=0A+ ID3DXSpriteImpl_QueryInterface,=0A+ ID3DXSpr=
iteImpl_AddRef,=0A+ ID3DXSpriteImpl_Release,=0A+ /*** ID3DXSprite met=
hods ***/=0A+ ID3DXSpriteImpl_GetDevice,=0A+ ID3DXSpriteImpl_GetTrans=
form,=0A+ ID3DXSpriteImpl_SetTransform,=0A+ ID3DXSpriteImpl_SetWorldV=
iewRH,=0A+ ID3DXSpriteImpl_SetWorldViewLH,=0A+ ID3DXSpriteImpl_Begin,=
=0A+ ID3DXSpriteImpl_Draw,=0A+ ID3DXSpriteImpl_Flush,=0A+ ID3DXSpr=
iteImpl_End,=0A+ ID3DXSpriteImpl_OnLostDevice,=0A+ ID3DXSpriteImpl_On=
ResetDevice=0A+};=0A+=0A+HRESULT WINAPI D3DXCreateSprite(LPDIRECT3DDEVICE9 =
device, LPD3DXSPRITE *sprite)=0A+{=0A+ ID3DXSpriteImpl *object;=0A+=0A+ =
FIXME("stub\n");=0A+=0A+ if(device=3D=3DNULL || sprite=3D=3DNULL) ret=
urn D3DERR_INVALIDCALL;=0A+=0A+ object=3DHeapAlloc(GetProcessHeap(), HEA=
P_ZERO_MEMORY, sizeof(ID3DXSpriteImpl));=0A+ if(object=3D=3DNULL) {=0A+ =
*sprite=3DNULL;=0A+ return E_OUTOFMEMORY;=0A+ }=0A+ obj=
ect->lpVtbl=3D&D3DXSprite_Vtbl;=0A+ object->ref=3D1;=0A+=0A+ *sprite=
=3D(ID3DXSprite*)object;=0A+=0A+ return D3D_OK;=0A+}=0A-- =0A1.5.4.3=0A=
=0A
--bbf35b867d71bdc400dbcbd32745c8ae7--
More information about the wine-patches
mailing list