No subject


Wed Feb 20 09:39:33 CST 2008


functions=0A=0A---=0A dlls/d3dx9_36/Makefile.in        |    3 +-=0A dlls/d3=
dx9_36/d3dx9_36.spec      |    2 +-=0A dlls/d3dx9_36/d3dx9_36_private.h |  =
  8 ++=0A dlls/d3dx9_36/offscreen.c        |  136 +++++++++++++++++++++++++=
+++++++++++++=0A 4 files changed, 147 insertions(+), 2 deletions(-)=0A crea=
te mode 100644 dlls/d3dx9_36/offscreen.c=0A=0Adiff --git a/dlls/d3dx9_36/Ma=
kefile.in b/dlls/d3dx9_36/Makefile.in=0Aindex c4cdbb4..2e88e89 100644=0A---=
 a/dlls/d3dx9_36/Makefile.in=0A+++ b/dlls/d3dx9_36/Makefile.in=0A@@ -8,7 +8=
,8 @@ IMPORTS   =3D d3d9 d3dx8 kernel32=0A =0A C_SRCS =3D \=0A =09d3dx9_36_=
main.c \=0A-=09font.c=0A+=09font.c \=0A+=09offscreen.c=0A =0A @MAKE_DLL_RUL=
ES@=0A =0Adiff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36=
.spec=0Aindex 46c7cd5..6a2bda3 100644=0A--- a/dlls/d3dx9_36/d3dx9_36.spec=
=0A+++ b/dlls/d3dx9_36/d3dx9_36.spec=0A@@ -82,7 +82,7 @@=0A @ stub D3DXCrea=
tePRTCompBuffer=0A @ stub D3DXCreatePRTEngine=0A @ stub D3DXCreateRenderToE=
nvMap=0A-@ stub D3DXCreateRenderToSurface=0A+@ stdcall D3DXCreateRenderToSu=
rface(ptr long long long long long ptr)=0A @ stdcall D3DXCreateSPMesh(ptr p=
tr ptr ptr ptr) d3dx8.D3DXCreateSPMesh=0A @ stub D3DXCreateSkinInfo=0A @ st=
ub D3DXCreateSkinInfoFromBlendedMesh=0Adiff --git a/dlls/d3dx9_36/d3dx9_36_=
private.h b/dlls/d3dx9_36/d3dx9_36_private.h=0Aindex 33d83b2..2705872 10064=
4=0A--- a/dlls/d3dx9_36/d3dx9_36_private.h=0A+++ b/dlls/d3dx9_36/d3dx9_36_p=
rivate.h=0A@@ -36,5 +36,13 @@ typedef struct ID3DXFontImpl=0A   /* ID3DXFon=
t fields */=0A } ID3DXFontImpl;=0A =0A+typedef struct ID3DXRenderToSurfaceI=
mpl=0A+{=0A+  /* IUnknown fields */=0A+  const ID3DXRenderToSurfaceVtbl *lp=
Vtbl;=0A+  LONG ref;=0A+=0A+  /* ID3DXRenderToSurface fields */=0A+} ID3DXR=
enderToSurfaceImpl;=0A =0A #endif /* __WINE_D3DX9_36_PRIVATE_H */=0Adiff --=
git a/dlls/d3dx9_36/offscreen.c b/dlls/d3dx9_36/offscreen.c=0Anew file mode=
 100644=0Aindex 0000000..2db1037=0A--- /dev/null=0A+++ b/dlls/d3dx9_36/offs=
creen.c=0A@@ -0,0 +1,136 @@=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 librar=
y is distributed in the hope that it will be useful,=0A+ * but WITHOUT ANY =
WARRANTY; without even the implied warranty of=0A+ * MERCHANTABILITY or FIT=
NESS FOR A PARTICULAR PURPOSE.  See the GNU=0A+ * Lesser General Public Lic=
ense for more details.=0A+ *=0A+ * You should have received a copy of the G=
NU Lesser General Public=0A+ * License along with this library; if not, wri=
te to the Free Software=0A+ * Foundation, Inc., 51 Franklin St, Fifth Floor=
, Boston, MA 02110-1301, USA=0A+ *=0A+ */=0A+=0A+#include "config.h"=0A+#in=
clude "wine/port.h"=0A+=0A+#include "wine/debug.h"=0A+#include "d3dx9_36_pr=
ivate.h"=0A+=0A+WINE_DEFAULT_DEBUG_CHANNEL(d3dx);=0A+=0A+static HRESULT WIN=
API ID3DXRenderToSurfaceImpl_QueryInterface(LPD3DXRENDERTOSURFACE iface, RE=
FIID riid, LPVOID *object)=0A+{=0A+    ID3DXRenderToSurfaceImpl *This=3D(ID=
3DXRenderToSurfaceImpl*)iface;=0A+=0A+    TRACE("(%p): QueryInterface from =
%s\n", This, debugstr_guid(riid));=0A+    if(IsEqualGUID(riid, &IID_IUnknow=
n) || IsEqualGUID(riid, &IID_ID3DXRenderToSurface)) {=0A+        IUnknown_A=
ddRef(iface);=0A+        *object=3DThis;=0A+        return S_OK;=0A+    }=
=0A+    WARN("(%p)->(%s, %p): not found\n", iface, debugstr_guid(riid), *ob=
ject);=0A+    return E_NOINTERFACE;=0A+}=0A+=0A+static ULONG WINAPI ID3DXRe=
nderToSurfaceImpl_AddRef(LPD3DXRENDERTOSURFACE iface)=0A+{=0A+    ID3DXRend=
erToSurfaceImpl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+    ULONG ref=
=3DInterlockedIncrement(&This->ref);=0A+    TRACE("(%p): AddRef from %d\n",=
 This, ref-1);=0A+    return ref;=0A+}=0A+=0A+static ULONG WINAPI ID3DXRend=
