No subject


Sat Jul 26 02:57:16 CDT 2008


=0A=0A---=0A dlls/d3dx9_36/Makefile.in        |    3 +-=0A dlls/d3dx9_36/d3=
dx9_36.spec      |    2 +-=0A dlls/d3dx9_36/d3dx9_36_private.h |   17 +++-=
=0A dlls/d3dx9_36/sprite.c           |  180 +++++++++++++++++++++++++++++++=
+++++++=0A 4 files changed, 196 insertions(+), 6 deletions(-)=0A create mod=
e 100644 dlls/d3dx9_36/sprite.c=0A=0Adiff --git a/dlls/d3dx9_36/Makefile.in=
 b/dlls/d3dx9_36/Makefile.in=0Aindex 78cfd97..0b5a3d3 100644=0A--- a/dlls/d=
3dx9_36/Makefile.in=0A+++ b/dlls/d3dx9_36/Makefile.in=0A@@ -10,7 +10,8 @@ C=
_SRCS =3D \=0A =09d3dx9_36_main.c \=0A =09font.c \=0A =09math.c \=0A-=09sha=
der.c=0A+=09shader.c \=0A+=09sprite.c=0A =0A RC_SRCS =3D version.rc=0A =0Ad=
iff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec=0Aind=
ex 1619f16..1d5031d 100644=0A--- a/dlls/d3dx9_36/d3dx9_36.spec=0A+++ b/dlls=
/d3dx9_36/d3dx9_36.spec=0A@@ -88,7 +88,7 @@=0A @ stub D3DXCreateSkinInfoFro=
mBlendedMesh=0A @ stub D3DXCreateSkinInfoFVF=0A @ stub D3DXCreateSphere=0A-=
@ stub D3DXCreateSprite=0A+@ stdcall D3DXCreateSprite(ptr ptr)=0A @ stub D3=
DXCreateTeapot=0A @ stub D3DXCreateTextA=0A @ stub D3DXCreateTextW=0Adiff -=
-git a/dlls/d3dx9_36/d3dx9_36_private.h b/dlls/d3dx9_36/d3dx9_36_private.h=
=0Aindex 33d83b2..e1c266d 100644=0A--- a/dlls/d3dx9_36/d3dx9_36_private.h=
=0A+++ b/dlls/d3dx9_36/d3dx9_36_private.h=0A@@ -29,12 +29,21 @@=0A =0A type=
def struct ID3DXFontImpl=0A {=0A-  /* IUnknown fields */=0A-  const ID3DXFo=
ntVtbl *lpVtbl;=0A-  LONG ref;=0A+    /* IUnknown fields */=0A+    const ID=
3DXFontVtbl *lpVtbl;=0A+    LONG ref;=0A =0A-  /* ID3DXFont fields */=0A+  =
  /* ID3DXFont fields */=0A } ID3DXFontImpl;=0A =0A+typedef struct ID3DXSpr=