erToSurfaceImpl_Release(LPD3DXRENDERTOSURFACE iface)=0A+{=0A+    ID3DXRende=
rToSurfaceImpl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+    ULONG ref=
=3DInterlockedDecrement(&This->ref);=0A+    TRACE("(%p): ReleaseRef to %d\n=
", This, ref);=0A+=0A+    if(ref=3D=3D0) {=0A+        HeapFree(GetProcessHe=
ap(), 0, This);=0A+    }=0A+    return ref;=0A+}=0A+=0A+static HRESULT WINA=
PI ID3DXRenderToSurfaceImpl_GetDevice(LPD3DXRENDERTOSURFACE iface, LPDIRECT=
3DDEVICE9 *device)=0A+{=0A+    ID3DXRenderToSurfaceImpl *This=3D(ID3DXRende=
rToSurfaceImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+    return D3=
D_OK;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXRenderToSurfaceImpl_GetDesc(LP=
D3DXRENDERTOSURFACE iface, D3DXRTS_DESC *desc)=0A+{=0A+    ID3DXRenderToSur=
faceImpl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+    FIXME("(%p): stub=
\n", This);=0A+    return D3D_OK;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXRe=
nderToSurfaceImpl_BeginScene(LPD3DXRENDERTOSURFACE iface, LPDIRECT3DSURFACE=
9 surface, CONST D3DVIEWPORT9 *viewport)=0A+{=0A+    ID3DXRenderToSurfaceIm=
pl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+    FIXME("(%p): stub\n", T=
his);=0A+    return D3D_OK;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXRenderTo=
SurfaceImpl_EndScene(LPD3DXRENDERTOSURFACE iface, DWORD mipfilter)=0A+{=0A+=
    ID3DXRenderToSurfaceImpl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+ =
   FIXME("(%p): stub\n", This);=0A+    return D3D_OK;=0A+}=0A+=0A+static HR=
ESULT WINAPI ID3DXRenderToSurfaceImpl_OnLostDevice(LPD3DXRENDERTOSURFACE if=
ace)=0A+{=0A+    ID3DXRenderToSurfaceImpl *This=3D(ID3DXRenderToSurfaceImpl=
*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+    return D3D_OK;=0A+}=0A+=
=0A+static HRESULT WINAPI ID3DXRenderToSurfaceImpl_OnResetDevice(LPD3DXREND=
ERTOSURFACE iface)=0A+{=0A+    ID3DXRenderToSurfaceImpl *This=3D(ID3DXRende=
rToSurfaceImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+    return D3=
D_OK;=0A+}=0A+=0A+static const ID3DXRenderToSurfaceVtbl D3DXRenderToSurface=
_Vtbl =3D=0A+{=0A+    /*** IUnknown methods ***/=0A+    ID3DXRenderToSurfac=
eImpl_QueryInterface,=0A+    ID3DXRenderToSurfaceImpl_AddRef,=0A+    ID3DXR=
enderToSurfaceImpl_Release,=0A+    /*** ID3DXRenderToSurface methods ***/=
=0A+    ID3DXRenderToSurfaceImpl_GetDevice,=0A+    ID3DXRenderToSurfaceImpl=
_GetDesc,=0A+    ID3DXRenderToSurfaceImpl_BeginScene,=0A+    ID3DXRenderToS=
urfaceImpl_EndScene,=0A+    ID3DXRenderToSurfaceImpl_OnLostDevice,=0A+    I=
D3DXRenderToSurfaceImpl_OnResetDevice=0A+};=0A+=0A+HRESULT WINAPI D3DXCreat=
eRenderToSurface(LPDIRECT3DDEVICE9 device, UINT width, UINT height, D3DFORM=
AT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXRENDERTOSURFACE *r=
ts)=0A+{=0A+    ID3DXRenderToSurfaceImpl *object;=0A+=0A+    FIXME("stub\n"=
);=0A+=0A+    object=3DHeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof=
(ID3DXRenderToSurfaceImpl));=0A+    if(object=3D=3DNULL) {=0A+        *rts=
=3DNULL;=0A+        return E_OUTOFMEMORY;=0A+    }=0A+    object->lpVtbl=3D=
&D3DXRenderToSurface_Vtbl;=0A+    object->ref=3D1;=0A+=0A+    *rts=3D(LPD3D=
XRENDERTOSURFACE)object;=0A+=0A+    return D3D_OK;=0A+}=0A-- =0A1.5.3.7=0A=
=0A

--b2ca2c080f8dcde2e4b0beb16dd2d7304--



More information about the wine-patches mailing list