iteImpl=0A+{=0A+    /* IUnknown fields */=0A+    const ID3DXSpriteVtbl *lpV=
tbl;=0A+    LONG ref;=0A+=0A+    /* ID3DXSprite fields */=0A+} ID3DXSpriteI=
mpl;=0A+=0A =0A #endif /* __WINE_D3DX9_36_PRIVATE_H */=0Adiff --git a/dlls/=
d3dx9_36/sprite.c b/dlls/d3dx9_36/sprite.c=0Anew file mode 100644=0Aindex 0=
000000..15a8c59=0A--- /dev/null=0A+++ b/dlls/d3dx9_36/sprite.c=0A@@ -0,0 +1=
,180 @@=0A+/*=0A+ * Copyright (C) 2008 Tony Wasserka=0A+ *=0A+ * This libra=
ry is free software; you can redistribute it and/or=0A+ * modify it under t=
he 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 is distributed in =
the hope that it will be useful,=0A+ * but WITHOUT ANY WARRANTY; without ev=
en the implied warranty of=0A+ * MERCHANTABILITY or FITNESS FOR A PARTICULA=
R PURPOSE.  See the GNU=0A+ * Lesser General Public License for more detail=
s.=0A+ *=0A+ * You should have received a copy of the GNU Lesser General Pu=
blic=0A+ * License along with this library; if not, write to the Free Softw=
are=0A+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1=
301, USA=0A+ *=0A+ */=0A+=0A+#include "wine/debug.h"=0A+#include "d3dx9_36_=
private.h"=0A+=0A+WINE_DEFAULT_DEBUG_CHANNEL(d3dx);=0A+=0A+static HRESULT W=
INAPI ID3DXSpriteImpl_QueryInterface(LPD3DXSPRITE iface, REFIID riid, LPVOI=
D *object)=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_ID3DX=
Sprite)) {=0A+        IUnknown_AddRef(iface);=0A+        *object=3DThis;=0A=
+        return S_OK;=0A+    }=0A+    WARN("(%p)->(%s, %p): not found\n", i=
face, debugstr_guid(riid), *object);=0A+    return E_NOINTERFACE;=0A+}=0A+=
=0A+static ULONG WINAPI ID3DXSpriteImpl_AddRef(LPD3DXSPRITE iface)=0A+{=0A+=
    ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+    ULONG ref=3DInt=
erlockedIncrement(&This->ref);=0A+    TRACE("(%p): AddRef from %d\n", This,=
 ref-1);=0A+=0A+    if(ref=3D=3D0) {=0A+        HeapFree(GetProcessHeap(), =
0, This);=0A+    }=0A+    return ref;=0A+}=0A+=0A+static ULONG WINAPI ID3DX=
SpriteImpl_Release(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(LPD=
3DXSPRITE iface, LPDIRECT3DDEVICE9 *device)=0A+{=0A+    ID3DXSpriteImpl *Th=
is=3D(ID3DXSpriteImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+    re=
turn E_NOTIMPL;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_GetTransf=
orm(LPD3DXSPRITE iface, D3DXMATRIX *transform)=0A+{=0A+    ID3DXSpriteImpl =
*This=3D(ID3DXSpriteImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+   =
 return E_NOTIMPL;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_SetTra=
nsform(LPD3DXSPRITE iface, CONST D3DXMATRIX *transform)=0A+{=0A+    ID3DXSp=
riteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+    FIXME("(%p): stub\n", This=
);=0A+    return E_NOTIMPL;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXSpriteIm=
pl_SetWorldViewRH(LPD3DXSPRITE iface, CONST D3DXMATRIX *world, CONST D3DXMA=
TRIX *view)=0A+{=0A+    ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A=
+    FIXME("(%p): stub\n", This);=0A+    return E_NOTIMPL;=0A+}=0A+=0A+stat=
ic HRESULT WINAPI ID3DXSpriteImpl_SetWorldViewLH(LPD3DXSPRITE iface, CONST =
D3DXMATRIX *world, CONST D3DXMATRIX *view)=0A+{=0A+    ID3DXSpriteImpl *Thi=
s=3D(ID3DXSpriteImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+    ret=
urn E_NOTIMPL;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_Begin(LPD3=
DXSPRITE iface, DWORD flags)=0A+{=0A+    ID3DXSpriteImpl *This=3D(ID3DXSpri=
teImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+    return E_NOTIMPL;=
=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+    ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)ifac=
e;=0A+    FIXME("(%p): stub\n", This);=0A+    return E_NOTIMPL;=0A+}=0A+=0A=
+static HRESULT WINAPI ID3DXSpriteImpl_Flush(LPD3DXSPRITE iface)=0A+{=0A+  =
  ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+    FIXME("(%p): stub=
\n", This);=0A+    return E_NOTIMPL;=0A+}=0A+=0A+static HRESULT WINAPI ID3D=
XSpriteImpl_End(LPD3DXSPRITE iface)=0A+{=0A+    ID3DXSpriteImpl *This=3D(ID=
3DXSpriteImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+    return E_N=
OTIMPL;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXSpriteImpl_OnLostDevice(LPD3=
DXSPRITE iface)=0A+{=0A+    ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface=
;=0A+    FIXME("(%p): stub\n", This);=0A+    return E_NOTIMPL;=0A+}=0A+=0A+=
static HRESULT WINAPI ID3DXSpriteImpl_OnResetDevice(LPD3DXSPRITE iface)=0A+=
{=0A+    ID3DXSpriteImpl *This=3D(ID3DXSpriteImpl*)iface;=0A+    FIXME("(%p=
): stub\n", This);=0A+    return E_NOTIMPL;=0A+}=0A+=0A+static const ID3DXS=
priteVtbl D3DXSprite_Vtbl =3D=0A+{=0A+    /*** IUnknown methods ***/=0A+   =
 ID3DXSpriteImpl_QueryInterface,=0A+    ID3DXSpriteImpl_AddRef,=0A+    ID3D=
XSpriteImpl_Release,=0A+    /*** ID3DXSprite methods ***/=0A+    ID3DXSprit=
eImpl_GetDevice,=0A+    ID3DXSpriteImpl_GetTransform,=0A+    ID3DXSpriteImp=
l_SetTransform,=0A+    ID3DXSpriteImpl_SetWorldViewRH,=0A+    ID3DXSpriteIm=
pl_SetWorldViewLH,=0A+    ID3DXSpriteImpl_Begin,=0A+    ID3DXSpriteImpl_Dra=
w,=0A+    ID3DXSpriteImpl_Flush,=0A+    ID3DXSpriteImpl_End,=0A+    ID3DXSp=
riteImpl_OnLostDevice,=0A+    ID3DXSpriteImpl_OnResetDevice=0A+};=0A+=0A+HR=
ESULT WINAPI D3DXCreateSprite(LPDIRECT3DDEVICE9 device, LPD3DXSPRITE *sprit=
e)=0A+{=0A+    ID3DXSpriteImpl *object;=0A+=0A+    FIXME("stub\n");=0A+=0A+=
    if(device=3D=3DNULL || sprite=3D=3DNULL) return D3DERR_INVALIDCALL;=0A+=
=0A+    object=3DHeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(ID3DX=
SpriteImpl));=0A+    if(object=3D=3DNULL) {=0A+        *sprite=3DNULL;=0A+ =
       return E_OUTOFMEMORY;=0A+    }=0A+    object->lpVtbl=3D&D3DXSprite_V=
tbl;=0A+    object->ref=3D1;=0A+=0A+    *sprite=3D(ID3DXSprite*)object;=0A+=
=0A+    return D3D_OK;=0A+}=0A-- =0A1.5.4.3=0A=0A

--b7752d03144d04c8df974642ebe314099--



More information about the wine-patches mailing list