+++ /dev/null
-/**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the w64 mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
-
-#if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
-#define NONAMELESSUNION 1
-#endif
-#if defined(NONAMELESSSTRUCT) && \
- !defined(NONAMELESSUNION)
-#define NONAMELESSUNION 1
-#endif
-#if defined(NONAMELESSUNION) && \
- !defined(NONAMELESSSTRUCT)
-#define NONAMELESSSTRUCT 1
-#endif
-
-#ifndef __ANONYMOUS_DEFINED
-#define __ANONYMOUS_DEFINED
-#if defined(__GNUC__) || defined(__GNUG__)
-#define _ANONYMOUS_UNION __extension__
-#define _ANONYMOUS_STRUCT __extension__
-#else
-#define _ANONYMOUS_UNION
-#define _ANONYMOUS_STRUCT
-#endif
-#ifndef NONAMELESSUNION
-#define _UNION_NAME(x)
-#define _STRUCT_NAME(x)
-#else /* NONAMELESSUNION */
-#define _UNION_NAME(x) x
-#define _STRUCT_NAME(x) x
-#endif
-#endif /* __ANONYMOUS_DEFINED */
-
-#ifndef DUMMYUNIONNAME
-# ifdef NONAMELESSUNION
-# define DUMMYUNIONNAME u
-# define DUMMYUNIONNAME1 u1 /* Wine uses this variant */
-# define DUMMYUNIONNAME2 u2
-# define DUMMYUNIONNAME3 u3
-# define DUMMYUNIONNAME4 u4
-# define DUMMYUNIONNAME5 u5
-# define DUMMYUNIONNAME6 u6
-# define DUMMYUNIONNAME7 u7
-# define DUMMYUNIONNAME8 u8
-# define DUMMYUNIONNAME9 u9
-# else /* NONAMELESSUNION */
-# define DUMMYUNIONNAME
-# define DUMMYUNIONNAME1 /* Wine uses this variant */
-# define DUMMYUNIONNAME2
-# define DUMMYUNIONNAME3
-# define DUMMYUNIONNAME4
-# define DUMMYUNIONNAME5
-# define DUMMYUNIONNAME6
-# define DUMMYUNIONNAME7
-# define DUMMYUNIONNAME8
-# define DUMMYUNIONNAME9
-# endif
-#endif /* DUMMYUNIONNAME */
-
-#ifndef DUMMYSTRUCTNAME
-# ifdef NONAMELESSUNION
-# define DUMMYSTRUCTNAME s
-# define DUMMYSTRUCTNAME1 s1 /* Wine uses this variant */
-# define DUMMYSTRUCTNAME2 s2
-# define DUMMYSTRUCTNAME3 s3
-# define DUMMYSTRUCTNAME4 s4
-# define DUMMYSTRUCTNAME5 s5
-# else
-# define DUMMYSTRUCTNAME
-# define DUMMYSTRUCTNAME1 /* Wine uses this variant */
-# define DUMMYSTRUCTNAME2
-# define DUMMYSTRUCTNAME3
-# define DUMMYSTRUCTNAME4
-# define DUMMYSTRUCTNAME5
-# endif
-#endif /* DUMMYSTRUCTNAME */
-
-/* These are for compatibility with the Wine source tree */
-
-#ifndef WINELIB_NAME_AW
-# ifdef __MINGW_NAME_AW
-# define WINELIB_NAME_AW __MINGW_NAME_AW
-# else
-# ifdef UNICODE
-# define WINELIB_NAME_AW(func) func##W
-# else
-# define WINELIB_NAME_AW(func) func##A
-# endif
-# endif
-#endif /* WINELIB_NAME_AW */
-
-#ifndef DECL_WINELIB_TYPE_AW
-# ifdef __MINGW_TYPEDEF_AW
-# define DECL_WINELIB_TYPE_AW __MINGW_TYPEDEF_AW
-# else
-# define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
-# endif
-#endif /* DECL_WINELIB_TYPE_AW */
-
+++ /dev/null
-/*
- * Copyright (C) the Wine project
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D_H
-#define __WINE_D3D_H
-
-#include <stdlib.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-#include <d3dtypes.h> /* must precede d3dcaps.h */
-#include <d3dcaps.h>
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-DEFINE_GUID(IID_IDirect3D, 0x3BBA0080,0x2421,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3D2, 0x6aae1ec1,0x662a,0x11d0,0x88,0x9d,0x00,0xaa,0x00,0xbb,0xb7,0x6a);
-DEFINE_GUID(IID_IDirect3D3, 0xbb223240,0xe72b,0x11d0,0xa9,0xb4,0x00,0xaa,0x00,0xc0,0x99,0x3e);
-DEFINE_GUID(IID_IDirect3D7, 0xf5049e77,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-
-DEFINE_GUID(IID_IDirect3DRampDevice, 0xF2086B20,0x259F,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3DRGBDevice, 0xA4665C60,0x2673,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3DHALDevice, 0x84E63dE0,0x46AA,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-DEFINE_GUID(IID_IDirect3DMMXDevice, 0x881949a1,0xd6f3,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DRefDevice, 0x50936643,0x13e9,0x11d1,0x89,0xaa,0x00,0xa0,0xc9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DTnLHalDevice, 0xf5049e78,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-DEFINE_GUID(IID_IDirect3DNullDevice, 0x8767df22,0xbacc,0x11d1,0x89,0x69,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-
-DEFINE_GUID(IID_IDirect3DDevice, 0x64108800,0x957d,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DDevice2, 0x93281501,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DDevice3, 0xb0ab3b60,0x33d7,0x11d1,0xa9,0x81,0x00,0xc0,0x4f,0xd7,0xb1,0x74);
-DEFINE_GUID(IID_IDirect3DDevice7, 0xf5049e79,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-
-DEFINE_GUID(IID_IDirect3DTexture, 0x2CDCD9E0,0x25A0,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3DTexture2, 0x93281502,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-
-DEFINE_GUID(IID_IDirect3DLight, 0x4417C142,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-
-DEFINE_GUID(IID_IDirect3DMaterial, 0x4417C144,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-DEFINE_GUID(IID_IDirect3DMaterial2, 0x93281503,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DMaterial3, 0xca9c46f4,0xd3c5,0x11d1,0xb7,0x5a,0x00,0x60,0x08,0x52,0xb3,0x12);
-
-DEFINE_GUID(IID_IDirect3DExecuteBuffer, 0x4417C145,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-
-DEFINE_GUID(IID_IDirect3DViewport, 0x4417C146,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-DEFINE_GUID(IID_IDirect3DViewport2, 0x93281500,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DViewport3, 0xb0ab3b61,0x33d7,0x11d1,0xa9,0x81,0x00,0xc0,0x4f,0xd7,0xb1,0x74);
-
-DEFINE_GUID(IID_IDirect3DVertexBuffer, 0x7a503555,0x4a83,0x11d1,0xa5,0xdb,0x00,0xa0,0xc9,0x03,0x67,0xf8);
-DEFINE_GUID(IID_IDirect3DVertexBuffer7, 0xf5049e7d,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-
-
-typedef struct IDirect3D *LPDIRECT3D;
-typedef struct IDirect3D2 *LPDIRECT3D2;
-typedef struct IDirect3D3 *LPDIRECT3D3;
-typedef struct IDirect3D7 *LPDIRECT3D7;
-
-typedef struct IDirect3DLight *LPDIRECT3DLIGHT;
-
-typedef struct IDirect3DDevice *LPDIRECT3DDEVICE;
-typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2;
-typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3;
-typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7;
-
-typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT;
-typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2;
-typedef struct IDirect3DViewport3 *LPDIRECT3DVIEWPORT3;
-
-typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL;
-typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2;
-typedef struct IDirect3DMaterial3 *LPDIRECT3DMATERIAL3;
-
-typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE;
-typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2;
-
-typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER;
-
-typedef struct IDirect3DVertexBuffer *LPDIRECT3DVERTEXBUFFER;
-typedef struct IDirect3DVertexBuffer7 *LPDIRECT3DVERTEXBUFFER7;
-
-/* ********************************************************************
- Error Codes
- ******************************************************************** */
-#define D3D_OK DD_OK
-#define D3DERR_BADMAJORVERSION MAKE_DDHRESULT(700)
-#define D3DERR_BADMINORVERSION MAKE_DDHRESULT(701)
-#define D3DERR_INVALID_DEVICE MAKE_DDHRESULT(705)
-#define D3DERR_INITFAILED MAKE_DDHRESULT(706)
-#define D3DERR_DEVICEAGGREGATED MAKE_DDHRESULT(707)
-#define D3DERR_EXECUTE_CREATE_FAILED MAKE_DDHRESULT(710)
-#define D3DERR_EXECUTE_DESTROY_FAILED MAKE_DDHRESULT(711)
-#define D3DERR_EXECUTE_LOCK_FAILED MAKE_DDHRESULT(712)
-#define D3DERR_EXECUTE_UNLOCK_FAILED MAKE_DDHRESULT(713)
-#define D3DERR_EXECUTE_LOCKED MAKE_DDHRESULT(714)
-#define D3DERR_EXECUTE_NOT_LOCKED MAKE_DDHRESULT(715)
-#define D3DERR_EXECUTE_FAILED MAKE_DDHRESULT(716)
-#define D3DERR_EXECUTE_CLIPPED_FAILED MAKE_DDHRESULT(717)
-#define D3DERR_TEXTURE_NO_SUPPORT MAKE_DDHRESULT(720)
-#define D3DERR_TEXTURE_CREATE_FAILED MAKE_DDHRESULT(721)
-#define D3DERR_TEXTURE_DESTROY_FAILED MAKE_DDHRESULT(722)
-#define D3DERR_TEXTURE_LOCK_FAILED MAKE_DDHRESULT(723)
-#define D3DERR_TEXTURE_UNLOCK_FAILED MAKE_DDHRESULT(724)
-#define D3DERR_TEXTURE_LOAD_FAILED MAKE_DDHRESULT(725)
-#define D3DERR_TEXTURE_SWAP_FAILED MAKE_DDHRESULT(726)
-#define D3DERR_TEXTURE_LOCKED MAKE_DDHRESULT(727)
-#define D3DERR_TEXTURE_NOT_LOCKED MAKE_DDHRESULT(728)
-#define D3DERR_TEXTURE_GETSURF_FAILED MAKE_DDHRESULT(729)
-#define D3DERR_MATRIX_CREATE_FAILED MAKE_DDHRESULT(730)
-#define D3DERR_MATRIX_DESTROY_FAILED MAKE_DDHRESULT(731)
-#define D3DERR_MATRIX_SETDATA_FAILED MAKE_DDHRESULT(732)
-#define D3DERR_MATRIX_GETDATA_FAILED MAKE_DDHRESULT(733)
-#define D3DERR_SETVIEWPORTDATA_FAILED MAKE_DDHRESULT(734)
-#define D3DERR_INVALIDCURRENTVIEWPORT MAKE_DDHRESULT(735)
-#define D3DERR_INVALIDPRIMITIVETYPE MAKE_DDHRESULT(736)
-#define D3DERR_INVALIDVERTEXTYPE MAKE_DDHRESULT(737)
-#define D3DERR_TEXTURE_BADSIZE MAKE_DDHRESULT(738)
-#define D3DERR_INVALIDRAMPTEXTURE MAKE_DDHRESULT(739)
-#define D3DERR_MATERIAL_CREATE_FAILED MAKE_DDHRESULT(740)
-#define D3DERR_MATERIAL_DESTROY_FAILED MAKE_DDHRESULT(741)
-#define D3DERR_MATERIAL_SETDATA_FAILED MAKE_DDHRESULT(742)
-#define D3DERR_MATERIAL_GETDATA_FAILED MAKE_DDHRESULT(743)
-#define D3DERR_INVALIDPALETTE MAKE_DDHRESULT(744)
-#define D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY MAKE_DDHRESULT(745)
-#define D3DERR_ZBUFF_NEEDS_VIDEOMEMORY MAKE_DDHRESULT(746)
-#define D3DERR_SURFACENOTINVIDMEM MAKE_DDHRESULT(747)
-#define D3DERR_LIGHT_SET_FAILED MAKE_DDHRESULT(750)
-#define D3DERR_LIGHTHASVIEWPORT MAKE_DDHRESULT(751)
-#define D3DERR_LIGHTNOTINTHISVIEWPORT MAKE_DDHRESULT(752)
-#define D3DERR_SCENE_IN_SCENE MAKE_DDHRESULT(760)
-#define D3DERR_SCENE_NOT_IN_SCENE MAKE_DDHRESULT(761)
-#define D3DERR_SCENE_BEGIN_FAILED MAKE_DDHRESULT(762)
-#define D3DERR_SCENE_END_FAILED MAKE_DDHRESULT(763)
-#define D3DERR_INBEGIN MAKE_DDHRESULT(770)
-#define D3DERR_NOTINBEGIN MAKE_DDHRESULT(771)
-#define D3DERR_NOVIEWPORTS MAKE_DDHRESULT(772)
-#define D3DERR_VIEWPORTDATANOTSET MAKE_DDHRESULT(773)
-#define D3DERR_VIEWPORTHASNODEVICE MAKE_DDHRESULT(774)
-#define D3DERR_NOCURRENTVIEWPORT MAKE_DDHRESULT(775)
-#define D3DERR_INVALIDVERTEXFORMAT MAKE_DDHRESULT(2048)
-#define D3DERR_COLORKEYATTACHED MAKE_DDHRESULT(2050)
-#define D3DERR_VERTEXBUFFEROPTIMIZED MAKE_DDHRESULT(2060)
-#define D3DERR_VBUF_CREATE_FAILED MAKE_DDHRESULT(2061)
-#define D3DERR_VERTEXBUFFERLOCKED MAKE_DDHRESULT(2062)
-#define D3DERR_VERTEXBUFFERUNLOCKFAILED MAKE_DDHRESULT(2063)
-#define D3DERR_ZBUFFER_NOTPRESENT MAKE_DDHRESULT(2070)
-#define D3DERR_STENCILBUFFER_NOTPRESENT MAKE_DDHRESULT(2071)
-
-#define D3DERR_WRONGTEXTUREFORMAT MAKE_DDHRESULT(2072)
-#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_DDHRESULT(2073)
-#define D3DERR_UNSUPPORTEDCOLORARG MAKE_DDHRESULT(2074)
-#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_DDHRESULT(2075)
-#define D3DERR_UNSUPPORTEDALPHAARG MAKE_DDHRESULT(2076)
-#define D3DERR_TOOMANYOPERATIONS MAKE_DDHRESULT(2077)
-#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_DDHRESULT(2078)
-#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_DDHRESULT(2079)
-#define D3DERR_CONFLICTINGRENDERSTATE MAKE_DDHRESULT(2081)
-#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_DDHRESULT(2082)
-#define D3DERR_TOOMANYPRIMITIVES MAKE_DDHRESULT(2083)
-#define D3DERR_INVALIDMATRIX MAKE_DDHRESULT(2084)
-#define D3DERR_TOOMANYVERTICES MAKE_DDHRESULT(2085)
-#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_DDHRESULT(2086)
-
-#define D3DERR_INVALIDSTATEBLOCK MAKE_DDHRESULT(2100)
-#define D3DERR_INBEGINSTATEBLOCK MAKE_DDHRESULT(2101)
-#define D3DERR_NOTINBEGINSTATEBLOCK MAKE_DDHRESULT(2102)
-
-/* ********************************************************************
- Enums
- ******************************************************************** */
-#define D3DNEXT_NEXT 0x01l
-#define D3DNEXT_HEAD 0x02l
-#define D3DNEXT_TAIL 0x04l
-
-#define D3DDP_WAIT 0x00000001l
-#define D3DDP_OUTOFORDER 0x00000002l
-#define D3DDP_DONOTCLIP 0x00000004l
-#define D3DDP_DONOTUPDATEEXTENTS 0x00000008l
-#define D3DDP_DONOTLIGHT 0x00000010l
-
-/* ********************************************************************
- Types and structures
- ******************************************************************** */
-typedef DWORD D3DVIEWPORTHANDLE, *LPD3DVIEWPORTHANDLE;
-
-
-/*****************************************************************************
- * IDirect3D interface
- */
-#undef INTERFACE
-#define INTERFACE IDirect3D
-DECLARE_INTERFACE_(IDirect3D,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D methods ***/
- STDMETHOD(Initialize)(THIS_ REFIID riid) PURE;
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
- STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL *lplpDirect3DMaterial, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT *lplpD3DViewport, IUnknown *pUnkOuter) PURE;
- STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lplpD3DDevice) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D methods ***/
-#define IDirect3D_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3D_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
-#define IDirect3D_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3D_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
-#define IDirect3D_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D_AddRef(p) (p)->AddRef()
-#define IDirect3D_Release(p) (p)->Release()
-/*** IDirect3D methods ***/
-#define IDirect3D_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3D_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D_CreateLight(p,a,b) (p)->CreateLight(a,b)
-#define IDirect3D_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3D_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
-#define IDirect3D_FindDevice(p,a,b) (p)->FindDevice(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirect3D2 interface
- */
-#define INTERFACE IDirect3D2
-DECLARE_INTERFACE_(IDirect3D2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D2 methods ***/
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
- STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL2 *lplpDirect3DMaterial2, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpD3DViewport2, IUnknown *pUnkOuter) PURE;
- STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE;
- STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid, LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DDEVICE2 *lplpD3DDevice2) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D2 methods ***/
-#define IDirect3D2_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D2_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
-#define IDirect3D2_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3D2_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
-#define IDirect3D2_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
-#define IDirect3D2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D2_AddRef(p) (p)->AddRef()
-#define IDirect3D2_Release(p) (p)->Release()
-/*** IDirect3D2 methods ***/
-#define IDirect3D2_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D2_CreateLight(p,a,b) (p)->CreateLight(a,b)
-#define IDirect3D2_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3D2_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
-#define IDirect3D2_FindDevice(p,a,b) (p)->FindDevice(a,b)
-#define IDirect3D2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#endif
-
-
-/*****************************************************************************
- * IDirect3D3 interface
- */
-#define INTERFACE IDirect3D3
-DECLARE_INTERFACE_(IDirect3D3,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D3 methods ***/
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
- STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL3 *lplpDirect3DMaterial3, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpD3DViewport3, IUnknown *pUnkOuter) PURE;
- STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE;
- STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE4 lpDDS, LPDIRECT3DDEVICE3 *lplpD3DDevice3,LPUNKNOWN lpUnk) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER *lplpD3DVertBuf,DWORD dwFlags,LPUNKNOWN lpUnk) PURE;
- STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE;
- STDMETHOD(EvictManagedTextures)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D3 methods ***/
-#define IDirect3D3_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D3_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
-#define IDirect3D3_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3D3_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
-#define IDirect3D3_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
-#define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->lpVtbl->CreateDevice(p,a,b,c,d)
-#define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d)
-#define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c)
-#define IDirect3D3_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D3_AddRef(p) (p)->AddRef()
-#define IDirect3D3_Release(p) (p)->Release()
-/*** IDirect3D3 methods ***/
-#define IDirect3D3_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D3_CreateLight(p,a,b) (p)->CreateLight(a,b)
-#define IDirect3D3_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3D3_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
-#define IDirect3D3_FindDevice(p,a,b) (p)->FindDevice(a,b)
-#define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->CreateDevice(a,b,c,d)
-#define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->CreateVertexBuffer(a,b,c,d)
-#define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c)
-#define IDirect3D3_EvictManagedTextures(p) (p)->EvictManagedTextures()
-#endif
-
-/*****************************************************************************
- * IDirect3D7 interface
- */
-#define INTERFACE IDirect3D7
-DECLARE_INTERFACE_(IDirect3D7,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D7 methods ***/
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
- STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE7 lpDDS, LPDIRECT3DDEVICE7 *lplpD3DDevice) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER7 *lplpD3DVertBuf,DWORD dwFlags) PURE;
- STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE;
- STDMETHOD(EvictManagedTextures)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D7_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D7_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D3 methods ***/
-#define IDirect3D7_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D7_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c)
-#define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c)
-#define IDirect3D7_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D7_AddRef(p) (p)->AddRef()
-#define IDirect3D7_Release(p) (p)->Release()
-/*** IDirect3D3 methods ***/
-#define IDirect3D7_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D7_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->CreateVertexBuffer(a,b,c)
-#define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c)
-#define IDirect3D7_EvictManagedTextures(p) (p)->EvictManagedTextures()
-#endif
-
-
-/*****************************************************************************
- * IDirect3DLight interface
- */
-#define INTERFACE IDirect3DLight
-DECLARE_INTERFACE_(IDirect3DLight,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DLight methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(SetLight)(THIS_ LPD3DLIGHT lpLight) PURE;
- STDMETHOD(GetLight)(THIS_ LPD3DLIGHT lpLight) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DLight_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DLight_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DLight_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DLight methods ***/
-#define IDirect3DLight_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DLight_SetLight(p,a) (p)->lpVtbl->SetLight(p,a)
-#define IDirect3DLight_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DLight_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DLight_AddRef(p) (p)->AddRef()
-#define IDirect3DLight_Release(p) (p)->Release()
-/*** IDirect3DLight methods ***/
-#define IDirect3DLight_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DLight_SetLight(p,a) (p)->SetLight(a)
-#define IDirect3DLight_GetLight(p,a) (p)->GetLight(a)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DMaterial interface
- */
-#define INTERFACE IDirect3DMaterial
-DECLARE_INTERFACE_(IDirect3DMaterial,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DMaterial methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DMATERIALHANDLE lpHandle) PURE;
- STDMETHOD(Reserve)(THIS) PURE;
- STDMETHOD(Unreserve)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DMaterial_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DMaterial_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DMaterial_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DMaterial methods ***/
-#define IDirect3DMaterial_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DMaterial_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DMaterial_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DMaterial_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#define IDirect3DMaterial_Reserve(p) (p)->lpVtbl->Reserve(p)
-#define IDirect3DMaterial_Unreserve(p) (p)->lpVtbl->Unreserve(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DMaterial_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DMaterial_AddRef(p) (p)->AddRef()
-#define IDirect3DMaterial_Release(p) (p)->Release()
-/*** IDirect3DMaterial methods ***/
-#define IDirect3DMaterial_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DMaterial_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DMaterial_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DMaterial_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#define IDirect3DMaterial_Reserve(p) (p)->Reserve()
-#define IDirect3DMaterial_Unreserve(p) (p)->Unreserve()
-#endif
-
-
-/*****************************************************************************
- * IDirect3DMaterial2 interface
- */
-#define INTERFACE IDirect3DMaterial2
-DECLARE_INTERFACE_(IDirect3DMaterial2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DMaterial2 methods ***/
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DMATERIALHANDLE lpHandle) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DMaterial2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DMaterial2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DMaterial2 methods ***/
-#define IDirect3DMaterial2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DMaterial2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DMaterial2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DMaterial2_AddRef(p) (p)->AddRef()
-#define IDirect3DMaterial2_Release(p) (p)->Release()
-/*** IDirect3DMaterial2 methods ***/
-#define IDirect3DMaterial2_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DMaterial2_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DMaterial2_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DMaterial3 interface
- */
-#define INTERFACE IDirect3DMaterial3
-DECLARE_INTERFACE_(IDirect3DMaterial3,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DMaterial3 methods ***/
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE3 lpDirect3DDevice3, LPD3DMATERIALHANDLE lpHandle) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DMaterial3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DMaterial3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DMaterial3 methods ***/
-#define IDirect3DMaterial3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DMaterial3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DMaterial3_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DMaterial3_AddRef(p) (p)->AddRef()
-#define IDirect3DMaterial3_Release(p) (p)->Release()
-/*** IDirect3DMaterial3 methods ***/
-#define IDirect3DMaterial3_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DMaterial3_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DMaterial3_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DTexture interface
- */
-#define INTERFACE IDirect3DTexture
-DECLARE_INTERFACE_(IDirect3DTexture,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DTexture methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPDIRECTDRAWSURFACE lpDDSurface) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DTEXTUREHANDLE lpHandle) PURE;
- STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE;
- STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE lpD3DTexture) PURE;
- STDMETHOD(Unload)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DTexture methods ***/
-#define IDirect3DTexture_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirect3DTexture_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#define IDirect3DTexture_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b)
-#define IDirect3DTexture_Load(p,a) (p)->lpVtbl->Load(p,a)
-#define IDirect3DTexture_Unload(p) (p)->lpVtbl->Unload(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DTexture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture_Release(p) (p)->Release()
-/*** IDirect3DTexture methods ***/
-#define IDirect3DTexture_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirect3DTexture_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#define IDirect3DTexture_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b)
-#define IDirect3DTexture_Load(p,a) (p)->Load(a)
-#define IDirect3DTexture_Unload(p) (p)->Unload()
-#endif
-
-
-/*****************************************************************************
- * IDirect3DTexture2 interface
- */
-#define INTERFACE IDirect3DTexture2
-DECLARE_INTERFACE_(IDirect3DTexture2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DTexture2 methods ***/
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DTEXTUREHANDLE lpHandle) PURE;
- STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE;
- STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTexture2) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DTexture2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DTexture2 methods ***/
-#define IDirect3DTexture2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b)
-#define IDirect3DTexture2_Load(p,a) (p)->lpVtbl->Load(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DTexture2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture2_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture2_Release(p) (p)->Release()
-/*** IDirect3DTexture2 methods ***/
-#define IDirect3DTexture2_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b)
-#define IDirect3DTexture2_Load(p,a) (p)->Load(a)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DViewport interface
- */
-#define INTERFACE IDirect3DViewport
-DECLARE_INTERFACE_(IDirect3DViewport,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DViewport methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE;
- STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE;
- STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE;
- STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE;
- STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE;
- STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE;
- STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DViewport_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DViewport methods ***/
-#define IDirect3DViewport_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DViewport_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DViewport_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
-#define IDirect3DViewport_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
-#define IDirect3DViewport_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
-#define IDirect3DViewport_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
-#define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
-#define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
-#define IDirect3DViewport_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
-#define IDirect3DViewport_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DViewport_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DViewport_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DViewport_AddRef(p) (p)->AddRef()
-#define IDirect3DViewport_Release(p) (p)->Release()
-/*** IDirect3DViewport methods ***/
-#define IDirect3DViewport_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DViewport_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DViewport_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
-#define IDirect3DViewport_LightElements(p,a,b) (p)->LightElements(a,b)
-#define IDirect3DViewport_SetBackground(p,a) (p)->SetBackground(a)
-#define IDirect3DViewport_GetBackground(p,a,b) (p)->GetBackground(a,b)
-#define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
-#define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
-#define IDirect3DViewport_Clear(p,a,b,c) (p)->Clear(a,b,c)
-#define IDirect3DViewport_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DViewport_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DViewport_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DViewport2 interface
- */
-#define INTERFACE IDirect3DViewport2
-DECLARE_INTERFACE_(IDirect3DViewport2,IDirect3DViewport)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DViewport methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE;
- STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE;
- STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE;
- STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE;
- STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE;
- STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE;
- STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
- /*** IDirect3DViewport2 methods ***/
- STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
- STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DViewport2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3Viewport methods ***/
-#define IDirect3DViewport2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DViewport2_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DViewport2_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
-#define IDirect3DViewport2_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
-#define IDirect3DViewport2_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
-#define IDirect3DViewport2_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
-#define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
-#define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
-#define IDirect3DViewport2_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
-#define IDirect3DViewport2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DViewport2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DViewport2_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
-/*** IDirect3DViewport2 methods ***/
-#define IDirect3DViewport2_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a)
-#define IDirect3DViewport2_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DViewport2_AddRef(p) (p)->AddRef()
-#define IDirect3DViewport2_Release(p) (p)->Release()
-/*** IDirect3Viewport methods ***/
-#define IDirect3DViewport2_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DViewport2_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DViewport2_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
-#define IDirect3DViewport2_LightElements(p,a,b) (p)->LightElements(a,b)
-#define IDirect3DViewport2_SetBackground(p,a) (p)->SetBackground(a)
-#define IDirect3DViewport2_GetBackground(p,a,b) (p)->GetBackground(a,b)
-#define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
-#define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
-#define IDirect3DViewport2_Clear(p,a,b,c) (p)->Clear(a,b,c)
-#define IDirect3DViewport2_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DViewport2_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DViewport2_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
-/*** IDirect3DViewport2 methods ***/
-#define IDirect3DViewport2_GetViewport2(p,a) (p)->GetViewport2(a)
-#define IDirect3DViewport2_SetViewport2(p,a) (p)->SetViewport2(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DViewport3 interface
- */
-#define INTERFACE IDirect3DViewport3
-DECLARE_INTERFACE_(IDirect3DViewport3,IDirect3DViewport2)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DViewport methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE;
- STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE;
- STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE;
- STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE;
- STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE;
- STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE;
- STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
- /*** IDirect3DViewport2 methods ***/
- STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
- STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
- /*** IDirect3DViewport3 methods ***/
- STDMETHOD(SetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 lpDDS) PURE;
- STDMETHOD(GetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 *lplpDDS,LPBOOL lpValid) PURE;
- STDMETHOD(Clear2)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,DWORD dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DViewport3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DViewport3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DViewport3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3Viewport methods ***/
-#define IDirect3DViewport3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DViewport3_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DViewport3_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
-#define IDirect3DViewport3_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
-#define IDirect3DViewport3_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
-#define IDirect3DViewport3_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
-#define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
-#define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
-#define IDirect3DViewport3_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
-#define IDirect3DViewport3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DViewport3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DViewport3_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
-/*** IDirect3DViewport2 methods ***/
-#define IDirect3DViewport3_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a)
-#define IDirect3DViewport3_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a)
-/*** IDirect3DViewport3 methods ***/
-#define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->lpVtbl->SetBackgroundDepth2(p,a)
-#define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->lpVtbl->GetBackgroundDepth2(p,a,b)
-#define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->lpVtbl->Clear2(p,a,b,c,d,e,f)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DViewport3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DViewport3_AddRef(p) (p)->AddRef()
-#define IDirect3DViewport3_Release(p) (p)->Release()
-/*** IDirect3Viewport methods ***/
-#define IDirect3DViewport3_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DViewport3_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DViewport3_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
-#define IDirect3DViewport3_LightElements(p,a,b) (p)->LightElements(a,b)
-#define IDirect3DViewport3_SetBackground(p,a) (p)->SetBackground(a)
-#define IDirect3DViewport3_GetBackground(p,a,b) (p)->GetBackground(a,b)
-#define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
-#define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
-#define IDirect3DViewport3_Clear(p,a,b,c) (p)->Clear(a,b,c)
-#define IDirect3DViewport3_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DViewport3_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DViewport3_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
-/*** IDirect3DViewport2 methods ***/
-#define IDirect3DViewport3_GetViewport2(p,a) (p)->GetViewport2(a)
-#define IDirect3DViewport3_SetViewport2(p,a) (p)->SetViewport2(a)
-/*** IDirect3DViewport3 methods ***/
-#define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->SetBackgroundDepth2(a)
-#define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->GetBackgroundDepth2(a,b)
-#define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->Clear2(a,b,c,d,e,f)
-#endif
-
-
-
-/*****************************************************************************
- * IDirect3DExecuteBuffer interface
- */
-#define INTERFACE IDirect3DExecuteBuffer
-DECLARE_INTERFACE_(IDirect3DExecuteBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DExecuteBuffer methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC lpDesc) PURE;
- STDMETHOD(Lock)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(SetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE;
- STDMETHOD(GetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE;
- STDMETHOD(Validate)(THIS_ LPDWORD lpdwOffset, LPD3DVALIDATECALLBACK lpFunc, LPVOID lpUserArg, DWORD dwReserved) PURE;
- STDMETHOD(Optimize)(THIS_ DWORD dwDummy) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DExecuteBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DExecuteBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DExecuteBuffer methods ***/
-#define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirect3DExecuteBuffer_Lock(p,a) (p)->lpVtbl->Lock(p,a)
-#define IDirect3DExecuteBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->lpVtbl->SetExecuteData(p,a)
-#define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->lpVtbl->GetExecuteData(p,a)
-#define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->lpVtbl->Validate(p,a,b,c,d)
-#define IDirect3DExecuteBuffer_Optimize(p,a) (p)->lpVtbl->Optimize(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DExecuteBuffer_AddRef(p) (p)->AddRef()
-#define IDirect3DExecuteBuffer_Release(p) (p)->Release()
-/*** IDirect3DExecuteBuffer methods ***/
-#define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirect3DExecuteBuffer_Lock(p,a) (p)->Lock(a)
-#define IDirect3DExecuteBuffer_Unlock(p) (p)->Unlock()
-#define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->SetExecuteData(a)
-#define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->GetExecuteData(a)
-#define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->Validate(a,b,c,d)
-#define IDirect3DExecuteBuffer_Optimize(p,a) (p)->Optimize(a)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DDevice interface
- */
-#define INTERFACE IDirect3DDevice
-DECLARE_INTERFACE_(IDirect3DDevice,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D, LPGUID lpGUID, LPD3DDEVICEDESC lpD3DDVDesc) PURE;
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE;
- STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE lpD3Dtex1, LPDIRECT3DTEXTURE lpD3DTex2) PURE;
- STDMETHOD(CreateExecuteBuffer)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc, LPDIRECT3DEXECUTEBUFFER *lplpDirect3DExecuteBuffer, IUnknown *pUnkOuter) PURE;
- STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE;
- STDMETHOD(Execute)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags) PURE;
- STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE;
- STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE;
- STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport, LPDIRECT3DVIEWPORT *lplpDirect3DViewport, DWORD dwFlags) PURE;
- STDMETHOD(Pick)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags, LPD3DRECT lpRect) PURE;
- STDMETHOD(GetPickRecords)(THIS_ LPDWORD lpCount, LPD3DPICKRECORD lpD3DPickRec) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE;
- STDMETHOD(CreateMatrix)(THIS_ LPD3DMATRIXHANDLE lpD3DMatHandle) PURE;
- STDMETHOD(SetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(DeleteMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D *lplpDirect3D) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice methods ***/
-#define IDirect3DDevice_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
-#define IDirect3DDevice_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
-#define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b)
-#define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->lpVtbl->CreateExecuteBuffer(p,a,b,c)
-#define IDirect3DDevice_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
-#define IDirect3DDevice_Execute(p,a,b,c) (p)->lpVtbl->Execute(p,a,b,c)
-#define IDirect3DDevice_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
-#define IDirect3DDevice_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
-#define IDirect3DDevice_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
-#define IDirect3DDevice_Pick(p,a,b,c,d) (p)->lpVtbl->Pick(p,a,b,c,d)
-#define IDirect3DDevice_GetPickRecords(p,a,b) (p)->lpVtbl->GetPickRecords(p,a,b)
-#define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice_CreateMatrix(p,a) (p)->lpVtbl->CreateMatrix(p,a)
-#define IDirect3DDevice_SetMatrix(p,a,b) (p)->lpVtbl->SetMatrix(p,a,b)
-#define IDirect3DDevice_GetMatrix(p,a,b) (p)->lpVtbl->GetMatrix(p,a,b)
-#define IDirect3DDevice_DeleteMatrix(p,a) (p)->lpVtbl->DeleteMatrix(p,a)
-#define IDirect3DDevice_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice_Release(p) (p)->Release()
-/*** IDirect3DDevice methods ***/
-#define IDirect3DDevice_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
-#define IDirect3DDevice_GetCaps(p,a,b) (p)->GetCaps(a,b)
-#define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b)
-#define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->CreateExecuteBuffer(a,b,c)
-#define IDirect3DDevice_GetStats(p,a) (p)->GetStats(a)
-#define IDirect3DDevice_Execute(p,a,b,c) (p)->Execute(a,b,c)
-#define IDirect3DDevice_AddViewport(p,a) (p)->AddViewport(a)
-#define IDirect3DDevice_DeleteViewport(p,a) (p)->DeleteViewport(a)
-#define IDirect3DDevice_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
-#define IDirect3DDevice_Pick(p,a,b,c,d) (p)->Pick(a,b,c,d)
-#define IDirect3DDevice_GetPickRecords(p,a,b) (p)->GetPickRecords(a,b)
-#define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice_CreateMatrix(p,a) (p)->CreateMatrix(a)
-#define IDirect3DDevice_SetMatrix(p,a,b) (p)->SetMatrix(a,b)
-#define IDirect3DDevice_GetMatrix(p,a,b) (p)->GetMatrix(a,b)
-#define IDirect3DDevice_DeleteMatrix(p,a) (p)->DeleteMatrix(a)
-#define IDirect3DDevice_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DDevice2 interface
- */
-#define INTERFACE IDirect3DDevice2
-DECLARE_INTERFACE_(IDirect3DDevice2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice2 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE;
- STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTex1, LPDIRECT3DTEXTURE2 lpD3DTex2) PURE;
- STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE;
- STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE;
- STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE;
- STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2, LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2, DWORD dwFlags) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D2 *lplpDirect3D2) PURE;
- /*** DrawPrimitive API ***/
- STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE;
- STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE lpNewRenderTarget, DWORD dwFlags) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE *lplpRenderTarget) PURE;
- STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dpt,D3DVERTEXTYPE dwVertexTypeDesc,DWORD dwFlags) PURE;
- STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE;
- STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE;
- STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE;
- STDMETHOD(End)(THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE;
- STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE;
- STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
- STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice2 methods ***/
-#define IDirect3DDevice2_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
-#define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b)
-#define IDirect3DDevice2_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
-#define IDirect3DDevice2_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
-#define IDirect3DDevice2_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
-#define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
-#define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice2_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice2_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice2_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a)
-#define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a)
-#define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice2_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice2_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c)
-#define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e)
-#define IDirect3DDevice2_Vertex(p,a) (p)->lpVtbl->Vertex(p,a)
-#define IDirect3DDevice2_Index(p,a) (p)->lpVtbl->Index(p,a)
-#define IDirect3DDevice2_End(p,a) (p)->lpVtbl->End(p,a)
-#define IDirect3DDevice2_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice2_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice2_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b)
-#define IDirect3DDevice2_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b)
-#define IDirect3DDevice2_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice2_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice2_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice2_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice2_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice2_Release(p) (p)->Release()
-/*** IDirect3DDevice2 methods ***/
-#define IDirect3DDevice2_GetCaps(p,a,b) (p)->GetCaps(a,b)
-#define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b)
-#define IDirect3DDevice2_GetStats(p,a) (p)->GetStats(a)
-#define IDirect3DDevice2_AddViewport(p,a) (p)->AddViewport(a)
-#define IDirect3DDevice2_DeleteViewport(p,a) (p)->DeleteViewport(a)
-#define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
-#define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice2_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice2_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice2_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a)
-#define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a)
-#define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice2_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice2_Begin(p,a,b,c) (p)->Begin(a,b,c)
-#define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e)
-#define IDirect3DDevice2_Vertex(p,a) (p)->Vertex(a)
-#define IDirect3DDevice2_Index(p,a) (p)->Index(a)
-#define IDirect3DDevice2_End(p,a) (p)->End(a)
-#define IDirect3DDevice2_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice2_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice2_GetLightState(p,a,b) (p)->GetLightState(a,b)
-#define IDirect3DDevice2_SetLightState(p,a,b) (p)->SetLightState(a,b)
-#define IDirect3DDevice2_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice2_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
-#define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
-#define IDirect3DDevice2_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice2_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DDevice3 interface
- */
-#define INTERFACE IDirect3DDevice3
-DECLARE_INTERFACE_(IDirect3DDevice3,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice3 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE;
- STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE;
- STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE;
- STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE;
- STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3, LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3, DWORD dwFlags) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D3 *lplpDirect3D3) PURE;
- /*** DrawPrimitive API ***/
- STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE;
- STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 lpNewRenderTarget, DWORD dwFlags) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 *lplpRenderTarget) PURE;
- STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexTypeDesc, DWORD dwFlags) PURE;
- STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE;
- STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE;
- STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE;
- STDMETHOD(End)(THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE;
- STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE;
- STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
- STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE;
- STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE;
- STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 *lplpTexture2) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 lpTexture2) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE;
- STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice3 methods ***/
-#define IDirect3DDevice3_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
-#define IDirect3DDevice3_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
-#define IDirect3DDevice3_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
-#define IDirect3DDevice3_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
-#define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
-#define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice3_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice3_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice3_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a)
-#define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a)
-#define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice3_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice3_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c)
-#define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e)
-#define IDirect3DDevice3_Vertex(p,a) (p)->lpVtbl->Vertex(p,a)
-#define IDirect3DDevice3_Index(p,a) (p)->lpVtbl->Index(p,a)
-#define IDirect3DDevice3_End(p,a) (p)->lpVtbl->End(p,a)
-#define IDirect3DDevice3_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice3_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice3_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b)
-#define IDirect3DDevice3_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b)
-#define IDirect3DDevice3_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice3_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice3_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e)
-#define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e)
-#define IDirect3DDevice3_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice3_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice3_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice3_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice3_Release(p) (p)->Release()
-/*** IDirect3DDevice3 methods ***/
-#define IDirect3DDevice3_GetCaps(p,a,b) (p)->GetCaps(a,b)
-#define IDirect3DDevice3_GetStats(p,a) (p)->GetStats(a)
-#define IDirect3DDevice3_AddViewport(p,a) (p)->AddViewport(a)
-#define IDirect3DDevice3_DeleteViewport(p,a) (p)->DeleteViewport(a)
-#define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
-#define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice3_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice3_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice3_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a)
-#define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a)
-#define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice3_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice3_Begin(p,a,b,c) (p)->Begin(a,b,c)
-#define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e)
-#define IDirect3DDevice3_Vertex(p,a) (p)->Vertex(a)
-#define IDirect3DDevice3_Index(p,a) (p)->Index(a)
-#define IDirect3DDevice3_End(p,a) (p)->End(a)
-#define IDirect3DDevice3_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice3_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice3_GetLightState(p,a,b) (p)->GetLightState(a,b)
-#define IDirect3DDevice3_SetLightState(p,a,b) (p)->SetLightState(a,b)
-#define IDirect3DDevice3_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice3_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
-#define IDirect3DDevice3_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice3_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g)
-#define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e)
-#define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e)
-#define IDirect3DDevice3_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice3_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice3_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DDevice7 interface
- */
-#define INTERFACE IDirect3DDevice7
-DECLARE_INTERFACE_(IDirect3DDevice7,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice7 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC7 lpD3DHELDevDesc) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D7 *lplpDirect3D3) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 lpNewRenderTarget,DWORD dwFlags) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 *lplpRenderTarget) PURE;
- STDMETHOD(Clear)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,D3DCOLOR dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType,LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ LPDWORD lpdwBlockHandle) PURE;
- STDMETHOD(PreLoad)(THIS_ LPDIRECTDRAWSURFACE7 lpddsTexture) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
- STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE;
- STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE;
- STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 *lpTexture) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 lpTexture) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE;
- STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE;
- STDMETHOD(ApplyStateBlock)(THIS_ DWORD dwBlockHandle) PURE;
- STDMETHOD(CaptureStateBlock)(THIS_ DWORD dwBlockHandle) PURE;
- STDMETHOD(DeleteStateBlock)(THIS_ DWORD dwBlockHandle) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE d3dsbType,LPDWORD lpdwBlockHandle) PURE;
- STDMETHOD(Load)(THIS_ LPDIRECTDRAWSURFACE7 lpDestTex,LPPOINT lpDestPoint,LPDIRECTDRAWSURFACE7 lpSrcTex,LPRECT lprcSrcRect,DWORD dwFlags) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD dwLightIndex,BOOL bEnable) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD dwLightIndex,BOOL *pbEnable) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE;
- STDMETHOD(GetInfo)(THIS_ DWORD dwDevInfoID,LPVOID pDevInfoStruct,DWORD dwSize) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice7_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice7_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice7 methods ***/
-#define IDirect3DDevice7_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice7_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice7_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice7_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice7_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice7_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice7_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice7_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice7_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice7_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice7_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice7_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice7_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice7_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice7_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice7_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice7_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice7_PreLoad(p,a) (p)->lpVtbl->PreLoad(p,a)
-#define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice7_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice7_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e)
-#define IDirect3DDevice7_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice7_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice7_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a)
-#define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a)
-#define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a)
-#define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DDevice7_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice7_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice7_Release(p) (p)->Release()
-/*** IDirect3DDevice7 methods ***/
-#define IDirect3DDevice7_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice7_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice7_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice7_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice7_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice7_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice7_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice7_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice7_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice7_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice7_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice7_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice7_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice7_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice7_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice7_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice7_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice7_PreLoad(p,a) (p)->PreLoad(a)
-#define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
-#define IDirect3DDevice7_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice7_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g)
-#define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e,f,g)
-#define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e)
-#define IDirect3DDevice7_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice7_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice7_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a)
-#define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a)
-#define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a)
-#define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DDevice7_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c)
-#endif
-
-
-
-/*****************************************************************************
- * IDirect3DVertexBuffer interface
- */
-#define INTERFACE IDirect3DVertexBuffer
-DECLARE_INTERFACE_(IDirect3DVertexBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVertexBuffer methods ***/
- STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE;
- STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE;
- STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexBuffer methods ***/
-#define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c)
-#define IDirect3DVertexBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a)
-#define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer_Release(p) (p)->Release()
-/*** IDirect3DVertexBuffer methods ***/
-#define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->Lock(a,b,c)
-#define IDirect3DVertexBuffer_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a)
-#define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->Optimize(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexBuffer7 interface
- */
-#define INTERFACE IDirect3DVertexBuffer7
-DECLARE_INTERFACE_(IDirect3DVertexBuffer7,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVertexBuffer7 methods ***/
- STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER7 lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
- STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE;
- STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
- STDMETHOD(ProcessVerticesStrided)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPD3DDRAWPRIMITIVESTRIDEDDATA lpStrideData,DWORD dwVertexTypeDesc,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer7_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer7_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexBuffer7 methods ***/
-#define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c)
-#define IDirect3DVertexBuffer7_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a)
-#define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b)
-#define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVerticesStrided(p,a,b,c,d,e,f,g)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer7_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer7_Release(p) (p)->Release()
-/*** IDirect3DVertexBuffer7 methods ***/
-#define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->Lock(a,b,c)
-#define IDirect3DVertexBuffer7_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a)
-#define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->Optimize(a,b)
-#define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->ProcessVerticesStrided(a,b,c,d,e,f,g)
-#endif
-
-#endif /* __WINE_D3D_H */
+++ /dev/null
-/*** Autogenerated by WIDL 1.2-rc3 from d3d10.idl - Do not edit ***/
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifndef __WIDL_D3D10_H
-#define __WIDL_D3D10_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Headers for imported files */
-
-#include <oaidl.h>
-#include <ocidl.h>
-#include <dxgi.h>
-
-/* Forward declarations */
-
-#ifndef __ID3D10DeviceChild_FWD_DEFINED__
-#define __ID3D10DeviceChild_FWD_DEFINED__
-typedef interface ID3D10DeviceChild ID3D10DeviceChild;
-#endif
-
-#ifndef __ID3D10Resource_FWD_DEFINED__
-#define __ID3D10Resource_FWD_DEFINED__
-typedef interface ID3D10Resource ID3D10Resource;
-#endif
-
-#ifndef __ID3D10Buffer_FWD_DEFINED__
-#define __ID3D10Buffer_FWD_DEFINED__
-typedef interface ID3D10Buffer ID3D10Buffer;
-#endif
-
-#ifndef __ID3D10Texture1D_FWD_DEFINED__
-#define __ID3D10Texture1D_FWD_DEFINED__
-typedef interface ID3D10Texture1D ID3D10Texture1D;
-#endif
-
-#ifndef __ID3D10Texture2D_FWD_DEFINED__
-#define __ID3D10Texture2D_FWD_DEFINED__
-typedef interface ID3D10Texture2D ID3D10Texture2D;
-#endif
-
-#ifndef __ID3D10Texture3D_FWD_DEFINED__
-#define __ID3D10Texture3D_FWD_DEFINED__
-typedef interface ID3D10Texture3D ID3D10Texture3D;
-#endif
-
-#ifndef __ID3D10View_FWD_DEFINED__
-#define __ID3D10View_FWD_DEFINED__
-typedef interface ID3D10View ID3D10View;
-#endif
-
-#ifndef __ID3D10DepthStencilView_FWD_DEFINED__
-#define __ID3D10DepthStencilView_FWD_DEFINED__
-typedef interface ID3D10DepthStencilView ID3D10DepthStencilView;
-#endif
-
-#ifndef __ID3D10RenderTargetView_FWD_DEFINED__
-#define __ID3D10RenderTargetView_FWD_DEFINED__
-typedef interface ID3D10RenderTargetView ID3D10RenderTargetView;
-#endif
-
-#ifndef __ID3D10ShaderResourceView_FWD_DEFINED__
-#define __ID3D10ShaderResourceView_FWD_DEFINED__
-typedef interface ID3D10ShaderResourceView ID3D10ShaderResourceView;
-#endif
-
-#ifndef __ID3D10BlendState_FWD_DEFINED__
-#define __ID3D10BlendState_FWD_DEFINED__
-typedef interface ID3D10BlendState ID3D10BlendState;
-#endif
-
-#ifndef __ID3D10DepthStencilState_FWD_DEFINED__
-#define __ID3D10DepthStencilState_FWD_DEFINED__
-typedef interface ID3D10DepthStencilState ID3D10DepthStencilState;
-#endif
-
-#ifndef __ID3D10GeometryShader_FWD_DEFINED__
-#define __ID3D10GeometryShader_FWD_DEFINED__
-typedef interface ID3D10GeometryShader ID3D10GeometryShader;
-#endif
-
-#ifndef __ID3D10InputLayout_FWD_DEFINED__
-#define __ID3D10InputLayout_FWD_DEFINED__
-typedef interface ID3D10InputLayout ID3D10InputLayout;
-#endif
-
-#ifndef __ID3D10PixelShader_FWD_DEFINED__
-#define __ID3D10PixelShader_FWD_DEFINED__
-typedef interface ID3D10PixelShader ID3D10PixelShader;
-#endif
-
-#ifndef __ID3D10RasterizerState_FWD_DEFINED__
-#define __ID3D10RasterizerState_FWD_DEFINED__
-typedef interface ID3D10RasterizerState ID3D10RasterizerState;
-#endif
-
-#ifndef __ID3D10SamplerState_FWD_DEFINED__
-#define __ID3D10SamplerState_FWD_DEFINED__
-typedef interface ID3D10SamplerState ID3D10SamplerState;
-#endif
-
-#ifndef __ID3D10VertexShader_FWD_DEFINED__
-#define __ID3D10VertexShader_FWD_DEFINED__
-typedef interface ID3D10VertexShader ID3D10VertexShader;
-#endif
-
-#ifndef __ID3D10Asynchronous_FWD_DEFINED__
-#define __ID3D10Asynchronous_FWD_DEFINED__
-typedef interface ID3D10Asynchronous ID3D10Asynchronous;
-#endif
-
-#ifndef __ID3D10Counter_FWD_DEFINED__
-#define __ID3D10Counter_FWD_DEFINED__
-typedef interface ID3D10Counter ID3D10Counter;
-#endif
-
-#ifndef __ID3D10Query_FWD_DEFINED__
-#define __ID3D10Query_FWD_DEFINED__
-typedef interface ID3D10Query ID3D10Query;
-#endif
-
-#ifndef __ID3D10Predicate_FWD_DEFINED__
-#define __ID3D10Predicate_FWD_DEFINED__
-typedef interface ID3D10Predicate ID3D10Predicate;
-#endif
-
-#ifndef __ID3D10Device_FWD_DEFINED__
-#define __ID3D10Device_FWD_DEFINED__
-typedef interface ID3D10Device ID3D10Device;
-#endif
-
-#ifndef __ID3D10Multithread_FWD_DEFINED__
-#define __ID3D10Multithread_FWD_DEFINED__
-typedef interface ID3D10Multithread ID3D10Multithread;
-#endif
-
-
-#ifndef _D3D10_CONSTANTS
-#define _D3D10_CONSTANTS
-#define D3D10_DEFAULT_BLEND_FACTOR_ALPHA (1.00000000000000)
-
-#define D3D10_DEFAULT_BLEND_FACTOR_BLUE (1.00000000000000)
-
-#define D3D10_DEFAULT_BLEND_FACTOR_GREEN (1.00000000000000)
-
-#define D3D10_DEFAULT_BLEND_FACTOR_RED (1.00000000000000)
-
-#define D3D10_DEFAULT_BORDER_COLOR_COMPONENT (0.00000000000000)
-
-#define D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS (0.00000000000000)
-
-#define D3D10_DEFAULT_DEPTH_BIAS_CLAMP (0.00000000000000)
-
-#define D3D10_DEFAULT_MAX_ANISOTROPY (16.0000000000000)
-
-#define D3D10_DEFAULT_MIP_LOD_BIAS (0.00000000000000)
-
-#define D3D10_DEFAULT_VIEWPORT_MAX_DEPTH (0.00000000000000)
-
-#define D3D10_DEFAULT_VIEWPORT_MIN_DEPTH (0.00000000000000)
-
-#define D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP (0.600000000000000)
-
-#define D3D10_FLOAT32_MAX (3.40282346600000e+38)
-
-#define D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP (0.600000000000000)
-
-#define D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR (2.40000000000000)
-
-#define D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR (1.00000000000000)
-
-#define D3D10_FLOAT_TO_SRGB_OFFSET (0.0550000000000000)
-
-#define D3D10_FLOAT_TO_SRGB_SCALE_1 (12.9200000000000)
-
-#define D3D10_FLOAT_TO_SRGB_SCALE_2 (1.05500000000000)
-
-#define D3D10_FLOAT_TO_SRGB_THRESHOLD (0.00313080000000000)
-
-#define D3D10_FTOI_INSTRUCTION_MAX_INPUT (2147483647.99900)
-
-#define D3D10_FTOI_INSTRUCTION_MIN_INPUT (-2147483648.99900)
-
-#define D3D10_FTOU_INSTRUCTION_MAX_INPUT (4294967295.99900)
-
-#define D3D10_FTOU_INSTRUCTION_MIN_INPUT (0.00000000000000)
-
-#define D3D10_LINEAR_GAMMA (1.00000000000000)
-
-#define D3D10_MAX_BORDER_COLOR_COMPONENT (1.00000000000000)
-
-#define D3D10_MAX_DEPTH (1.00000000000000)
-
-#define D3D10_MAX_POSITION_VALUE (3.40282346600000e+34)
-
-#define D3D10_MIN_BORDER_COLOR_COMPONENT (0.00000000000000)
-
-#define D3D10_MIN_DEPTH (0.00000000000000)
-
-#define D3D10_MIP_LOD_BIAS_MAX (15.9900000000000)
-
-#define D3D10_MIP_LOD_BIAS_MIN (-16.0000000000000)
-
-#define D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.500000000000000)
-
-#define D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH (1.40000000000000)
-
-#define D3D10_SRGB_GAMMA (2.20000000000000)
-
-#define D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 (12.9200000000000)
-
-#define D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 (1.05500000000000)
-
-#define D3D10_SRGB_TO_FLOAT_EXPONENT (2.40000000000000)
-
-#define D3D10_SRGB_TO_FLOAT_OFFSET (0.0550000000000000)
-
-#define D3D10_SRGB_TO_FLOAT_THRESHOLD (0.0404500000000000)
-
-#define D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.500000000000000)
-
-#define D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.00000000000000)
-
-#define D3D_SPEC_VERSION (1.05000500000000)
-
-#define D3D10_16BIT_INDEX_STRIP_CUT_VALUE (0xffff)
-
-#define D3D10_32BIT_INDEX_STRIP_CUT_VALUE (0xffffffff)
-
-#define D3D10_8BIT_INDEX_STRIP_CUT_VALUE (0xff)
-
-#define D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT (9)
-
-#define D3D10_CLIP_OR_CULL_DISTANCE_COUNT (8)
-
-#define D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT (2)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT (14)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS (4)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT (15)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
-
-#define D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT (1)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS (1)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST (1)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS (1)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT (128)
-
-#define D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS (1)
-
-#define D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT (16)
-
-#define D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST (1)
-
-#define D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS (1)
-
-#define D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
-
-#define D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS (4)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST (3)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS (3)
-
-#define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX (10)
-
-#define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN (-10)
-
-#define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE (-8)
-
-#define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE (7)
-
-#define D3D10_DEFAULT_DEPTH_BIAS (0)
-
-#define D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX (0)
-
-#define D3D10_DEFAULT_SAMPLE_MASK (0xffffffff)
-
-#define D3D10_DEFAULT_SCISSOR_ENDX (0)
-
-#define D3D10_DEFAULT_SCISSOR_ENDY (0)
-
-#define D3D10_DEFAULT_SCISSOR_STARTX (0)
-
-#define D3D10_DEFAULT_SCISSOR_STARTY (0)
-
-#define D3D10_DEFAULT_STENCIL_READ_MASK (0xff)
-
-#define D3D10_DEFAULT_STENCIL_REFERENCE (0)
-
-#define D3D10_DEFAULT_STENCIL_WRITE_MASK (0xff)
-
-#define D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX (0)
-
-#define D3D10_DEFAULT_VIEWPORT_HEIGHT (0)
-
-#define D3D10_DEFAULT_VIEWPORT_TOPLEFTX (0)
-
-#define D3D10_DEFAULT_VIEWPORT_TOPLEFTY (0)
-
-#define D3D10_DEFAULT_VIEWPORT_WIDTH (0)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS (1)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT (1)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST (2)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS (1)
-
-#define D3D10_GS_INPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_GS_INPUT_REGISTER_COUNT (16)
-
-#define D3D10_GS_INPUT_REGISTER_READS_PER_INST (2)
-
-#define D3D10_GS_INPUT_REGISTER_READ_PORTS (1)
-
-#define D3D10_GS_INPUT_REGISTER_VERTICES (6)
-
-#define D3D10_GS_OUTPUT_ELEMENTS (32)
-
-#define D3D10_GS_OUTPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_GS_OUTPUT_REGISTER_COUNT (32)
-
-#define D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES (0)
-
-#define D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY (0)
-
-#define D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES (0)
-
-#define D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1)
-
-#define D3D10_IA_INSTANCE_ID_BIT_COUNT (32)
-
-#define D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT (32)
-
-#define D3D10_IA_PRIMITIVE_ID_BIT_COUNT (32)
-
-#define D3D10_IA_VERTEX_ID_BIT_COUNT (32)
-
-#define D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (16)
-
-#define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS (64)
-
-#define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT (16)
-
-#define D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT (0xffffffff)
-
-#define D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER (0xffffffff)
-
-#define D3D10_MAX_MAXANISOTROPY (16)
-
-#define D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
-
-#define D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP (17)
-
-#define D3D10_MIN_MAXANISOTROPY (0)
-
-#define D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT (6)
-
-#define D3D10_MIP_LOD_RANGE_BIT_COUNT (8)
-
-#define D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT (0)
-
-#define D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT (13)
-
-#define D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT (15)
-
-#define D3D10_PS_FRONTFACING_DEFAULT_VALUE (0xffffffff)
-
-#define D3D10_PS_FRONTFACING_FALSE_VALUE (0)
-
-#define D3D10_PS_FRONTFACING_TRUE_VALUE (0xffffffff)
-
-#define D3D10_PS_INPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_PS_INPUT_REGISTER_COUNT (32)
-
-#define D3D10_PS_INPUT_REGISTER_READS_PER_INST (2)
-
-#define D3D10_PS_INPUT_REGISTER_READ_PORTS (1)
-
-#define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS (1)
-
-#define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
-
-#define D3D10_PS_OUTPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_PS_OUTPUT_REGISTER_COUNT (8)
-
-#define D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT (4096)
-
-#define D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (27)
-
-#define D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
-
-#define D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT (4096)
-
-#define D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (32)
-
-#define D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (32)
-
-#define D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (8192)
-
-#define D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT (1024)
-
-#define D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
-
-#define D3D10_REQ_MAXANISOTROPY (16)
-
-#define D3D10_REQ_MIP_LEVELS (14)
-
-#define D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048)
-
-#define D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT (4096)
-
-#define D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH (8192)
-
-#define D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES (128)
-
-#define D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP (20)
-
-#define D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT (4096)
-
-#define D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (512)
-
-#define D3D10_REQ_TEXTURE1D_U_DIMENSION (8192)
-
-#define D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (512)
-
-#define D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192)
-
-#define D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
-
-#define D3D10_REQ_TEXTURECUBE_DIMENSION (8192)
-
-#define D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL (0)
-
-#define D3D10_SHADER_MAJOR_VERSION (4)
-
-#define D3D10_SHADER_MINOR_VERSION (0)
-
-#define D3D10_SHIFT_INSTRUCTION_PAD_VALUE (0)
-
-#define D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT (5)
-
-#define D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT (8)
-
-#define D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES (2048)
-
-#define D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES (256)
-
-#define D3D10_SO_BUFFER_SLOT_COUNT (4)
-
-#define D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP (0xffffffff)
-
-#define D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER (1)
-
-#define D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT (64)
-
-#define D3D10_STANDARD_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED (64)
-
-#define D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE (4)
-
-#define D3D10_STANDARD_PIXEL_COMPONENT_COUNT (128)
-
-#define D3D10_STANDARD_PIXEL_ELEMENT_COUNT (32)
-
-#define D3D10_STANDARD_VECTOR_SIZE (4)
-
-#define D3D10_STANDARD_VERTEX_ELEMENT_COUNT (16)
-
-#define D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT (64)
-
-#define D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT (8)
-
-#define D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT (6)
-
-#define D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT (18)
-
-#define D3D10_UNBOUND_MEMORY_ACCESS_RESULT (0)
-
-#define D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX (15)
-
-#define D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
-
-#define D3D10_VIEWPORT_BOUNDS_MAX (16383)
-
-#define D3D10_VIEWPORT_BOUNDS_MIN (-16384)
-
-#define D3D10_VS_INPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_VS_INPUT_REGISTER_COUNT (16)
-
-#define D3D10_VS_INPUT_REGISTER_READS_PER_INST (2)
-
-#define D3D10_VS_INPUT_REGISTER_READ_PORTS (1)
-
-#define D3D10_VS_OUTPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_VS_OUTPUT_REGISTER_COUNT (16)
-
-#define D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT (10)
-
-#define D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (25)
-
-#define D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP (25)
-
-#define D3D_MAJOR_VERSION (10)
-
-#define D3D_MINOR_VERSION (0)
-
-#define D3D_SPEC_DATE_DAY (8)
-
-#define D3D_SPEC_DATE_MONTH (8)
-
-#define D3D_SPEC_DATE_YEAR (2006)
-
-#endif
-#define D3D10_APPEND_ALIGNED_ELEMENT (0xffffffff)
-
-#define _FACD3D10 (0x87)
-
-#define _FACD3D10DEBUG (_FACD3D10 + 1)
-
-#define D3D10_FILTER_TYPE_MASK (0x3)
-
-#define D3D10_SDK_VERSION (29)
-
-#define MAKE_D3D10_HRESULT(code) MAKE_HRESULT( 1, _FACD3D10, code)
-#define MAKE_D3D10_STATUS(code) MAKE_HRESULT( 0, _FACD3D10, code)
-#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)
-#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)
-typedef enum D3D10_BLEND {
- D3D10_BLEND_ZERO = 1,
- D3D10_BLEND_ONE = 2,
- D3D10_BLEND_SRC_COLOR = 3,
- D3D10_BLEND_INV_SRC_COLOR = 4,
- D3D10_BLEND_SRC_ALPHA = 5,
- D3D10_BLEND_INV_SRC_ALPHA = 6,
- D3D10_BLEND_DEST_ALPHA = 7,
- D3D10_BLEND_INV_DEST_ALPHA = 8,
- D3D10_BLEND_DEST_COLOR = 9,
- D3D10_BLEND_INV_DEST_COLOR = 10,
- D3D10_BLEND_SRC_ALPHA_SAT = 11,
- D3D10_BLEND_BLEND_FACTOR = 14,
- D3D10_BLEND_INV_BLEND_FACTOR = 15,
- D3D10_BLEND_SRC1_COLOR = 16,
- D3D10_BLEND_INV_SRC1_COLOR = 17,
- D3D10_BLEND_SRC1_ALPHA = 18,
- D3D10_BLEND_INV_SRC1_ALPHA = 19
-} D3D10_BLEND;
-typedef enum D3D10_BLEND_OP {
- D3D10_BLEND_OP_ADD = 1,
- D3D10_BLEND_OP_SUBTRACT = 2,
- D3D10_BLEND_OP_REV_SUBTRACT = 3,
- D3D10_BLEND_OP_MIN = 4,
- D3D10_BLEND_OP_MAX = 5
-} D3D10_BLEND_OP;
-typedef struct D3D10_BLEND_DESC {
- BOOL AlphaToCoverageEnable;
- BOOL BlendEnable[8];
- D3D10_BLEND SrcBlend;
- D3D10_BLEND DestBlend;
- D3D10_BLEND_OP BlendOp;
- D3D10_BLEND SrcBlendAlpha;
- D3D10_BLEND DestBlendAlpha;
- D3D10_BLEND_OP BlendOpAlpha;
- UINT8 RenderTargetWriteMask[8];
-} D3D10_BLEND_DESC;
-typedef enum D3D10_DEPTH_WRITE_MASK {
- D3D10_DEPTH_WRITE_MASK_ZERO = 0,
- D3D10_DEPTH_WRITE_MASK_ALL = 1
-} D3D10_DEPTH_WRITE_MASK;
-typedef enum D3D10_COMPARISON_FUNC {
- D3D10_COMPARISON_NEVER = 1,
- D3D10_COMPARISON_LESS = 2,
- D3D10_COMPARISON_EQUAL = 3,
- D3D10_COMPARISON_LESS_EQUAL = 4,
- D3D10_COMPARISON_GREATER = 5,
- D3D10_COMPARISON_NOT_EQUAL = 6,
- D3D10_COMPARISON_GREATER_EQUAL = 7,
- D3D10_COMPARISON_ALWAYS = 8
-} D3D10_COMPARISON_FUNC;
-typedef enum D3D10_STENCIL_OP {
- D3D10_STENCIL_OP_KEEP = 1,
- D3D10_STENCIL_OP_ZERO = 2,
- D3D10_STENCIL_OP_REPLACE = 3,
- D3D10_STENCIL_OP_INCR_SAT = 4,
- D3D10_STENCIL_OP_DECR_SAT = 5,
- D3D10_STENCIL_OP_INVERT = 6,
- D3D10_STENCIL_OP_INCR = 7,
- D3D10_STENCIL_OP_DECR = 8
-} D3D10_STENCIL_OP;
-typedef struct D3D10_DEPTH_STENCILOP_DESC {
- D3D10_STENCIL_OP StencilFailOp;
- D3D10_STENCIL_OP StencilDepthFailOp;
- D3D10_STENCIL_OP StencilPassOp;
- D3D10_COMPARISON_FUNC StencilFunc;
-} D3D10_DEPTH_STENCILOP_DESC;
-typedef struct D3D10_DEPTH_STENCIL_DESC {
- BOOL DepthEnable;
- D3D10_DEPTH_WRITE_MASK DepthWriteMask;
- D3D10_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D10_DEPTH_STENCILOP_DESC FrontFace;
- D3D10_DEPTH_STENCILOP_DESC BackFace;
-} D3D10_DEPTH_STENCIL_DESC;
-typedef enum D3D10_FILL_MODE {
- D3D10_FILL_WIREFRAME = 2,
- D3D10_FILL_SOLID = 3
-} D3D10_FILL_MODE;
-typedef enum D3D10_CULL_MODE {
- D3D10_CULL_NONE = 1,
- D3D10_CULL_FRONT = 2,
- D3D10_CULL_BACK = 3
-} D3D10_CULL_MODE;
-typedef struct D3D10_RASTERIZER_DESC {
- D3D10_FILL_MODE FillMode;
- D3D10_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- INT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL ScissorEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
-} D3D10_RASTERIZER_DESC;
-typedef enum D3D10_FILTER {
- D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
- D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
- D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
- D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
- D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
- D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
- D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
- D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
- D3D10_FILTER_ANISOTROPIC = 0x55,
- D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
- D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
- D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
- D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
- D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
- D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
- D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
- D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
- D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
- D3D10_FILTER_TEXT_1BIT = 0x80000000
-} D3D10_FILTER;
-typedef enum D3D10_TEXTURE_ADDRESS_MODE {
- D3D10_TEXTURE_ADDRESS_WRAP = 1,
- D3D10_TEXTURE_ADDRESS_MIRROR = 2,
- D3D10_TEXTURE_ADDRESS_CLAMP = 3,
- D3D10_TEXTURE_ADDRESS_BORDER = 4,
- D3D10_TEXTURE_ADDRESS_MIRROR_ONCE = 5
-} D3D10_TEXTURE_ADDRESS_MODE;
-typedef struct D3D10_SAMPLER_DESC {
- D3D10_FILTER Filter;
- D3D10_TEXTURE_ADDRESS_MODE AddressU;
- D3D10_TEXTURE_ADDRESS_MODE AddressV;
- D3D10_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D10_COMPARISON_FUNC ComparisonFunc;
- FLOAT BorderColor[4];
- FLOAT MinLOD;
- FLOAT MaxLOD;
-} D3D10_SAMPLER_DESC;
-typedef enum D3D10_COUNTER {
- D3D10_COUNTER_GPU_IDLE = 0,
- D3D10_COUNTER_VERTEX_PROCESSING = 1,
- D3D10_COUNTER_GEOMETRY_PROCESSING = 2,
- D3D10_COUNTER_PIXEL_PROCESSING = 3,
- D3D10_COUNTER_OTHER_GPU_PROCESSING = 4,
- D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION = 5,
- D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION = 6,
- D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION = 7,
- D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION = 8,
- D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION = 9,
- D3D10_COUNTER_VS_MEMORY_LIMITED = 10,
- D3D10_COUNTER_VS_COMPUTATION_LIMITED = 11,
- D3D10_COUNTER_GS_MEMORY_LIMITED = 12,
- D3D10_COUNTER_GS_COMPUTATION_LIMITED = 13,
- D3D10_COUNTER_PS_MEMORY_LIMITED = 14,
- D3D10_COUNTER_PS_COMPUTATION_LIMITED = 15,
- D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE = 16,
- D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE = 17,
- D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
-} D3D10_COUNTER;
-typedef struct D3D10_COUNTER_DESC {
- D3D10_COUNTER Counter;
- UINT MiscFlags;
-} D3D10_COUNTER_DESC;
-typedef enum D3D10_COUNTER_TYPE {
- D3D10_COUNTER_TYPE_FLOAT32 = 0,
- D3D10_COUNTER_TYPE_UINT16 = 1,
- D3D10_COUNTER_TYPE_UINT32 = 2,
- D3D10_COUNTER_TYPE_UINT64 = 3
-} D3D10_COUNTER_TYPE;
-typedef struct D3D10_COUNTER_INFO {
- D3D10_COUNTER LastDeviceDependentCounter;
- UINT NumSimultaneousCounters;
- UINT8 NumDetectableParallelUnits;
-} D3D10_COUNTER_INFO;
-typedef enum D3D10_RESOURCE_DIMENSION {
- D3D10_RESOURCE_DIMENSION_UNKNOWN = 0,
- D3D10_RESOURCE_DIMENSION_BUFFER = 1,
- D3D10_RESOURCE_DIMENSION_TEXTURE1D = 2,
- D3D10_RESOURCE_DIMENSION_TEXTURE2D = 3,
- D3D10_RESOURCE_DIMENSION_TEXTURE3D = 4
-} D3D10_RESOURCE_DIMENSION;
-typedef enum D3D10_USAGE {
- D3D10_USAGE_DEFAULT = 0,
- D3D10_USAGE_IMMUTABLE = 1,
- D3D10_USAGE_DYNAMIC = 2,
- D3D10_USAGE_STAGING = 3
-} D3D10_USAGE;
-typedef struct D3D10_BUFFER_DESC {
- UINT ByteWidth;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_BUFFER_DESC;
-typedef enum D3D10_MAP {
- D3D10_MAP_READ = 1,
- D3D10_MAP_WRITE = 2,
- D3D10_MAP_READ_WRITE = 3,
- D3D10_MAP_WRITE_DISCARD = 4,
- D3D10_MAP_WRITE_NO_OVERWRITE = 5
-} D3D10_MAP;
-typedef struct D3D10_TEXTURE1D_DESC {
- UINT Width;
- UINT MipLevels;
- UINT ArraySize;
- DXGI_FORMAT Format;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE1D_DESC;
-typedef struct D3D10_TEXTURE2D_DESC {
- UINT Width;
- UINT Height;
- UINT MipLevels;
- UINT ArraySize;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE2D_DESC;
-typedef struct D3D10_TEXTURE3D_DESC {
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT MipLevels;
- DXGI_FORMAT Format;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE3D_DESC;
-typedef enum D3D10_DSV_DIMENSION {
- D3D10_DSV_DIMENSION_UNKNOWN = 0,
- D3D10_DSV_DIMENSION_TEXTURE1D = 1,
- D3D10_DSV_DIMENSION_TEXTURE1DARRAY = 2,
- D3D10_DSV_DIMENSION_TEXTURE2D = 3,
- D3D10_DSV_DIMENSION_TEXTURE2DARRAY = 4,
- D3D10_DSV_DIMENSION_TEXTURE2DMS = 5,
- D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
-} D3D10_DSV_DIMENSION;
-typedef struct D3D10_TEX1D_DSV {
- UINT MipSlice;
-} D3D10_TEX1D_DSV;
-typedef struct D3D10_TEX1D_ARRAY_DSV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_DSV;
-typedef struct D3D10_TEX2D_DSV {
- UINT MipSlice;
-} D3D10_TEX2D_DSV;
-typedef struct D3D10_TEX2D_ARRAY_DSV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_DSV;
-typedef struct D3D10_TEX2DMS_DSV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_DSV;
-typedef struct D3D10_TEX2DMS_ARRAY_DSV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_DSV;
-typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_DSV_DIMENSION ViewDimension;
- union {
- D3D10_TEX1D_DSV Texture1D;
- D3D10_TEX1D_ARRAY_DSV Texture1DArray;
- D3D10_TEX2D_DSV Texture2D;
- D3D10_TEX2D_ARRAY_DSV Texture2DArray;
- D3D10_TEX2DMS_DSV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
- } DUMMYUNIONNAME;
-} D3D10_DEPTH_STENCIL_VIEW_DESC;
-typedef enum D3D10_RTV_DIMENSION {
- D3D10_RTV_DIMENSION_UNKNOWN = 0,
- D3D10_RTV_DIMENSION_BUFFER = 1,
- D3D10_RTV_DIMENSION_TEXTURE1D = 2,
- D3D10_RTV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D10_RTV_DIMENSION_TEXTURE2D = 4,
- D3D10_RTV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D10_RTV_DIMENSION_TEXTURE2DMS = 6,
- D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D10_RTV_DIMENSION_TEXTURE3D = 8
-} D3D10_RTV_DIMENSION;
-typedef struct D3D10_BUFFER_RTV {
- UINT ElementOffset;
- UINT ElementWidth;
-} D3D10_BUFFER_RTV;
-typedef struct D3D10_TEX1D_RTV {
- UINT MipSlice;
-} D3D10_TEX1D_RTV;
-typedef struct D3D10_TEX1D_ARRAY_RTV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_RTV;
-typedef struct D3D10_TEX2D_RTV {
- UINT MipSlice;
-} D3D10_TEX2D_RTV;
-typedef struct D3D10_TEX2D_ARRAY_RTV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_RTV;
-typedef struct D3D10_TEX2DMS_RTV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_RTV;
-typedef struct D3D10_TEX2DMS_ARRAY_RTV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_RTV;
-typedef struct D3D10_TEX3D_RTV {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
-} D3D10_TEX3D_RTV;
-typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_RTV_DIMENSION ViewDimension;
- union {
- D3D10_BUFFER_RTV Buffer;
- D3D10_TEX1D_RTV Texture1D;
- D3D10_TEX1D_ARRAY_RTV Texture1DArray;
- D3D10_TEX2D_RTV Texture2D;
- D3D10_TEX2D_ARRAY_RTV Texture2DArray;
- D3D10_TEX2DMS_RTV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
- D3D10_TEX3D_RTV Texture3D;
- } DUMMYUNIONNAME;
-} D3D10_RENDER_TARGET_VIEW_DESC;
-typedef enum D3D10_SRV_DIMENSION {
- D3D10_SRV_DIMENSION_UNKNOWN = 0,
- D3D10_SRV_DIMENSION_BUFFER = 1,
- D3D10_SRV_DIMENSION_TEXTURE1D = 2,
- D3D10_SRV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D10_SRV_DIMENSION_TEXTURE2D = 4,
- D3D10_SRV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D10_SRV_DIMENSION_TEXTURE2DMS = 6,
- D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D10_SRV_DIMENSION_TEXTURE3D = 8,
- D3D10_SRV_DIMENSION_TEXTURECUBE = 9
-} D3D10_SRV_DIMENSION;
-typedef struct D3D10_BUFFER_SRV {
- UINT ElementOffset;
- UINT ElementWidth;
-} D3D10_BUFFER_SRV;
-typedef struct D3D10_TEX1D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX1D_SRV;
-typedef struct D3D10_TEX1D_ARRAY_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_SRV;
-typedef struct D3D10_TEX2D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX2D_SRV;
-typedef struct D3D10_TEX2D_ARRAY_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_SRV;
-typedef struct D3D10_TEX2DMS_SRV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_SRV;
-typedef struct D3D10_TEX2DMS_ARRAY_SRV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_SRV;
-typedef struct D3D10_TEX3D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX3D_SRV;
-typedef struct D3D10_TEXCUBE_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEXCUBE_SRV;
-typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_SRV_DIMENSION ViewDimension;
- union {
- D3D10_BUFFER_SRV Buffer;
- D3D10_TEX1D_SRV Texture1D;
- D3D10_TEX1D_ARRAY_SRV Texture1DArray;
- D3D10_TEX2D_SRV Texture2D;
- D3D10_TEX2D_ARRAY_SRV Texture2DArray;
- D3D10_TEX2DMS_SRV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
- D3D10_TEX3D_SRV Texture3D;
- D3D10_TEXCUBE_SRV TextureCube;
- } DUMMYUNIONNAME;
-} D3D10_SHADER_RESOURCE_VIEW_DESC;
-typedef struct D3D10_BOX {
- UINT left;
- UINT top;
- UINT front;
- UINT right;
- UINT bottom;
- UINT back;
-} D3D10_BOX;
-typedef struct D3D10_SUBRESOURCE_DATA {
- const void *pSysMem;
- UINT SysMemPitch;
- UINT SysMemSlicePitch;
-} D3D10_SUBRESOURCE_DATA;
-typedef struct D3D10_SO_DECLARATION_ENTRY {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- BYTE StartComponent;
- BYTE ComponentCount;
- BYTE OutputSlot;
-} D3D10_SO_DECLARATION_ENTRY;
-typedef enum D3D10_INPUT_CLASSIFICATION {
- D3D10_INPUT_PER_VERTEX_DATA = 0,
- D3D10_INPUT_PER_INSTANCE_DATA = 1
-} D3D10_INPUT_CLASSIFICATION;
-typedef struct D3D10_INPUT_ELEMENT_DESC {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- DXGI_FORMAT Format;
- UINT InputSlot;
- UINT AlignedByteOffset;
- D3D10_INPUT_CLASSIFICATION InputSlotClass;
- UINT InstanceDataStepRate;
-} D3D10_INPUT_ELEMENT_DESC;
-typedef enum D3D10_QUERY {
- D3D10_QUERY_EVENT = 0,
- D3D10_QUERY_OCCLUSION = 1,
- D3D10_QUERY_TIMESTAMP = 2,
- D3D10_QUERY_TIMESTAMP_DISJOINT = 3,
- D3D10_QUERY_PIPELINE_STATISTICS = 4,
- D3D10_QUERY_OCCLUSION_PREDICATE = 5,
- D3D10_QUERY_SO_STATISTICS = 6,
- D3D10_QUERY_SO_OVERFLOW_PREDICATE = 7
-} D3D10_QUERY;
-typedef struct D3D10_QUERY_DESC {
- D3D10_QUERY Query;
- UINT MiscFlags;
-} D3D10_QUERY_DESC;
-typedef enum D3D10_PRIMITIVE_TOPOLOGY {
- D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
- D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
-} D3D10_PRIMITIVE_TOPOLOGY;
-typedef RECT D3D10_RECT;
-typedef struct D3D10_VIEWPORT {
- INT TopLeftX;
- INT TopLeftY;
- UINT Width;
- UINT Height;
- FLOAT MinDepth;
- FLOAT MaxDepth;
-} D3D10_VIEWPORT;
-typedef struct D3D10_MAPPED_TEXTURE2D {
- void *pData;
- UINT RowPitch;
-} D3D10_MAPPED_TEXTURE2D;
-typedef struct D3D10_MAPPED_TEXTURE3D {
- void *pData;
- UINT RowPitch;
- UINT DepthPitch;
-} D3D10_MAPPED_TEXTURE3D;
-typedef enum D3D10_BIND_FLAG {
- D3D10_BIND_VERTEX_BUFFER = 0x1,
- D3D10_BIND_INDEX_BUFFER = 0x2,
- D3D10_BIND_CONSTANT_BUFFER = 0x4,
- D3D10_BIND_SHADER_RESOURCE = 0x8,
- D3D10_BIND_STREAM_OUTPUT = 0x10,
- D3D10_BIND_RENDER_TARGET = 0x20,
- D3D10_BIND_DEPTH_STENCIL = 0x40
-} D3D10_BIND_FLAG;
-typedef enum D3D10_CPU_ACCESS_FLAG {
- D3D10_CPU_ACCESS_WRITE = 0x10000,
- D3D10_CPU_ACCESS_READ = 0x20000
-} D3D10_CPU_ACCESS_FLAG;
-typedef enum D3D10_RESOURCE_MISC_FLAG {
- D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1,
- D3D10_RESOURCE_MISC_SHARED = 0x2,
- D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4
-} D3D10_RESOURCE_MISC_FLAG;
-typedef enum D3D10_MAP_FLAG {
- D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000
-} D3D10_MAP_FLAG;
-typedef enum D3D10_CLEAR_FLAG {
- D3D10_CLEAR_DEPTH = 0x1,
- D3D10_CLEAR_STENCIL = 0x2
-} D3D10_CLEAR_FLAG;
-typedef enum D3D10_COLOR_WRITE_ENABLE {
- D3D10_COLOR_WRITE_ENABLE_RED = 0x1,
- D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2,
- D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4,
- D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8,
- D3D10_COLOR_WRITE_ENABLE_ALL = ((D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN) | D3D10_COLOR_WRITE_ENABLE_BLUE) | D3D10_COLOR_WRITE_ENABLE_ALPHA
-} D3D10_COLOR_WRITE_ENABLE;
-typedef enum D3D10_TEXTURECUBE_FACE {
- D3D10_TEXTURECUBE_FACE_POSITIVE_X = 0,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_X = 1,
- D3D10_TEXTURECUBE_FACE_POSITIVE_Y = 2,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_Y = 3,
- D3D10_TEXTURECUBE_FACE_POSITIVE_Z = 4,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_Z = 5
-} D3D10_TEXTURECUBE_FACE;
-typedef enum D3D10_ASYNC_GETDATA_FLAG {
- D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1
-} D3D10_ASYNC_GETDATA_FLAG;
-typedef enum D3D10_FILTER_TYPE {
- D3D10_FILTER_TYPE_POINT = 0,
- D3D10_FILTER_TYPE_LINEAR = 1
-} D3D10_FILTER_TYPE;
-typedef enum D3D10_QUERY_MISC_FLAG {
- D3D10_QUERY_MISC_PREDICATEHINT = 0x1
-} D3D10_QUERY_MISC_FLAG;
-typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
- UINT64 Frequency;
- BOOL Disjoint;
-} D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
-typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
-} D3D10_QUERY_DATA_PIPELINE_STATISTICS;
-typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
- UINT64 NumPrimitivesWritten;
- UINT64 PrimitivesStorageNeeded;
-} D3D10_QUERY_DATA_SO_STATISTICS;
-typedef enum D3D10_CREATE_DEVICE_FLAG {
- D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
- D3D10_CREATE_DEVICE_DEBUG = 0x2,
- D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
- D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8
-} D3D10_CREATE_DEVICE_FLAG;
-#ifndef __ID3D10Device_FWD_DEFINED__
-#define __ID3D10Device_FWD_DEFINED__
-typedef interface ID3D10Device ID3D10Device;
-#endif
-
-/*****************************************************************************
- * ID3D10DeviceChild interface
- */
-#ifndef __ID3D10DeviceChild_INTERFACE_DEFINED__
-#define __ID3D10DeviceChild_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10DeviceChild, 0x9b7e4c00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10DeviceChild : public IUnknown
-{
- virtual void STDMETHODCALLTYPE GetDevice(
- ID3D10Device **ppDevice) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
- REFGUID guid,
- UINT *pDataSize,
- void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
- REFGUID guid,
- UINT DataSize,
- const void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
- REFGUID guid,
- const IUnknown *pData) = 0;
-
-};
-#else
-typedef struct ID3D10DeviceChildVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10DeviceChild* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10DeviceChild* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10DeviceChild* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10DeviceChild* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10DeviceChild* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10DeviceChild* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10DeviceChild* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10DeviceChildVtbl;
-interface ID3D10DeviceChild {
- CONST_VTBL ID3D10DeviceChildVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10DeviceChild_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10DeviceChild_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10DeviceChild_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10DeviceChild_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10DeviceChild_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10DeviceChild_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10DeviceChild_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10DeviceChild_GetDevice_Proxy(
- ID3D10DeviceChild* This,
- ID3D10Device **ppDevice);
-void __RPC_STUB ID3D10DeviceChild_GetDevice_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10DeviceChild_GetPrivateData_Proxy(
- ID3D10DeviceChild* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-void __RPC_STUB ID3D10DeviceChild_GetPrivateData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10DeviceChild_SetPrivateData_Proxy(
- ID3D10DeviceChild* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-void __RPC_STUB ID3D10DeviceChild_SetPrivateData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10DeviceChild_SetPrivateDataInterface_Proxy(
- ID3D10DeviceChild* This,
- REFGUID guid,
- const IUnknown *pData);
-void __RPC_STUB ID3D10DeviceChild_SetPrivateDataInterface_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10DeviceChild_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Resource interface
- */
-#ifndef __ID3D10Resource_INTERFACE_DEFINED__
-#define __ID3D10Resource_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Resource, 0x9b7e4c01, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Resource : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetType(
- D3D10_RESOURCE_DIMENSION *rType) = 0;
-
- virtual void STDMETHODCALLTYPE SetEvictionPriority(
- UINT EvictionPriority) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetEvictionPriority(
- ) = 0;
-
-};
-#else
-typedef struct ID3D10ResourceVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Resource* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Resource* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Resource* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Resource* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Resource* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Resource* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Resource* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Resource* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Resource* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Resource* This);
-
- END_INTERFACE
-} ID3D10ResourceVtbl;
-interface ID3D10Resource {
- CONST_VTBL ID3D10ResourceVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Resource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Resource_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Resource_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Resource_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Resource_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Resource_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Resource_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Resource_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Resource_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Resource_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Resource_GetType_Proxy(
- ID3D10Resource* This,
- D3D10_RESOURCE_DIMENSION *rType);
-void __RPC_STUB ID3D10Resource_GetType_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Resource_SetEvictionPriority_Proxy(
- ID3D10Resource* This,
- UINT EvictionPriority);
-void __RPC_STUB ID3D10Resource_SetEvictionPriority_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-UINT STDMETHODCALLTYPE ID3D10Resource_GetEvictionPriority_Proxy(
- ID3D10Resource* This);
-void __RPC_STUB ID3D10Resource_GetEvictionPriority_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Resource_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Buffer interface
- */
-#ifndef __ID3D10Buffer_INTERFACE_DEFINED__
-#define __ID3D10Buffer_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Buffer, 0x9b7e4c02, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Buffer : public ID3D10Resource
-{
- virtual HRESULT STDMETHODCALLTYPE Map(
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_BUFFER_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10BufferVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Buffer* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Buffer* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Buffer* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Buffer* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Buffer* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Buffer* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Buffer* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Buffer* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Buffer* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Buffer* This);
-
- /*** ID3D10Buffer methods ***/
- HRESULT (STDMETHODCALLTYPE *Map)(
- ID3D10Buffer* This,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData);
-
- void (STDMETHODCALLTYPE *Unmap)(
- ID3D10Buffer* This);
-
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Buffer* This,
- D3D10_BUFFER_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10BufferVtbl;
-interface ID3D10Buffer {
- CONST_VTBL ID3D10BufferVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Buffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Buffer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Buffer_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Buffer_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Buffer_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Buffer_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Buffer_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Buffer_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Buffer_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Buffer_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-/*** ID3D10Buffer methods ***/
-#define ID3D10Buffer_Map(This,MapType,MapFlags,ppData) (This)->lpVtbl->Map(This,MapType,MapFlags,ppData)
-#define ID3D10Buffer_Unmap(This) (This)->lpVtbl->Unmap(This)
-#define ID3D10Buffer_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE ID3D10Buffer_Map_Proxy(
- ID3D10Buffer* This,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData);
-void __RPC_STUB ID3D10Buffer_Map_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Buffer_Unmap_Proxy(
- ID3D10Buffer* This);
-void __RPC_STUB ID3D10Buffer_Unmap_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Buffer_GetDesc_Proxy(
- ID3D10Buffer* This,
- D3D10_BUFFER_DESC *pDesc);
-void __RPC_STUB ID3D10Buffer_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Buffer_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Texture1D interface
- */
-#ifndef __ID3D10Texture1D_INTERFACE_DEFINED__
-#define __ID3D10Texture1D_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Texture1D, 0x9b7e4c03, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Texture1D : public ID3D10Resource
-{
- virtual HRESULT STDMETHODCALLTYPE Map(
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- UINT Subresource) = 0;
-
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_TEXTURE1D_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10Texture1DVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Texture1D* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Texture1D* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Texture1D* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Texture1D* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Texture1D* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Texture1D* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Texture1D* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Texture1D* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Texture1D* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Texture1D* This);
-
- /*** ID3D10Texture1D methods ***/
- HRESULT (STDMETHODCALLTYPE *Map)(
- ID3D10Texture1D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData);
-
- void (STDMETHODCALLTYPE *Unmap)(
- ID3D10Texture1D* This,
- UINT Subresource);
-
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Texture1D* This,
- D3D10_TEXTURE1D_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10Texture1DVtbl;
-interface ID3D10Texture1D {
- CONST_VTBL ID3D10Texture1DVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Texture1D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Texture1D_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Texture1D_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Texture1D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Texture1D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Texture1D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Texture1D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Texture1D_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Texture1D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Texture1D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-/*** ID3D10Texture1D methods ***/
-#define ID3D10Texture1D_Map(This,Subresource,MapType,MapFlags,ppData) (This)->lpVtbl->Map(This,Subresource,MapType,MapFlags,ppData)
-#define ID3D10Texture1D_Unmap(This,Subresource) (This)->lpVtbl->Unmap(This,Subresource)
-#define ID3D10Texture1D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE ID3D10Texture1D_Map_Proxy(
- ID3D10Texture1D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData);
-void __RPC_STUB ID3D10Texture1D_Map_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture1D_Unmap_Proxy(
- ID3D10Texture1D* This,
- UINT Subresource);
-void __RPC_STUB ID3D10Texture1D_Unmap_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture1D_GetDesc_Proxy(
- ID3D10Texture1D* This,
- D3D10_TEXTURE1D_DESC *pDesc);
-void __RPC_STUB ID3D10Texture1D_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Texture1D_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Texture2D interface
- */
-#ifndef __ID3D10Texture2D_INTERFACE_DEFINED__
-#define __ID3D10Texture2D_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Texture2D, 0x9b7e4c04, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Texture2D : public ID3D10Resource
-{
- virtual HRESULT STDMETHODCALLTYPE Map(
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE2D *pMappedTex2D) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- UINT Subresource) = 0;
-
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_TEXTURE2D_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10Texture2DVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Texture2D* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Texture2D* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Texture2D* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Texture2D* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Texture2D* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Texture2D* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Texture2D* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Texture2D* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Texture2D* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Texture2D* This);
-
- /*** ID3D10Texture2D methods ***/
- HRESULT (STDMETHODCALLTYPE *Map)(
- ID3D10Texture2D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
-
- void (STDMETHODCALLTYPE *Unmap)(
- ID3D10Texture2D* This,
- UINT Subresource);
-
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Texture2D* This,
- D3D10_TEXTURE2D_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10Texture2DVtbl;
-interface ID3D10Texture2D {
- CONST_VTBL ID3D10Texture2DVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Texture2D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Texture2D_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Texture2D_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Texture2D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Texture2D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Texture2D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Texture2D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Texture2D_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Texture2D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Texture2D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-/*** ID3D10Texture2D methods ***/
-#define ID3D10Texture2D_Map(This,Subresource,MapType,MapFlags,pMappedTex2D) (This)->lpVtbl->Map(This,Subresource,MapType,MapFlags,pMappedTex2D)
-#define ID3D10Texture2D_Unmap(This,Subresource) (This)->lpVtbl->Unmap(This,Subresource)
-#define ID3D10Texture2D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE ID3D10Texture2D_Map_Proxy(
- ID3D10Texture2D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
-void __RPC_STUB ID3D10Texture2D_Map_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture2D_Unmap_Proxy(
- ID3D10Texture2D* This,
- UINT Subresource);
-void __RPC_STUB ID3D10Texture2D_Unmap_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture2D_GetDesc_Proxy(
- ID3D10Texture2D* This,
- D3D10_TEXTURE2D_DESC *pDesc);
-void __RPC_STUB ID3D10Texture2D_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Texture2D_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Texture3D interface
- */
-#ifndef __ID3D10Texture3D_INTERFACE_DEFINED__
-#define __ID3D10Texture3D_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Texture3D, 0x9b7e4c05, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Texture3D : public ID3D10Resource
-{
- virtual HRESULT STDMETHODCALLTYPE Map(
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE3D *pMappedTex3D) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- UINT Subresource) = 0;
-
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_TEXTURE3D_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10Texture3DVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Texture3D* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Texture3D* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Texture3D* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Texture3D* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Texture3D* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Texture3D* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Texture3D* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Texture3D* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Texture3D* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Texture3D* This);
-
- /*** ID3D10Texture3D methods ***/
- HRESULT (STDMETHODCALLTYPE *Map)(
- ID3D10Texture3D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
-
- void (STDMETHODCALLTYPE *Unmap)(
- ID3D10Texture3D* This,
- UINT Subresource);
-
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Texture3D* This,
- D3D10_TEXTURE3D_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10Texture3DVtbl;
-interface ID3D10Texture3D {
- CONST_VTBL ID3D10Texture3DVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Texture3D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Texture3D_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Texture3D_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Texture3D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Texture3D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Texture3D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Texture3D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Texture3D_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Texture3D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Texture3D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-/*** ID3D10Texture3D methods ***/
-#define ID3D10Texture3D_Map(This,Subresource,MapType,MapFlags,pMappedTex3D) (This)->lpVtbl->Map(This,Subresource,MapType,MapFlags,pMappedTex3D)
-#define ID3D10Texture3D_Unmap(This,Subresource) (This)->lpVtbl->Unmap(This,Subresource)
-#define ID3D10Texture3D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE ID3D10Texture3D_Map_Proxy(
- ID3D10Texture3D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
-void __RPC_STUB ID3D10Texture3D_Map_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture3D_Unmap_Proxy(
- ID3D10Texture3D* This,
- UINT Subresource);
-void __RPC_STUB ID3D10Texture3D_Unmap_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture3D_GetDesc_Proxy(
- ID3D10Texture3D* This,
- D3D10_TEXTURE3D_DESC *pDesc);
-void __RPC_STUB ID3D10Texture3D_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Texture3D_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10View interface
- */
-#ifndef __ID3D10View_INTERFACE_DEFINED__
-#define __ID3D10View_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10View, 0xc902b03f, 0x60a7, 0x49ba, 0x99,0x36, 0x2a,0x3a,0xb3,0x7a,0x7e,0x33);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10View : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetResource(
- ID3D10Resource **ppResource) = 0;
-
-};
-#else
-typedef struct ID3D10ViewVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10View* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10View* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10View* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10View* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10View* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10View* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10View* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10View methods ***/
- void (STDMETHODCALLTYPE *GetResource)(
- ID3D10View* This,
- ID3D10Resource **ppResource);
-
- END_INTERFACE
-} ID3D10ViewVtbl;
-interface ID3D10View {
- CONST_VTBL ID3D10ViewVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10View_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10View_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10View_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10View_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10View_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10View_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10View_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10View methods ***/
-#define ID3D10View_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10View_GetResource_Proxy(
- ID3D10View* This,
- ID3D10Resource **ppResource);
-void __RPC_STUB ID3D10View_GetResource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10View_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10DepthStencilView interface
- */
-#ifndef __ID3D10DepthStencilView_INTERFACE_DEFINED__
-#define __ID3D10DepthStencilView_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10DepthStencilView, 0x9b7e4c09, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10DepthStencilView : public ID3D10View
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10DepthStencilViewVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10DepthStencilView* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10DepthStencilView* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10DepthStencilView* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10DepthStencilView* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10DepthStencilView* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10DepthStencilView* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10DepthStencilView* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10View methods ***/
- void (STDMETHODCALLTYPE *GetResource)(
- ID3D10DepthStencilView* This,
- ID3D10Resource **ppResource);
-
- /*** ID3D10DepthStencilView methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10DepthStencilView* This,
- D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10DepthStencilViewVtbl;
-interface ID3D10DepthStencilView {
- CONST_VTBL ID3D10DepthStencilViewVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10DepthStencilView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10DepthStencilView_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10DepthStencilView_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10DepthStencilView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10DepthStencilView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10DepthStencilView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10DepthStencilView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10View methods ***/
-#define ID3D10DepthStencilView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
-/*** ID3D10DepthStencilView methods ***/
-#define ID3D10DepthStencilView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10DepthStencilView_GetDesc_Proxy(
- ID3D10DepthStencilView* This,
- D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
-void __RPC_STUB ID3D10DepthStencilView_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10DepthStencilView_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10RenderTargetView interface
- */
-#ifndef __ID3D10RenderTargetView_INTERFACE_DEFINED__
-#define __ID3D10RenderTargetView_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10RenderTargetView, 0x9b7e4c08, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10RenderTargetView : public ID3D10View
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10RenderTargetViewVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10RenderTargetView* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10RenderTargetView* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10RenderTargetView* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10RenderTargetView* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10RenderTargetView* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10RenderTargetView* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10RenderTargetView* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10View methods ***/
- void (STDMETHODCALLTYPE *GetResource)(
- ID3D10RenderTargetView* This,
- ID3D10Resource **ppResource);
-
- /*** ID3D10RenderTargetView methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10RenderTargetView* This,
- D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10RenderTargetViewVtbl;
-interface ID3D10RenderTargetView {
- CONST_VTBL ID3D10RenderTargetViewVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10RenderTargetView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10RenderTargetView_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10RenderTargetView_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10RenderTargetView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10RenderTargetView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10RenderTargetView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10RenderTargetView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10View methods ***/
-#define ID3D10RenderTargetView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
-/*** ID3D10RenderTargetView methods ***/
-#define ID3D10RenderTargetView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10RenderTargetView_GetDesc_Proxy(
- ID3D10RenderTargetView* This,
- D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
-void __RPC_STUB ID3D10RenderTargetView_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10RenderTargetView_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10ShaderResourceView interface
- */
-#ifndef __ID3D10ShaderResourceView_INTERFACE_DEFINED__
-#define __ID3D10ShaderResourceView_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10ShaderResourceView, 0x9b7e4c07, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10ShaderResourceView : public ID3D10View
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10ShaderResourceViewVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10ShaderResourceView* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10ShaderResourceView* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10ShaderResourceView* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10ShaderResourceView* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10ShaderResourceView* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10ShaderResourceView* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10ShaderResourceView* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10View methods ***/
- void (STDMETHODCALLTYPE *GetResource)(
- ID3D10ShaderResourceView* This,
- ID3D10Resource **ppResource);
-
- /*** ID3D10ShaderResourceView methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10ShaderResourceView* This,
- D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10ShaderResourceViewVtbl;
-interface ID3D10ShaderResourceView {
- CONST_VTBL ID3D10ShaderResourceViewVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10ShaderResourceView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10ShaderResourceView_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10ShaderResourceView_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10ShaderResourceView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10ShaderResourceView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10ShaderResourceView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10View methods ***/
-#define ID3D10ShaderResourceView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
-/*** ID3D10ShaderResourceView methods ***/
-#define ID3D10ShaderResourceView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10ShaderResourceView_GetDesc_Proxy(
- ID3D10ShaderResourceView* This,
- D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
-void __RPC_STUB ID3D10ShaderResourceView_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10ShaderResourceView_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10BlendState interface
- */
-#ifndef __ID3D10BlendState_INTERFACE_DEFINED__
-#define __ID3D10BlendState_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10BlendState, 0xedad8d19, 0x8a35, 0x4d6d, 0x85,0x66, 0x2e,0xa2,0x76,0xcd,0xe1,0x61);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10BlendState : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_BLEND_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10BlendStateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10BlendState* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10BlendState* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10BlendState* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10BlendState* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10BlendState* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10BlendState* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10BlendState* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10BlendState methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10BlendState* This,
- D3D10_BLEND_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10BlendStateVtbl;
-interface ID3D10BlendState {
- CONST_VTBL ID3D10BlendStateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10BlendState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10BlendState_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10BlendState_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10BlendState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10BlendState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10BlendState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10BlendState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10BlendState methods ***/
-#define ID3D10BlendState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10BlendState_GetDesc_Proxy(
- ID3D10BlendState* This,
- D3D10_BLEND_DESC *pDesc);
-void __RPC_STUB ID3D10BlendState_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10BlendState_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10DepthStencilState interface
- */
-#ifndef __ID3D10DepthStencilState_INTERFACE_DEFINED__
-#define __ID3D10DepthStencilState_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10DepthStencilState, 0x2b4b1cc8, 0xa4ad, 0x41f8, 0x83,0x22, 0xca,0x86,0xfc,0x3e,0xc6,0x75);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10DepthStencilState : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_DEPTH_STENCIL_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10DepthStencilStateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10DepthStencilState* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10DepthStencilState* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10DepthStencilState* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10DepthStencilState* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10DepthStencilState* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10DepthStencilState* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10DepthStencilState* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10DepthStencilState methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10DepthStencilState* This,
- D3D10_DEPTH_STENCIL_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10DepthStencilStateVtbl;
-interface ID3D10DepthStencilState {
- CONST_VTBL ID3D10DepthStencilStateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10DepthStencilState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10DepthStencilState_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10DepthStencilState_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10DepthStencilState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10DepthStencilState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10DepthStencilState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10DepthStencilState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10DepthStencilState methods ***/
-#define ID3D10DepthStencilState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10DepthStencilState_GetDesc_Proxy(
- ID3D10DepthStencilState* This,
- D3D10_DEPTH_STENCIL_DESC *pDesc);
-void __RPC_STUB ID3D10DepthStencilState_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10DepthStencilState_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10GeometryShader interface
- */
-#ifndef __ID3D10GeometryShader_INTERFACE_DEFINED__
-#define __ID3D10GeometryShader_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10GeometryShader, 0x6316be88, 0x54cd, 0x4040, 0xab,0x44, 0x20,0x46,0x1b,0xc8,0x1f,0x68);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10GeometryShader : public ID3D10DeviceChild
-{
-};
-#else
-typedef struct ID3D10GeometryShaderVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10GeometryShader* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10GeometryShader* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10GeometryShader* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10GeometryShader* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10GeometryShader* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10GeometryShader* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10GeometryShader* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10GeometryShaderVtbl;
-interface ID3D10GeometryShader {
- CONST_VTBL ID3D10GeometryShaderVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10GeometryShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10GeometryShader_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10GeometryShader_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10GeometryShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10GeometryShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10GeometryShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10GeometryShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10GeometryShader_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10InputLayout interface
- */
-#ifndef __ID3D10InputLayout_INTERFACE_DEFINED__
-#define __ID3D10InputLayout_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10InputLayout, 0x9b7e4c0b, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10InputLayout : public ID3D10DeviceChild
-{
-};
-#else
-typedef struct ID3D10InputLayoutVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10InputLayout* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10InputLayout* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10InputLayout* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10InputLayout* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10InputLayout* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10InputLayout* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10InputLayout* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10InputLayoutVtbl;
-interface ID3D10InputLayout {
- CONST_VTBL ID3D10InputLayoutVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10InputLayout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10InputLayout_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10InputLayout_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10InputLayout_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10InputLayout_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10InputLayout_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10InputLayout_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10InputLayout_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10PixelShader interface
- */
-#ifndef __ID3D10PixelShader_INTERFACE_DEFINED__
-#define __ID3D10PixelShader_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10PixelShader, 0x4968b601, 0x9d00, 0x4cde, 0x83,0x46, 0x8e,0x7f,0x67,0x58,0x19,0xb6);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10PixelShader : public ID3D10DeviceChild
-{
-};
-#else
-typedef struct ID3D10PixelShaderVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10PixelShader* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10PixelShader* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10PixelShader* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10PixelShader* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10PixelShader* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10PixelShader* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10PixelShader* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10PixelShaderVtbl;
-interface ID3D10PixelShader {
- CONST_VTBL ID3D10PixelShaderVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10PixelShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10PixelShader_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10PixelShader_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10PixelShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10PixelShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10PixelShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10PixelShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10PixelShader_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10RasterizerState interface
- */
-#ifndef __ID3D10RasterizerState_INTERFACE_DEFINED__
-#define __ID3D10RasterizerState_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10RasterizerState, 0xa2a07292, 0x89af, 0x4345, 0xbe,0x2e, 0xc5,0x3d,0x9f,0xbb,0x6e,0x9f);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10RasterizerState : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_RASTERIZER_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10RasterizerStateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10RasterizerState* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10RasterizerState* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10RasterizerState* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10RasterizerState* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10RasterizerState* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10RasterizerState* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10RasterizerState* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10RasterizerState methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10RasterizerState* This,
- D3D10_RASTERIZER_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10RasterizerStateVtbl;
-interface ID3D10RasterizerState {
- CONST_VTBL ID3D10RasterizerStateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10RasterizerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10RasterizerState_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10RasterizerState_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10RasterizerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10RasterizerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10RasterizerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10RasterizerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10RasterizerState methods ***/
-#define ID3D10RasterizerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10RasterizerState_GetDesc_Proxy(
- ID3D10RasterizerState* This,
- D3D10_RASTERIZER_DESC *pDesc);
-void __RPC_STUB ID3D10RasterizerState_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10RasterizerState_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10SamplerState interface
- */
-#ifndef __ID3D10SamplerState_INTERFACE_DEFINED__
-#define __ID3D10SamplerState_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10SamplerState, 0x9b7e4c0c, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10SamplerState : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_SAMPLER_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10SamplerStateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10SamplerState* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10SamplerState* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10SamplerState* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10SamplerState* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10SamplerState* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10SamplerState* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10SamplerState* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10SamplerState methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10SamplerState* This,
- D3D10_SAMPLER_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10SamplerStateVtbl;
-interface ID3D10SamplerState {
- CONST_VTBL ID3D10SamplerStateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10SamplerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10SamplerState_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10SamplerState_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10SamplerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10SamplerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10SamplerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10SamplerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10SamplerState methods ***/
-#define ID3D10SamplerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10SamplerState_GetDesc_Proxy(
- ID3D10SamplerState* This,
- D3D10_SAMPLER_DESC *pDesc);
-void __RPC_STUB ID3D10SamplerState_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10SamplerState_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10VertexShader interface
- */
-#ifndef __ID3D10VertexShader_INTERFACE_DEFINED__
-#define __ID3D10VertexShader_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10VertexShader, 0x9b7e4c0a, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10VertexShader : public ID3D10DeviceChild
-{
-};
-#else
-typedef struct ID3D10VertexShaderVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10VertexShader* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10VertexShader* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10VertexShader* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10VertexShader* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10VertexShader* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10VertexShader* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10VertexShader* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10VertexShaderVtbl;
-interface ID3D10VertexShader {
- CONST_VTBL ID3D10VertexShaderVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10VertexShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10VertexShader_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10VertexShader_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10VertexShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10VertexShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10VertexShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10VertexShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10VertexShader_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Asynchronous interface
- */
-#ifndef __ID3D10Asynchronous_INTERFACE_DEFINED__
-#define __ID3D10Asynchronous_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Asynchronous, 0x9b7e4c0d, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Asynchronous : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE Begin(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE End(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetData(
- void *pData,
- UINT DataSize,
- UINT GetDataFlags) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetDataSize(
- ) = 0;
-
-};
-#else
-typedef struct ID3D10AsynchronousVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Asynchronous* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Asynchronous* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Asynchronous* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Asynchronous* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Asynchronous* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Asynchronous* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Asynchronous* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Asynchronous methods ***/
- void (STDMETHODCALLTYPE *Begin)(
- ID3D10Asynchronous* This);
-
- void (STDMETHODCALLTYPE *End)(
- ID3D10Asynchronous* This);
-
- HRESULT (STDMETHODCALLTYPE *GetData)(
- ID3D10Asynchronous* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-
- UINT (STDMETHODCALLTYPE *GetDataSize)(
- ID3D10Asynchronous* This);
-
- END_INTERFACE
-} ID3D10AsynchronousVtbl;
-interface ID3D10Asynchronous {
- CONST_VTBL ID3D10AsynchronousVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Asynchronous_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Asynchronous_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Asynchronous_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Asynchronous_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Asynchronous_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Asynchronous_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Asynchronous_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Asynchronous methods ***/
-#define ID3D10Asynchronous_Begin(This) (This)->lpVtbl->Begin(This)
-#define ID3D10Asynchronous_End(This) (This)->lpVtbl->End(This)
-#define ID3D10Asynchronous_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
-#define ID3D10Asynchronous_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Asynchronous_Begin_Proxy(
- ID3D10Asynchronous* This);
-void __RPC_STUB ID3D10Asynchronous_Begin_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Asynchronous_End_Proxy(
- ID3D10Asynchronous* This);
-void __RPC_STUB ID3D10Asynchronous_End_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Asynchronous_GetData_Proxy(
- ID3D10Asynchronous* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-void __RPC_STUB ID3D10Asynchronous_GetData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-UINT STDMETHODCALLTYPE ID3D10Asynchronous_GetDataSize_Proxy(
- ID3D10Asynchronous* This);
-void __RPC_STUB ID3D10Asynchronous_GetDataSize_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Asynchronous_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Counter interface
- */
-#ifndef __ID3D10Counter_INTERFACE_DEFINED__
-#define __ID3D10Counter_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Counter, 0x9b7e4c11, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Counter : public ID3D10Asynchronous
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_COUNTER_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10CounterVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Counter* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Counter* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Counter* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Counter* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Counter* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Counter* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Counter* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Asynchronous methods ***/
- void (STDMETHODCALLTYPE *Begin)(
- ID3D10Counter* This);
-
- void (STDMETHODCALLTYPE *End)(
- ID3D10Counter* This);
-
- HRESULT (STDMETHODCALLTYPE *GetData)(
- ID3D10Counter* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-
- UINT (STDMETHODCALLTYPE *GetDataSize)(
- ID3D10Counter* This);
-
- /*** ID3D10Counter methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Counter* This,
- D3D10_COUNTER_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10CounterVtbl;
-interface ID3D10Counter {
- CONST_VTBL ID3D10CounterVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Counter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Counter_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Counter_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Counter_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Counter_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Counter_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Counter_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Asynchronous methods ***/
-#define ID3D10Counter_Begin(This) (This)->lpVtbl->Begin(This)
-#define ID3D10Counter_End(This) (This)->lpVtbl->End(This)
-#define ID3D10Counter_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
-#define ID3D10Counter_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
-/*** ID3D10Counter methods ***/
-#define ID3D10Counter_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Counter_GetDesc_Proxy(
- ID3D10Counter* This,
- D3D10_COUNTER_DESC *pDesc);
-void __RPC_STUB ID3D10Counter_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Counter_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Query interface
- */
-#ifndef __ID3D10Query_INTERFACE_DEFINED__
-#define __ID3D10Query_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Query, 0x9b7e4c0e, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Query : public ID3D10Asynchronous
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_QUERY_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10QueryVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Query* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Query* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Query* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Query* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Query* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Query* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Query* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Asynchronous methods ***/
- void (STDMETHODCALLTYPE *Begin)(
- ID3D10Query* This);
-
- void (STDMETHODCALLTYPE *End)(
- ID3D10Query* This);
-
- HRESULT (STDMETHODCALLTYPE *GetData)(
- ID3D10Query* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-
- UINT (STDMETHODCALLTYPE *GetDataSize)(
- ID3D10Query* This);
-
- /*** ID3D10Query methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Query* This,
- D3D10_QUERY_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10QueryVtbl;
-interface ID3D10Query {
- CONST_VTBL ID3D10QueryVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Query_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Query_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Query_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Query_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Query_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Query_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Query_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Asynchronous methods ***/
-#define ID3D10Query_Begin(This) (This)->lpVtbl->Begin(This)
-#define ID3D10Query_End(This) (This)->lpVtbl->End(This)
-#define ID3D10Query_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
-#define ID3D10Query_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
-/*** ID3D10Query methods ***/
-#define ID3D10Query_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Query_GetDesc_Proxy(
- ID3D10Query* This,
- D3D10_QUERY_DESC *pDesc);
-void __RPC_STUB ID3D10Query_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Query_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Predicate interface
- */
-#ifndef __ID3D10Predicate_INTERFACE_DEFINED__
-#define __ID3D10Predicate_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Predicate, 0x9b7e4c10, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Predicate : public ID3D10Query
-{
-};
-#else
-typedef struct ID3D10PredicateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Predicate* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Predicate* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Predicate* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Predicate* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Predicate* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Predicate* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Predicate* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Asynchronous methods ***/
- void (STDMETHODCALLTYPE *Begin)(
- ID3D10Predicate* This);
-
- void (STDMETHODCALLTYPE *End)(
- ID3D10Predicate* This);
-
- HRESULT (STDMETHODCALLTYPE *GetData)(
- ID3D10Predicate* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-
- UINT (STDMETHODCALLTYPE *GetDataSize)(
- ID3D10Predicate* This);
-
- /*** ID3D10Query methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Predicate* This,
- D3D10_QUERY_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10PredicateVtbl;
-interface ID3D10Predicate {
- CONST_VTBL ID3D10PredicateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Predicate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Predicate_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Predicate_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Predicate_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Predicate_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Predicate_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Predicate_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Asynchronous methods ***/
-#define ID3D10Predicate_Begin(This) (This)->lpVtbl->Begin(This)
-#define ID3D10Predicate_End(This) (This)->lpVtbl->End(This)
-#define ID3D10Predicate_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
-#define ID3D10Predicate_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
-/*** ID3D10Query methods ***/
-#define ID3D10Predicate_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10Predicate_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Device interface
- */
-#ifndef __ID3D10Device_INTERFACE_DEFINED__
-#define __ID3D10Device_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Device, 0x9b7e4c0f, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Device : public IUnknown
-{
- virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE PSSetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE PSSetShader(
- ID3D10PixelShader *pPixelShader) = 0;
-
- virtual void STDMETHODCALLTYPE PSSetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE VSSetShader(
- ID3D10VertexShader *pVertexShader) = 0;
-
- virtual void STDMETHODCALLTYPE DrawIndexed(
- UINT IndexCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation) = 0;
-
- virtual void STDMETHODCALLTYPE Draw(
- UINT VertexCount,
- UINT StartVertexLocation) = 0;
-
- virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE IASetInputLayout(
- ID3D10InputLayout *pInputLayout) = 0;
-
- virtual void STDMETHODCALLTYPE IASetVertexBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppVertexBuffers,
- const UINT *pStrides,
- const UINT *pOffsets) = 0;
-
- virtual void STDMETHODCALLTYPE IASetIndexBuffer(
- ID3D10Buffer *pIndexBuffer,
- DXGI_FORMAT Format,
- UINT Offset) = 0;
-
- virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
- UINT IndexCountPerInstance,
- UINT InstanceCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation,
- UINT StartInstanceLocation) = 0;
-
- virtual void STDMETHODCALLTYPE DrawInstanced(
- UINT VertexCountPerInstance,
- UINT InstanceCount,
- UINT StartVertexLocation,
- UINT StartInstanceLocation) = 0;
-
- virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE GSSetShader(
- ID3D10GeometryShader *pShader) = 0;
-
- virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
- D3D10_PRIMITIVE_TOPOLOGY Topology) = 0;
-
- virtual void STDMETHODCALLTYPE VSSetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE VSSetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE SetPredication(
- ID3D10Predicate *pPredicate,
- BOOL PredicateValue) = 0;
-
- virtual void STDMETHODCALLTYPE GSSetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE GSSetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetRenderTargets(
- UINT NumViews,
- ID3D10RenderTargetView *const *ppRenderTargetViews,
- ID3D10DepthStencilView *pDepthStencilView) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetBlendState(
- ID3D10BlendState *pBlendState,
- const FLOAT BlendFactor[4],
- UINT SampleMask) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
- ID3D10DepthStencilState *pDepthStencilState,
- UINT StencilRef) = 0;
-
- virtual void STDMETHODCALLTYPE SOSetTargets(
- UINT NumBuffers,
- ID3D10Buffer *const *ppSOTargets,
- const UINT *pOffsets) = 0;
-
- virtual void STDMETHODCALLTYPE DrawAuto(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetState(
- ID3D10RasterizerState *pRasterizerState) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetViewports(
- UINT NumViewports,
- const D3D10_VIEWPORT *pViewports) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetScissorRects(
- UINT NumRects,
- const D3D10_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE CopySubresourceRegion(
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- const D3D10_BOX *pSrcBox) = 0;
-
- virtual void STDMETHODCALLTYPE CopyResource(
- ID3D10Resource *pDstResource,
- ID3D10Resource *pSrcResource) = 0;
-
- virtual void STDMETHODCALLTYPE UpdateSubresource(
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- const D3D10_BOX *pDstBox,
- const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch) = 0;
-
- virtual void STDMETHODCALLTYPE ClearRenderTargetView(
- ID3D10RenderTargetView *pRenderTargetView,
- const FLOAT ColorRGBA[4]) = 0;
-
- virtual void STDMETHODCALLTYPE ClearDepthStencilView(
- ID3D10DepthStencilView *pDepthStencilView,
- UINT ClearFlags,
- FLOAT Depth,
- UINT8 Stencil) = 0;
-
- virtual void STDMETHODCALLTYPE GenerateMips(
- ID3D10ShaderResourceView *pShaderResourceView) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveSubresource(
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- DXGI_FORMAT Format) = 0;
-
- virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE PSGetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE PSGetShader(
- ID3D10PixelShader **ppPixelShader) = 0;
-
- virtual void STDMETHODCALLTYPE PSGetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE VSGetShader(
- ID3D10VertexShader **ppVertexShader) = 0;
-
- virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE IAGetInputLayout(
- ID3D10InputLayout **ppInputLayout) = 0;
-
- virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppVertexBuffers,
- UINT *pStrides,
- UINT *pOffsets) = 0;
-
- virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
- ID3D10Buffer **pIndexBuffer,
- DXGI_FORMAT *Format,
- UINT *Offset) = 0;
-
- virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE GSGetShader(
- ID3D10GeometryShader **ppGeometryShader) = 0;
-
- virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
- D3D10_PRIMITIVE_TOPOLOGY *pTopology) = 0;
-
- virtual void STDMETHODCALLTYPE VSGetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE VSGetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE GetPredication(
- ID3D10Predicate **ppPredicate,
- BOOL *pPredicateValue) = 0;
-
- virtual void STDMETHODCALLTYPE GSGetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE GSGetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE OMGetRenderTargets(
- UINT NumViews,
- ID3D10RenderTargetView **ppRenderTargetViews,
- ID3D10DepthStencilView **ppDepthStencilView) = 0;
-
- virtual void STDMETHODCALLTYPE OMGetBlendState(
- ID3D10BlendState **ppBlendState,
- FLOAT BlendFactor[4],
- UINT *pSampleMask) = 0;
-
- virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
- ID3D10DepthStencilState **ppDepthStencilState,
- UINT *pStencilRef) = 0;
-
- virtual void STDMETHODCALLTYPE SOGetTargets(
- UINT NumBuffers,
- ID3D10Buffer **ppSOTargets,
- UINT *pOffsets) = 0;
-
- virtual void STDMETHODCALLTYPE RSGetState(
- ID3D10RasterizerState **ppRasterizerState) = 0;
-
- virtual void STDMETHODCALLTYPE RSGetViewports(
- UINT *NumViewports,
- D3D10_VIEWPORT *pViewports) = 0;
-
- virtual void STDMETHODCALLTYPE RSGetScissorRects(
- UINT *NumRects,
- D3D10_RECT *pRects) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
- UINT RaiseFlags) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetExceptionMode(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
- REFGUID guid,
- UINT *pDataSize,
- void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
- REFGUID guid,
- UINT DataSize,
- const void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
- REFGUID guid,
- const IUnknown *pData) = 0;
-
- virtual void STDMETHODCALLTYPE ClearState(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE Flush(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
- const D3D10_BUFFER_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Buffer **ppBuffer) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
- const D3D10_TEXTURE1D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture1D **ppTexture1D) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
- const D3D10_TEXTURE2D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture2D **ppTexture2D) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
- const D3D10_TEXTURE3D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture3D **ppTexture3D) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
- ID3D10Resource *pResource,
- const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
- ID3D10ShaderResourceView **ppSRView) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
- ID3D10Resource *pResource,
- const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
- ID3D10RenderTargetView **ppRTView) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
- ID3D10Resource *pResource,
- const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
- ID3D10DepthStencilView **ppDepthStencilView) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
- const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
- UINT NumElements,
- const void *pShaderBytecodeWithInputSignature,
- SIZE_T BytecodeLength,
- ID3D10InputLayout **ppInputLayout) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10VertexShader **ppVertexShader) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10GeometryShader **ppGeometryShader) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
- UINT NumEntries,
- UINT OutputStreamStride,
- ID3D10GeometryShader **ppGeometryShader) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10PixelShader **ppPixelShader) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
- const D3D10_BLEND_DESC *pBlendStateDesc,
- ID3D10BlendState **ppBlendState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
- const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
- ID3D10DepthStencilState **ppDepthStencilState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
- const D3D10_RASTERIZER_DESC *pRasterizerDesc,
- ID3D10RasterizerState **ppRasterizerState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
- const D3D10_SAMPLER_DESC *pSamplerDesc,
- ID3D10SamplerState **ppSamplerState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateQuery(
- const D3D10_QUERY_DESC *pQueryDesc,
- ID3D10Query **ppQuery) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
- const D3D10_QUERY_DESC *pPredicateDesc,
- ID3D10Predicate **ppPredicate) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCounter(
- const D3D10_COUNTER_DESC *pCounterDesc,
- ID3D10Counter **ppCounter) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
- DXGI_FORMAT Format,
- UINT *pFormatSupport) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
- DXGI_FORMAT Format,
- UINT SampleCount,
- UINT *pNumQualityLevels) = 0;
-
- virtual void STDMETHODCALLTYPE CheckCounterInfo(
- D3D10_COUNTER_INFO *pCounterInfo) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CheckCounter(
- const D3D10_COUNTER_DESC *pDesc,
- D3D10_COUNTER_TYPE *pType,
- UINT *pActiveCounters,
- LPSTR szName,
- UINT *pNameLength,
- LPSTR szUnits,
- UINT *pUnitsLength,
- LPSTR szDescription,
- UINT *pDescriptionLength) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetCreationFlags(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
- HANDLE hResource,
- REFIID ReturnedInterface,
- void **ppResource) = 0;
-
- virtual void STDMETHODCALLTYPE SetTextFilterSize(
- UINT Width,
- UINT Height) = 0;
-
- virtual void STDMETHODCALLTYPE GetTextFilterSize(
- UINT *pWidth,
- UINT *pHeight) = 0;
-
-};
-#else
-typedef struct ID3D10DeviceVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Device* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Device* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Device* This);
-
- /*** ID3D10Device methods ***/
- void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *PSSetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *PSSetShader)(
- ID3D10Device* This,
- ID3D10PixelShader *pPixelShader);
-
- void (STDMETHODCALLTYPE *PSSetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-
- void (STDMETHODCALLTYPE *VSSetShader)(
- ID3D10Device* This,
- ID3D10VertexShader *pVertexShader);
-
- void (STDMETHODCALLTYPE *DrawIndexed)(
- ID3D10Device* This,
- UINT IndexCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation);
-
- void (STDMETHODCALLTYPE *Draw)(
- ID3D10Device* This,
- UINT VertexCount,
- UINT StartVertexLocation);
-
- void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *IASetInputLayout)(
- ID3D10Device* This,
- ID3D10InputLayout *pInputLayout);
-
- void (STDMETHODCALLTYPE *IASetVertexBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppVertexBuffers,
- const UINT *pStrides,
- const UINT *pOffsets);
-
- void (STDMETHODCALLTYPE *IASetIndexBuffer)(
- ID3D10Device* This,
- ID3D10Buffer *pIndexBuffer,
- DXGI_FORMAT Format,
- UINT Offset);
-
- void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
- ID3D10Device* This,
- UINT IndexCountPerInstance,
- UINT InstanceCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation,
- UINT StartInstanceLocation);
-
- void (STDMETHODCALLTYPE *DrawInstanced)(
- ID3D10Device* This,
- UINT VertexCountPerInstance,
- UINT InstanceCount,
- UINT StartVertexLocation,
- UINT StartInstanceLocation);
-
- void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *GSSetShader)(
- ID3D10Device* This,
- ID3D10GeometryShader *pShader);
-
- void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
- ID3D10Device* This,
- D3D10_PRIMITIVE_TOPOLOGY Topology);
-
- void (STDMETHODCALLTYPE *VSSetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *VSSetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-
- void (STDMETHODCALLTYPE *SetPredication)(
- ID3D10Device* This,
- ID3D10Predicate *pPredicate,
- BOOL PredicateValue);
-
- void (STDMETHODCALLTYPE *GSSetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *GSSetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-
- void (STDMETHODCALLTYPE *OMSetRenderTargets)(
- ID3D10Device* This,
- UINT NumViews,
- ID3D10RenderTargetView *const *ppRenderTargetViews,
- ID3D10DepthStencilView *pDepthStencilView);
-
- void (STDMETHODCALLTYPE *OMSetBlendState)(
- ID3D10Device* This,
- ID3D10BlendState *pBlendState,
- const FLOAT BlendFactor[4],
- UINT SampleMask);
-
- void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
- ID3D10Device* This,
- ID3D10DepthStencilState *pDepthStencilState,
- UINT StencilRef);
-
- void (STDMETHODCALLTYPE *SOSetTargets)(
- ID3D10Device* This,
- UINT NumBuffers,
- ID3D10Buffer *const *ppSOTargets,
- const UINT *pOffsets);
-
- void (STDMETHODCALLTYPE *DrawAuto)(
- ID3D10Device* This);
-
- void (STDMETHODCALLTYPE *RSSetState)(
- ID3D10Device* This,
- ID3D10RasterizerState *pRasterizerState);
-
- void (STDMETHODCALLTYPE *RSSetViewports)(
- ID3D10Device* This,
- UINT NumViewports,
- const D3D10_VIEWPORT *pViewports);
-
- void (STDMETHODCALLTYPE *RSSetScissorRects)(
- ID3D10Device* This,
- UINT NumRects,
- const D3D10_RECT *pRects);
-
- void (STDMETHODCALLTYPE *CopySubresourceRegion)(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- const D3D10_BOX *pSrcBox);
-
- void (STDMETHODCALLTYPE *CopyResource)(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- ID3D10Resource *pSrcResource);
-
- void (STDMETHODCALLTYPE *UpdateSubresource)(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- const D3D10_BOX *pDstBox,
- const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-
- void (STDMETHODCALLTYPE *ClearRenderTargetView)(
- ID3D10Device* This,
- ID3D10RenderTargetView *pRenderTargetView,
- const FLOAT ColorRGBA[4]);
-
- void (STDMETHODCALLTYPE *ClearDepthStencilView)(
- ID3D10Device* This,
- ID3D10DepthStencilView *pDepthStencilView,
- UINT ClearFlags,
- FLOAT Depth,
- UINT8 Stencil);
-
- void (STDMETHODCALLTYPE *GenerateMips)(
- ID3D10Device* This,
- ID3D10ShaderResourceView *pShaderResourceView);
-
- void (STDMETHODCALLTYPE *ResolveSubresource)(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- DXGI_FORMAT Format);
-
- void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *PSGetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *PSGetShader)(
- ID3D10Device* This,
- ID3D10PixelShader **ppPixelShader);
-
- void (STDMETHODCALLTYPE *PSGetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-
- void (STDMETHODCALLTYPE *VSGetShader)(
- ID3D10Device* This,
- ID3D10VertexShader **ppVertexShader);
-
- void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *IAGetInputLayout)(
- ID3D10Device* This,
- ID3D10InputLayout **ppInputLayout);
-
- void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppVertexBuffers,
- UINT *pStrides,
- UINT *pOffsets);
-
- void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
- ID3D10Device* This,
- ID3D10Buffer **pIndexBuffer,
- DXGI_FORMAT *Format,
- UINT *Offset);
-
- void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *GSGetShader)(
- ID3D10Device* This,
- ID3D10GeometryShader **ppGeometryShader);
-
- void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
- ID3D10Device* This,
- D3D10_PRIMITIVE_TOPOLOGY *pTopology);
-
- void (STDMETHODCALLTYPE *VSGetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *VSGetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-
- void (STDMETHODCALLTYPE *GetPredication)(
- ID3D10Device* This,
- ID3D10Predicate **ppPredicate,
- BOOL *pPredicateValue);
-
- void (STDMETHODCALLTYPE *GSGetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *GSGetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-
- void (STDMETHODCALLTYPE *OMGetRenderTargets)(
- ID3D10Device* This,
- UINT NumViews,
- ID3D10RenderTargetView **ppRenderTargetViews,
- ID3D10DepthStencilView **ppDepthStencilView);
-
- void (STDMETHODCALLTYPE *OMGetBlendState)(
- ID3D10Device* This,
- ID3D10BlendState **ppBlendState,
- FLOAT BlendFactor[4],
- UINT *pSampleMask);
-
- void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
- ID3D10Device* This,
- ID3D10DepthStencilState **ppDepthStencilState,
- UINT *pStencilRef);
-
- void (STDMETHODCALLTYPE *SOGetTargets)(
- ID3D10Device* This,
- UINT NumBuffers,
- ID3D10Buffer **ppSOTargets,
- UINT *pOffsets);
-
- void (STDMETHODCALLTYPE *RSGetState)(
- ID3D10Device* This,
- ID3D10RasterizerState **ppRasterizerState);
-
- void (STDMETHODCALLTYPE *RSGetViewports)(
- ID3D10Device* This,
- UINT *NumViewports,
- D3D10_VIEWPORT *pViewports);
-
- void (STDMETHODCALLTYPE *RSGetScissorRects)(
- ID3D10Device* This,
- UINT *NumRects,
- D3D10_RECT *pRects);
-
- HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
- ID3D10Device* This);
-
- HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
- ID3D10Device* This,
- UINT RaiseFlags);
-
- UINT (STDMETHODCALLTYPE *GetExceptionMode)(
- ID3D10Device* This);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Device* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Device* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Device* This,
- REFGUID guid,
- const IUnknown *pData);
-
- void (STDMETHODCALLTYPE *ClearState)(
- ID3D10Device* This);
-
- void (STDMETHODCALLTYPE *Flush)(
- ID3D10Device* This);
-
- HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
- ID3D10Device* This,
- const D3D10_BUFFER_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Buffer **ppBuffer);
-
- HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
- ID3D10Device* This,
- const D3D10_TEXTURE1D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture1D **ppTexture1D);
-
- HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
- ID3D10Device* This,
- const D3D10_TEXTURE2D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture2D **ppTexture2D);
-
- HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
- ID3D10Device* This,
- const D3D10_TEXTURE3D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture3D **ppTexture3D);
-
- HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
- ID3D10ShaderResourceView **ppSRView);
-
- HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
- ID3D10RenderTargetView **ppRTView);
-
- HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
- ID3D10DepthStencilView **ppDepthStencilView);
-
- HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
- ID3D10Device* This,
- const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
- UINT NumElements,
- const void *pShaderBytecodeWithInputSignature,
- SIZE_T BytecodeLength,
- ID3D10InputLayout **ppInputLayout);
-
- HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10VertexShader **ppVertexShader);
-
- HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10GeometryShader **ppGeometryShader);
-
- HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
- UINT NumEntries,
- UINT OutputStreamStride,
- ID3D10GeometryShader **ppGeometryShader);
-
- HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10PixelShader **ppPixelShader);
-
- HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
- ID3D10Device* This,
- const D3D10_BLEND_DESC *pBlendStateDesc,
- ID3D10BlendState **ppBlendState);
-
- HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
- ID3D10Device* This,
- const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
- ID3D10DepthStencilState **ppDepthStencilState);
-
- HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
- ID3D10Device* This,
- const D3D10_RASTERIZER_DESC *pRasterizerDesc,
- ID3D10RasterizerState **ppRasterizerState);
-
- HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
- ID3D10Device* This,
- const D3D10_SAMPLER_DESC *pSamplerDesc,
- ID3D10SamplerState **ppSamplerState);
-
- HRESULT (STDMETHODCALLTYPE *CreateQuery)(
- ID3D10Device* This,
- const D3D10_QUERY_DESC *pQueryDesc,
- ID3D10Query **ppQuery);
-
- HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
- ID3D10Device* This,
- const D3D10_QUERY_DESC *pPredicateDesc,
- ID3D10Predicate **ppPredicate);
-
- HRESULT (STDMETHODCALLTYPE *CreateCounter)(
- ID3D10Device* This,
- const D3D10_COUNTER_DESC *pCounterDesc,
- ID3D10Counter **ppCounter);
-
- HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
- ID3D10Device* This,
- DXGI_FORMAT Format,
- UINT *pFormatSupport);
-
- HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
- ID3D10Device* This,
- DXGI_FORMAT Format,
- UINT SampleCount,
- UINT *pNumQualityLevels);
-
- void (STDMETHODCALLTYPE *CheckCounterInfo)(
- ID3D10Device* This,
- D3D10_COUNTER_INFO *pCounterInfo);
-
- HRESULT (STDMETHODCALLTYPE *CheckCounter)(
- ID3D10Device* This,
- const D3D10_COUNTER_DESC *pDesc,
- D3D10_COUNTER_TYPE *pType,
- UINT *pActiveCounters,
- LPSTR szName,
- UINT *pNameLength,
- LPSTR szUnits,
- UINT *pUnitsLength,
- LPSTR szDescription,
- UINT *pDescriptionLength);
-
- UINT (STDMETHODCALLTYPE *GetCreationFlags)(
- ID3D10Device* This);
-
- HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
- ID3D10Device* This,
- HANDLE hResource,
- REFIID ReturnedInterface,
- void **ppResource);
-
- void (STDMETHODCALLTYPE *SetTextFilterSize)(
- ID3D10Device* This,
- UINT Width,
- UINT Height);
-
- void (STDMETHODCALLTYPE *GetTextFilterSize)(
- ID3D10Device* This,
- UINT *pWidth,
- UINT *pHeight);
-
- END_INTERFACE
-} ID3D10DeviceVtbl;
-interface ID3D10Device {
- CONST_VTBL ID3D10DeviceVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Device_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Device_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10Device methods ***/
-#define ID3D10Device_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_PSSetShader(This,pPixelShader) (This)->lpVtbl->PSSetShader(This,pPixelShader)
-#define ID3D10Device_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_VSSetShader(This,pVertexShader) (This)->lpVtbl->VSSetShader(This,pVertexShader)
-#define ID3D10Device_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
-#define ID3D10Device_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
-#define ID3D10Device_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
-#define ID3D10Device_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
-#define ID3D10Device_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
-#define ID3D10Device_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
-#define ID3D10Device_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
-#define ID3D10Device_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_GSSetShader(This,pShader) (This)->lpVtbl->GSSetShader(This,pShader)
-#define ID3D10Device_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
-#define ID3D10Device_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
-#define ID3D10Device_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
-#define ID3D10Device_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
-#define ID3D10Device_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
-#define ID3D10Device_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
-#define ID3D10Device_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
-#define ID3D10Device_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
-#define ID3D10Device_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
-#define ID3D10Device_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
-#define ID3D10Device_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
-#define ID3D10Device_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
-#define ID3D10Device_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
-#define ID3D10Device_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
-#define ID3D10Device_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
-#define ID3D10Device_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
-#define ID3D10Device_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
-#define ID3D10Device_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_PSGetShader(This,ppPixelShader) (This)->lpVtbl->PSGetShader(This,ppPixelShader)
-#define ID3D10Device_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_VSGetShader(This,ppVertexShader) (This)->lpVtbl->VSGetShader(This,ppVertexShader)
-#define ID3D10Device_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
-#define ID3D10Device_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
-#define ID3D10Device_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
-#define ID3D10Device_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_GSGetShader(This,ppGeometryShader) (This)->lpVtbl->GSGetShader(This,ppGeometryShader)
-#define ID3D10Device_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
-#define ID3D10Device_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
-#define ID3D10Device_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
-#define ID3D10Device_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
-#define ID3D10Device_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
-#define ID3D10Device_SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets)
-#define ID3D10Device_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
-#define ID3D10Device_RSGetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,NumViewports,pViewports)
-#define ID3D10Device_RSGetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,NumRects,pRects)
-#define ID3D10Device_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
-#define ID3D10Device_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
-#define ID3D10Device_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
-#define ID3D10Device_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Device_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Device_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#define ID3D10Device_ClearState(This) (This)->lpVtbl->ClearState(This)
-#define ID3D10Device_Flush(This) (This)->lpVtbl->Flush(This)
-#define ID3D10Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
-#define ID3D10Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
-#define ID3D10Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
-#define ID3D10Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
-#define ID3D10Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
-#define ID3D10Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
-#define ID3D10Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
-#define ID3D10Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
-#define ID3D10Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader)
-#define ID3D10Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader)
-#define ID3D10Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader)
-#define ID3D10Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader)
-#define ID3D10Device_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
-#define ID3D10Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
-#define ID3D10Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
-#define ID3D10Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
-#define ID3D10Device_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
-#define ID3D10Device_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
-#define ID3D10Device_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
-#define ID3D10Device_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
-#define ID3D10Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
-#define ID3D10Device_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
-#define ID3D10Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
-#define ID3D10Device_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
-#define ID3D10Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
-#define ID3D10Device_SetTextFilterSize(This,Width,Height) (This)->lpVtbl->SetTextFilterSize(This,Width,Height)
-#define ID3D10Device_GetTextFilterSize(This,pWidth,pHeight) (This)->lpVtbl->GetTextFilterSize(This,pWidth,pHeight)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Device_VSSetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-void __RPC_STUB ID3D10Device_VSSetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSSetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_PSSetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSSetShader_Proxy(
- ID3D10Device* This,
- ID3D10PixelShader *pPixelShader);
-void __RPC_STUB ID3D10Device_PSSetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSSetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-void __RPC_STUB ID3D10Device_PSSetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSSetShader_Proxy(
- ID3D10Device* This,
- ID3D10VertexShader *pVertexShader);
-void __RPC_STUB ID3D10Device_VSSetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_DrawIndexed_Proxy(
- ID3D10Device* This,
- UINT IndexCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation);
-void __RPC_STUB ID3D10Device_DrawIndexed_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_Draw_Proxy(
- ID3D10Device* This,
- UINT VertexCount,
- UINT StartVertexLocation);
-void __RPC_STUB ID3D10Device_Draw_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSSetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-void __RPC_STUB ID3D10Device_PSSetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IASetInputLayout_Proxy(
- ID3D10Device* This,
- ID3D10InputLayout *pInputLayout);
-void __RPC_STUB ID3D10Device_IASetInputLayout_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IASetVertexBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppVertexBuffers,
- const UINT *pStrides,
- const UINT *pOffsets);
-void __RPC_STUB ID3D10Device_IASetVertexBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IASetIndexBuffer_Proxy(
- ID3D10Device* This,
- ID3D10Buffer *pIndexBuffer,
- DXGI_FORMAT Format,
- UINT Offset);
-void __RPC_STUB ID3D10Device_IASetIndexBuffer_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_DrawIndexedInstanced_Proxy(
- ID3D10Device* This,
- UINT IndexCountPerInstance,
- UINT InstanceCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation,
- UINT StartInstanceLocation);
-void __RPC_STUB ID3D10Device_DrawIndexedInstanced_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_DrawInstanced_Proxy(
- ID3D10Device* This,
- UINT VertexCountPerInstance,
- UINT InstanceCount,
- UINT StartVertexLocation,
- UINT StartInstanceLocation);
-void __RPC_STUB ID3D10Device_DrawInstanced_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSSetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-void __RPC_STUB ID3D10Device_GSSetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSSetShader_Proxy(
- ID3D10Device* This,
- ID3D10GeometryShader *pShader);
-void __RPC_STUB ID3D10Device_GSSetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IASetPrimitiveTopology_Proxy(
- ID3D10Device* This,
- D3D10_PRIMITIVE_TOPOLOGY Topology);
-void __RPC_STUB ID3D10Device_IASetPrimitiveTopology_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSSetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_VSSetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSSetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-void __RPC_STUB ID3D10Device_VSSetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_SetPredication_Proxy(
- ID3D10Device* This,
- ID3D10Predicate *pPredicate,
- BOOL PredicateValue);
-void __RPC_STUB ID3D10Device_SetPredication_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSSetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_GSSetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSSetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-void __RPC_STUB ID3D10Device_GSSetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMSetRenderTargets_Proxy(
- ID3D10Device* This,
- UINT NumViews,
- ID3D10RenderTargetView *const *ppRenderTargetViews,
- ID3D10DepthStencilView *pDepthStencilView);
-void __RPC_STUB ID3D10Device_OMSetRenderTargets_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMSetBlendState_Proxy(
- ID3D10Device* This,
- ID3D10BlendState *pBlendState,
- const FLOAT BlendFactor[4],
- UINT SampleMask);
-void __RPC_STUB ID3D10Device_OMSetBlendState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMSetDepthStencilState_Proxy(
- ID3D10Device* This,
- ID3D10DepthStencilState *pDepthStencilState,
- UINT StencilRef);
-void __RPC_STUB ID3D10Device_OMSetDepthStencilState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_SOSetTargets_Proxy(
- ID3D10Device* This,
- UINT NumBuffers,
- ID3D10Buffer *const *ppSOTargets,
- const UINT *pOffsets);
-void __RPC_STUB ID3D10Device_SOSetTargets_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_DrawAuto_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_DrawAuto_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSSetState_Proxy(
- ID3D10Device* This,
- ID3D10RasterizerState *pRasterizerState);
-void __RPC_STUB ID3D10Device_RSSetState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSSetViewports_Proxy(
- ID3D10Device* This,
- UINT NumViewports,
- const D3D10_VIEWPORT *pViewports);
-void __RPC_STUB ID3D10Device_RSSetViewports_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSSetScissorRects_Proxy(
- ID3D10Device* This,
- UINT NumRects,
- const D3D10_RECT *pRects);
-void __RPC_STUB ID3D10Device_RSSetScissorRects_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_CopySubresourceRegion_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- const D3D10_BOX *pSrcBox);
-void __RPC_STUB ID3D10Device_CopySubresourceRegion_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_CopyResource_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- ID3D10Resource *pSrcResource);
-void __RPC_STUB ID3D10Device_CopyResource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_UpdateSubresource_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- const D3D10_BOX *pDstBox,
- const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-void __RPC_STUB ID3D10Device_UpdateSubresource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_ClearRenderTargetView_Proxy(
- ID3D10Device* This,
- ID3D10RenderTargetView *pRenderTargetView,
- const FLOAT ColorRGBA[4]);
-void __RPC_STUB ID3D10Device_ClearRenderTargetView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_ClearDepthStencilView_Proxy(
- ID3D10Device* This,
- ID3D10DepthStencilView *pDepthStencilView,
- UINT ClearFlags,
- FLOAT Depth,
- UINT8 Stencil);
-void __RPC_STUB ID3D10Device_ClearDepthStencilView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GenerateMips_Proxy(
- ID3D10Device* This,
- ID3D10ShaderResourceView *pShaderResourceView);
-void __RPC_STUB ID3D10Device_GenerateMips_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_ResolveSubresource_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- DXGI_FORMAT Format);
-void __RPC_STUB ID3D10Device_ResolveSubresource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSGetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-void __RPC_STUB ID3D10Device_VSGetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSGetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_PSGetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSGetShader_Proxy(
- ID3D10Device* This,
- ID3D10PixelShader **ppPixelShader);
-void __RPC_STUB ID3D10Device_PSGetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSGetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-void __RPC_STUB ID3D10Device_PSGetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSGetShader_Proxy(
- ID3D10Device* This,
- ID3D10VertexShader **ppVertexShader);
-void __RPC_STUB ID3D10Device_VSGetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSGetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-void __RPC_STUB ID3D10Device_PSGetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IAGetInputLayout_Proxy(
- ID3D10Device* This,
- ID3D10InputLayout **ppInputLayout);
-void __RPC_STUB ID3D10Device_IAGetInputLayout_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IAGetVertexBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppVertexBuffers,
- UINT *pStrides,
- UINT *pOffsets);
-void __RPC_STUB ID3D10Device_IAGetVertexBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IAGetIndexBuffer_Proxy(
- ID3D10Device* This,
- ID3D10Buffer **pIndexBuffer,
- DXGI_FORMAT *Format,
- UINT *Offset);
-void __RPC_STUB ID3D10Device_IAGetIndexBuffer_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSGetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-void __RPC_STUB ID3D10Device_GSGetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSGetShader_Proxy(
- ID3D10Device* This,
- ID3D10GeometryShader **ppGeometryShader);
-void __RPC_STUB ID3D10Device_GSGetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IAGetPrimitiveTopology_Proxy(
- ID3D10Device* This,
- D3D10_PRIMITIVE_TOPOLOGY *pTopology);
-void __RPC_STUB ID3D10Device_IAGetPrimitiveTopology_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSGetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_VSGetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSGetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-void __RPC_STUB ID3D10Device_VSGetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GetPredication_Proxy(
- ID3D10Device* This,
- ID3D10Predicate **ppPredicate,
- BOOL *pPredicateValue);
-void __RPC_STUB ID3D10Device_GetPredication_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSGetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_GSGetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSGetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-void __RPC_STUB ID3D10Device_GSGetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMGetRenderTargets_Proxy(
- ID3D10Device* This,
- UINT NumViews,
- ID3D10RenderTargetView **ppRenderTargetViews,
- ID3D10DepthStencilView **ppDepthStencilView);
-void __RPC_STUB ID3D10Device_OMGetRenderTargets_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMGetBlendState_Proxy(
- ID3D10Device* This,
- ID3D10BlendState **ppBlendState,
- FLOAT BlendFactor[4],
- UINT *pSampleMask);
-void __RPC_STUB ID3D10Device_OMGetBlendState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMGetDepthStencilState_Proxy(
- ID3D10Device* This,
- ID3D10DepthStencilState **ppDepthStencilState,
- UINT *pStencilRef);
-void __RPC_STUB ID3D10Device_OMGetDepthStencilState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_SOGetTargets_Proxy(
- ID3D10Device* This,
- UINT NumBuffers,
- ID3D10Buffer **ppSOTargets,
- UINT *pOffsets);
-void __RPC_STUB ID3D10Device_SOGetTargets_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSGetState_Proxy(
- ID3D10Device* This,
- ID3D10RasterizerState **ppRasterizerState);
-void __RPC_STUB ID3D10Device_RSGetState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSGetViewports_Proxy(
- ID3D10Device* This,
- UINT *NumViewports,
- D3D10_VIEWPORT *pViewports);
-void __RPC_STUB ID3D10Device_RSGetViewports_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSGetScissorRects_Proxy(
- ID3D10Device* This,
- UINT *NumRects,
- D3D10_RECT *pRects);
-void __RPC_STUB ID3D10Device_RSGetScissorRects_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_GetDeviceRemovedReason_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_GetDeviceRemovedReason_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_SetExceptionMode_Proxy(
- ID3D10Device* This,
- UINT RaiseFlags);
-void __RPC_STUB ID3D10Device_SetExceptionMode_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-UINT STDMETHODCALLTYPE ID3D10Device_GetExceptionMode_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_GetExceptionMode_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_GetPrivateData_Proxy(
- ID3D10Device* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-void __RPC_STUB ID3D10Device_GetPrivateData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_SetPrivateData_Proxy(
- ID3D10Device* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-void __RPC_STUB ID3D10Device_SetPrivateData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_SetPrivateDataInterface_Proxy(
- ID3D10Device* This,
- REFGUID guid,
- const IUnknown *pData);
-void __RPC_STUB ID3D10Device_SetPrivateDataInterface_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_ClearState_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_ClearState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_Flush_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_Flush_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateBuffer_Proxy(
- ID3D10Device* This,
- const D3D10_BUFFER_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Buffer **ppBuffer);
-void __RPC_STUB ID3D10Device_CreateBuffer_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateTexture1D_Proxy(
- ID3D10Device* This,
- const D3D10_TEXTURE1D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture1D **ppTexture1D);
-void __RPC_STUB ID3D10Device_CreateTexture1D_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateTexture2D_Proxy(
- ID3D10Device* This,
- const D3D10_TEXTURE2D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture2D **ppTexture2D);
-void __RPC_STUB ID3D10Device_CreateTexture2D_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateTexture3D_Proxy(
- ID3D10Device* This,
- const D3D10_TEXTURE3D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture3D **ppTexture3D);
-void __RPC_STUB ID3D10Device_CreateTexture3D_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateShaderResourceView_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
- ID3D10ShaderResourceView **ppSRView);
-void __RPC_STUB ID3D10Device_CreateShaderResourceView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateRenderTargetView_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
- ID3D10RenderTargetView **ppRTView);
-void __RPC_STUB ID3D10Device_CreateRenderTargetView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateDepthStencilView_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
- ID3D10DepthStencilView **ppDepthStencilView);
-void __RPC_STUB ID3D10Device_CreateDepthStencilView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateInputLayout_Proxy(
- ID3D10Device* This,
- const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
- UINT NumElements,
- const void *pShaderBytecodeWithInputSignature,
- SIZE_T BytecodeLength,
- ID3D10InputLayout **ppInputLayout);
-void __RPC_STUB ID3D10Device_CreateInputLayout_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateVertexShader_Proxy(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10VertexShader **ppVertexShader);
-void __RPC_STUB ID3D10Device_CreateVertexShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateGeometryShader_Proxy(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10GeometryShader **ppGeometryShader);
-void __RPC_STUB ID3D10Device_CreateGeometryShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateGeometryShaderWithStreamOutput_Proxy(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
- UINT NumEntries,
- UINT OutputStreamStride,
- ID3D10GeometryShader **ppGeometryShader);
-void __RPC_STUB ID3D10Device_CreateGeometryShaderWithStreamOutput_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreatePixelShader_Proxy(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10PixelShader **ppPixelShader);
-void __RPC_STUB ID3D10Device_CreatePixelShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateBlendState_Proxy(
- ID3D10Device* This,
- const D3D10_BLEND_DESC *pBlendStateDesc,
- ID3D10BlendState **ppBlendState);
-void __RPC_STUB ID3D10Device_CreateBlendState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateDepthStencilState_Proxy(
- ID3D10Device* This,
- const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
- ID3D10DepthStencilState **ppDepthStencilState);
-void __RPC_STUB ID3D10Device_CreateDepthStencilState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateRasterizerState_Proxy(
- ID3D10Device* This,
- const D3D10_RASTERIZER_DESC *pRasterizerDesc,
- ID3D10RasterizerState **ppRasterizerState);
-void __RPC_STUB ID3D10Device_CreateRasterizerState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateSamplerState_Proxy(
- ID3D10Device* This,
- const D3D10_SAMPLER_DESC *pSamplerDesc,
- ID3D10SamplerState **ppSamplerState);
-void __RPC_STUB ID3D10Device_CreateSamplerState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateQuery_Proxy(
- ID3D10Device* This,
- const D3D10_QUERY_DESC *pQueryDesc,
- ID3D10Query **ppQuery);
-void __RPC_STUB ID3D10Device_CreateQuery_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreatePredicate_Proxy(
- ID3D10Device* This,
- const D3D10_QUERY_DESC *pPredicateDesc,
- ID3D10Predicate **ppPredicate);
-void __RPC_STUB ID3D10Device_CreatePredicate_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateCounter_Proxy(
- ID3D10Device* This,
- const D3D10_COUNTER_DESC *pCounterDesc,
- ID3D10Counter **ppCounter);
-void __RPC_STUB ID3D10Device_CreateCounter_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CheckFormatSupport_Proxy(
- ID3D10Device* This,
- DXGI_FORMAT Format,
- UINT *pFormatSupport);
-void __RPC_STUB ID3D10Device_CheckFormatSupport_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CheckMultisampleQualityLevels_Proxy(
- ID3D10Device* This,
- DXGI_FORMAT Format,
- UINT SampleCount,
- UINT *pNumQualityLevels);
-void __RPC_STUB ID3D10Device_CheckMultisampleQualityLevels_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_CheckCounterInfo_Proxy(
- ID3D10Device* This,
- D3D10_COUNTER_INFO *pCounterInfo);
-void __RPC_STUB ID3D10Device_CheckCounterInfo_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CheckCounter_Proxy(
- ID3D10Device* This,
- const D3D10_COUNTER_DESC *pDesc,
- D3D10_COUNTER_TYPE *pType,
- UINT *pActiveCounters,
- LPSTR szName,
- UINT *pNameLength,
- LPSTR szUnits,
- UINT *pUnitsLength,
- LPSTR szDescription,
- UINT *pDescriptionLength);
-void __RPC_STUB ID3D10Device_CheckCounter_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-UINT STDMETHODCALLTYPE ID3D10Device_GetCreationFlags_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_GetCreationFlags_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_OpenSharedResource_Proxy(
- ID3D10Device* This,
- HANDLE hResource,
- REFIID ReturnedInterface,
- void **ppResource);
-void __RPC_STUB ID3D10Device_OpenSharedResource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_SetTextFilterSize_Proxy(
- ID3D10Device* This,
- UINT Width,
- UINT Height);
-void __RPC_STUB ID3D10Device_SetTextFilterSize_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GetTextFilterSize_Proxy(
- ID3D10Device* This,
- UINT *pWidth,
- UINT *pHeight);
-void __RPC_STUB ID3D10Device_GetTextFilterSize_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Device_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Multithread interface
- */
-#ifndef __ID3D10Multithread_INTERFACE_DEFINED__
-#define __ID3D10Multithread_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Multithread, 0x9b7e4e00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Multithread : public IUnknown
-{
- virtual void STDMETHODCALLTYPE Enter(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE Leave(
- ) = 0;
-
- virtual BOOL STDMETHODCALLTYPE SetMultithreadProtected(
- BOOL bMTProtect) = 0;
-
- virtual BOOL STDMETHODCALLTYPE GetMultithreadProtected(
- ) = 0;
-
-};
-#else
-typedef struct ID3D10MultithreadVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Multithread* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Multithread* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Multithread* This);
-
- /*** ID3D10Multithread methods ***/
- void (STDMETHODCALLTYPE *Enter)(
- ID3D10Multithread* This);
-
- void (STDMETHODCALLTYPE *Leave)(
- ID3D10Multithread* This);
-
- BOOL (STDMETHODCALLTYPE *SetMultithreadProtected)(
- ID3D10Multithread* This,
- BOOL bMTProtect);
-
- BOOL (STDMETHODCALLTYPE *GetMultithreadProtected)(
- ID3D10Multithread* This);
-
- END_INTERFACE
-} ID3D10MultithreadVtbl;
-interface ID3D10Multithread {
- CONST_VTBL ID3D10MultithreadVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Multithread_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Multithread_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Multithread_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10Multithread methods ***/
-#define ID3D10Multithread_Enter(This) (This)->lpVtbl->Enter(This)
-#define ID3D10Multithread_Leave(This) (This)->lpVtbl->Leave(This)
-#define ID3D10Multithread_SetMultithreadProtected(This,bMTProtect) (This)->lpVtbl->SetMultithreadProtected(This,bMTProtect)
-#define ID3D10Multithread_GetMultithreadProtected(This) (This)->lpVtbl->GetMultithreadProtected(This)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Multithread_Enter_Proxy(
- ID3D10Multithread* This);
-void __RPC_STUB ID3D10Multithread_Enter_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Multithread_Leave_Proxy(
- ID3D10Multithread* This);
-void __RPC_STUB ID3D10Multithread_Leave_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-BOOL STDMETHODCALLTYPE ID3D10Multithread_SetMultithreadProtected_Proxy(
- ID3D10Multithread* This,
- BOOL bMTProtect);
-void __RPC_STUB ID3D10Multithread_SetMultithreadProtected_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-BOOL STDMETHODCALLTYPE ID3D10Multithread_GetMultithreadProtected_Proxy(
- ID3D10Multithread* This);
-void __RPC_STUB ID3D10Multithread_GetMultithreadProtected_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Multithread_INTERFACE_DEFINED__ */
-
-#include "d3d10misc.h"
-#include "d3d10shader.h"
-#include "d3d10effect.h"
-/* Begin additional prototypes for all interfaces */
-
-
-/* End additional prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WIDL_D3D10_H */
+++ /dev/null
-/*
- * Copyright 2007 Andras Kovacs
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-import "oaidl.idl";
-import "ocidl.idl";
-import "dxgi.idl";
-
-cpp_quote("#ifndef _D3D10_CONSTANTS")
-cpp_quote("#define _D3D10_CONSTANTS")
-const float D3D10_DEFAULT_BLEND_FACTOR_ALPHA = 1.0;
-const float D3D10_DEFAULT_BLEND_FACTOR_BLUE = 1.0;
-const float D3D10_DEFAULT_BLEND_FACTOR_GREEN = 1.0;
-const float D3D10_DEFAULT_BLEND_FACTOR_RED = 1.0;
-const float D3D10_DEFAULT_BORDER_COLOR_COMPONENT = 0.0;
-const float D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0;
-const float D3D10_DEFAULT_DEPTH_BIAS_CLAMP = 0.0;
-const float D3D10_DEFAULT_MAX_ANISOTROPY = 16.0;
-const float D3D10_DEFAULT_MIP_LOD_BIAS = 0.0;
-const float D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0;
-const float D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0;
-const float D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6;
-const float D3D10_FLOAT32_MAX = 3.402823466e+38;
-const float D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6;
-const float D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4;
-const float D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0;
-const float D3D10_FLOAT_TO_SRGB_OFFSET = 0.055;
-const float D3D10_FLOAT_TO_SRGB_SCALE_1 = 12.92;
-const float D3D10_FLOAT_TO_SRGB_SCALE_2 = 1.055;
-const float D3D10_FLOAT_TO_SRGB_THRESHOLD = 0.0031308;
-const float D3D10_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999;
-const float D3D10_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999;
-const float D3D10_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999;
-const float D3D10_FTOU_INSTRUCTION_MIN_INPUT = 0.0;
-const float D3D10_LINEAR_GAMMA = 1.0;
-const float D3D10_MAX_BORDER_COLOR_COMPONENT = 1.0;
-const float D3D10_MAX_DEPTH = 1.0;
-const float D3D10_MAX_POSITION_VALUE = 3.402823466e+34;
-const float D3D10_MIN_BORDER_COLOR_COMPONENT = 0.0;
-const float D3D10_MIN_DEPTH = 0.0;
-const float D3D10_MIP_LOD_BIAS_MAX = 15.99;
-const float D3D10_MIP_LOD_BIAS_MIN = -16.0;
-const float D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5;
-const float D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4;
-const float D3D10_SRGB_GAMMA = 2.2;
-const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92;
-const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055;
-const float D3D10_SRGB_TO_FLOAT_EXPONENT = 2.4;
-const float D3D10_SRGB_TO_FLOAT_OFFSET = 0.055;
-const float D3D10_SRGB_TO_FLOAT_THRESHOLD = 0.04045;
-const float D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5;
-const float D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0;
-const float D3D_SPEC_VERSION = 1.050005;
-const unsigned int D3D10_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff;
-const unsigned int D3D10_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff;
-const unsigned int D3D10_8BIT_INDEX_STRIP_CUT_VALUE = 0xff;
-const unsigned int D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
-const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_COUNT = 8;
-const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
-const unsigned int D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
-const unsigned int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
-const int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
-const int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
-const unsigned int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
-const unsigned int D3D10_DEFAULT_DEPTH_BIAS = 0;
-const unsigned int D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
-const unsigned int D3D10_DEFAULT_SAMPLE_MASK = 0xffffffff;
-const unsigned int D3D10_DEFAULT_SCISSOR_ENDX = 0;
-const unsigned int D3D10_DEFAULT_SCISSOR_ENDY = 0;
-const unsigned int D3D10_DEFAULT_SCISSOR_STARTX = 0;
-const unsigned int D3D10_DEFAULT_SCISSOR_STARTY = 0;
-const unsigned int D3D10_DEFAULT_STENCIL_READ_MASK = 0xff;
-const unsigned int D3D10_DEFAULT_STENCIL_REFERENCE = 0;
-const unsigned int D3D10_DEFAULT_STENCIL_WRITE_MASK = 0xff;
-const unsigned int D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
-const unsigned int D3D10_DEFAULT_VIEWPORT_HEIGHT = 0;
-const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTX = 0;
-const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTY = 0;
-const unsigned int D3D10_DEFAULT_VIEWPORT_WIDTH = 0;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT =32;
-const unsigned int D3D10_GS_INPUT_REGISTER_COUNT = 16;
-const unsigned int D3D10_GS_INPUT_REGISTER_READS_PER_INST = 2;
-const unsigned int D3D10_GS_INPUT_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_GS_INPUT_REGISTER_VERTICES = 6;
-const unsigned int D3D10_GS_OUTPUT_ELEMENTS = 32;
-const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_GS_OUTPUT_REGISTER_COUNT = 32;
-const unsigned int D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
-const unsigned int D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
-const unsigned int D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
-const unsigned int D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
-const unsigned int D3D10_IA_INSTANCE_ID_BIT_COUNT = 32;
-const unsigned int D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
-const unsigned int D3D10_IA_PRIMITIVE_ID_BIT_COUNT = 32;
-const unsigned int D3D10_IA_VERTEX_ID_BIT_COUNT = 32;
-const unsigned int D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 16;
-const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 64;
-const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 16;
-const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff;
-const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff;
-const unsigned int D3D10_MAX_MAXANISOTROPY = 16;
-const unsigned int D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
-const unsigned int D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17;
-const unsigned int D3D10_MIN_MAXANISOTROPY = 0;
-const unsigned int D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = 6;
-const unsigned int D3D10_MIP_LOD_RANGE_BIT_COUNT = 8;
-const unsigned int D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0;
-const unsigned int D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = 13;
-const unsigned int D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
-const unsigned int D3D10_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff;
-const unsigned int D3D10_PS_FRONTFACING_FALSE_VALUE = 0;
-const unsigned int D3D10_PS_FRONTFACING_TRUE_VALUE = 0xffffffff;
-const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_PS_INPUT_REGISTER_COUNT = 32;
-const unsigned int D3D10_PS_INPUT_REGISTER_READS_PER_INST = 2;
-const unsigned int D3D10_PS_INPUT_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
-const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
-const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_PS_OUTPUT_REGISTER_COUNT = 8;
-const unsigned int D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = 4096;
-const unsigned int D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
-const unsigned int D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
-const unsigned int D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = 4096;
-const unsigned int D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
-const unsigned int D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
-const unsigned int D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 8192;
-const unsigned int D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
-const unsigned int D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
-const unsigned int D3D10_REQ_MAXANISOTROPY = 16;
-const unsigned int D3D10_REQ_MIP_LEVELS = 14;
-const unsigned int D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
-const unsigned int D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = 4096;
-const unsigned int D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 8192;
-const unsigned int D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = 128;
-const unsigned int D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = 20;
-const unsigned int D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = 4096;
-const unsigned int D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 512;
-const unsigned int D3D10_REQ_TEXTURE1D_U_DIMENSION = 8192;
-const unsigned int D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 512;
-const unsigned int D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = 8192;
-const unsigned int D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
-const unsigned int D3D10_REQ_TEXTURECUBE_DIMENSION = 8192;
-const unsigned int D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
-const unsigned int D3D10_SHADER_MAJOR_VERSION = 4;
-const unsigned int D3D10_SHADER_MINOR_VERSION = 0;
-const unsigned int D3D10_SHIFT_INSTRUCTION_PAD_VALUE = 0;
-const unsigned int D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
-const unsigned int D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
-const unsigned int D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
-const unsigned int D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256;
-const unsigned int D3D10_SO_BUFFER_SLOT_COUNT = 4;
-const unsigned int D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff;
-const unsigned int D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1;
-const unsigned int D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64;
-const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
-const unsigned int D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
-const unsigned int D3D10_STANDARD_PIXEL_COMPONENT_COUNT = 128;
-const unsigned int D3D10_STANDARD_PIXEL_ELEMENT_COUNT = 32;
-const unsigned int D3D10_STANDARD_VECTOR_SIZE = 4;
-const unsigned int D3D10_STANDARD_VERTEX_ELEMENT_COUNT = 16;
-const unsigned int D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
-const unsigned int D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
-const unsigned int D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = 6;
-const unsigned int D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = 18;
-const unsigned int D3D10_UNBOUND_MEMORY_ACCESS_RESULT = 0;
-const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
-const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
-const unsigned int D3D10_VIEWPORT_BOUNDS_MAX = 16383;
-const int D3D10_VIEWPORT_BOUNDS_MIN = -16384;
-const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_VS_INPUT_REGISTER_COUNT = 16;
-const unsigned int D3D10_VS_INPUT_REGISTER_READS_PER_INST = 2;
-const unsigned int D3D10_VS_INPUT_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_VS_OUTPUT_REGISTER_COUNT = 16;
-const unsigned int D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10;
-const unsigned int D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25;
-const unsigned int D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25;
-const unsigned int D3D_MAJOR_VERSION = 10;
-const unsigned int D3D_MINOR_VERSION = 0;
-const unsigned int D3D_SPEC_DATE_DAY = 8;
-const unsigned int D3D_SPEC_DATE_MONTH = 8;
-const unsigned int D3D_SPEC_DATE_YEAR = 2006;
-cpp_quote("#endif")
-
-const unsigned int D3D10_APPEND_ALIGNED_ELEMENT = 0xffffffff;
-const unsigned int _FACD3D10 = 0x87;
-const unsigned int _FACD3D10DEBUG = _FACD3D10 + 1;
-const unsigned int D3D10_FILTER_TYPE_MASK = 0x3;
-const unsigned int D3D10_SDK_VERSION = 29;
-
-cpp_quote("#define MAKE_D3D10_HRESULT(code) MAKE_HRESULT( 1, _FACD3D10, code)")
-cpp_quote("#define MAKE_D3D10_STATUS(code) MAKE_HRESULT( 0, _FACD3D10, code)")
-cpp_quote("#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)")
-cpp_quote("#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)")
-
-typedef enum D3D10_BLEND {
- D3D10_BLEND_ZERO = 1,
- D3D10_BLEND_ONE = 2,
- D3D10_BLEND_SRC_COLOR = 3,
- D3D10_BLEND_INV_SRC_COLOR = 4,
- D3D10_BLEND_SRC_ALPHA = 5,
- D3D10_BLEND_INV_SRC_ALPHA = 6,
- D3D10_BLEND_DEST_ALPHA = 7,
- D3D10_BLEND_INV_DEST_ALPHA = 8,
- D3D10_BLEND_DEST_COLOR = 9,
- D3D10_BLEND_INV_DEST_COLOR = 10,
- D3D10_BLEND_SRC_ALPHA_SAT = 11,
- D3D10_BLEND_BLEND_FACTOR = 14,
- D3D10_BLEND_INV_BLEND_FACTOR = 15,
- D3D10_BLEND_SRC1_COLOR = 16,
- D3D10_BLEND_INV_SRC1_COLOR = 17,
- D3D10_BLEND_SRC1_ALPHA = 18,
- D3D10_BLEND_INV_SRC1_ALPHA = 19
-} D3D10_BLEND;
-
-typedef enum D3D10_BLEND_OP {
- D3D10_BLEND_OP_ADD = 1,
- D3D10_BLEND_OP_SUBTRACT,
- D3D10_BLEND_OP_REV_SUBTRACT,
- D3D10_BLEND_OP_MIN,
- D3D10_BLEND_OP_MAX,
-} D3D10_BLEND_OP;
-
-typedef struct D3D10_BLEND_DESC {
- BOOL AlphaToCoverageEnable;
- BOOL BlendEnable[8];
- D3D10_BLEND SrcBlend;
- D3D10_BLEND DestBlend;
- D3D10_BLEND_OP BlendOp;
- D3D10_BLEND SrcBlendAlpha;
- D3D10_BLEND DestBlendAlpha;
- D3D10_BLEND_OP BlendOpAlpha;
- UINT8 RenderTargetWriteMask[8];
-} D3D10_BLEND_DESC;
-
-typedef enum D3D10_DEPTH_WRITE_MASK {
- D3D10_DEPTH_WRITE_MASK_ZERO,
- D3D10_DEPTH_WRITE_MASK_ALL,
-} D3D10_DEPTH_WRITE_MASK;
-
-typedef enum D3D10_COMPARISON_FUNC {
- D3D10_COMPARISON_NEVER = 1,
- D3D10_COMPARISON_LESS,
- D3D10_COMPARISON_EQUAL,
- D3D10_COMPARISON_LESS_EQUAL,
- D3D10_COMPARISON_GREATER,
- D3D10_COMPARISON_NOT_EQUAL,
- D3D10_COMPARISON_GREATER_EQUAL,
- D3D10_COMPARISON_ALWAYS,
-} D3D10_COMPARISON_FUNC;
-
-typedef enum D3D10_STENCIL_OP {
- D3D10_STENCIL_OP_KEEP = 1,
- D3D10_STENCIL_OP_ZERO,
- D3D10_STENCIL_OP_REPLACE,
- D3D10_STENCIL_OP_INCR_SAT,
- D3D10_STENCIL_OP_DECR_SAT,
- D3D10_STENCIL_OP_INVERT,
- D3D10_STENCIL_OP_INCR,
- D3D10_STENCIL_OP_DECR,
-} D3D10_STENCIL_OP;
-
-typedef struct D3D10_DEPTH_STENCILOP_DESC {
- D3D10_STENCIL_OP StencilFailOp;
- D3D10_STENCIL_OP StencilDepthFailOp;
- D3D10_STENCIL_OP StencilPassOp;
- D3D10_COMPARISON_FUNC StencilFunc;
-} D3D10_DEPTH_STENCILOP_DESC;
-
-typedef struct D3D10_DEPTH_STENCIL_DESC {
- BOOL DepthEnable;
- D3D10_DEPTH_WRITE_MASK DepthWriteMask;
- D3D10_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D10_DEPTH_STENCILOP_DESC FrontFace;
- D3D10_DEPTH_STENCILOP_DESC BackFace;
-} D3D10_DEPTH_STENCIL_DESC;
-
-typedef enum D3D10_FILL_MODE {
- D3D10_FILL_WIREFRAME = 2,
- D3D10_FILL_SOLID,
-} D3D10_FILL_MODE;
-
-typedef enum D3D10_CULL_MODE {
- D3D10_CULL_NONE = 1,
- D3D10_CULL_FRONT,
- D3D10_CULL_BACK,
-} D3D10_CULL_MODE;
-
-typedef struct D3D10_RASTERIZER_DESC {
- D3D10_FILL_MODE FillMode;
- D3D10_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- INT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL ScissorEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
-} D3D10_RASTERIZER_DESC;
-
-typedef enum D3D10_FILTER {
- D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
- D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
- D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
- D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
- D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
- D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
- D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
- D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
- D3D10_FILTER_ANISOTROPIC = 0x55,
- D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
- D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
- D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
- D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
- D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
- D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
- D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
- D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
- D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
- D3D10_FILTER_TEXT_1BIT = 0x80000000
-} D3D10_FILTER;
-
-typedef enum D3D10_TEXTURE_ADDRESS_MODE {
- D3D10_TEXTURE_ADDRESS_WRAP = 1,
- D3D10_TEXTURE_ADDRESS_MIRROR,
- D3D10_TEXTURE_ADDRESS_CLAMP,
- D3D10_TEXTURE_ADDRESS_BORDER,
- D3D10_TEXTURE_ADDRESS_MIRROR_ONCE,
-} D3D10_TEXTURE_ADDRESS_MODE;
-
-typedef struct D3D10_SAMPLER_DESC {
- D3D10_FILTER Filter;
- D3D10_TEXTURE_ADDRESS_MODE AddressU;
- D3D10_TEXTURE_ADDRESS_MODE AddressV;
- D3D10_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D10_COMPARISON_FUNC ComparisonFunc;
- FLOAT BorderColor[4];
- FLOAT MinLOD;
- FLOAT MaxLOD;
-} D3D10_SAMPLER_DESC;
-
-typedef enum D3D10_COUNTER {
- D3D10_COUNTER_GPU_IDLE,
- D3D10_COUNTER_VERTEX_PROCESSING,
- D3D10_COUNTER_GEOMETRY_PROCESSING,
- D3D10_COUNTER_PIXEL_PROCESSING,
- D3D10_COUNTER_OTHER_GPU_PROCESSING,
- D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION,
- D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION,
- D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION,
- D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION,
- D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION,
- D3D10_COUNTER_VS_MEMORY_LIMITED,
- D3D10_COUNTER_VS_COMPUTATION_LIMITED,
- D3D10_COUNTER_GS_MEMORY_LIMITED,
- D3D10_COUNTER_GS_COMPUTATION_LIMITED,
- D3D10_COUNTER_PS_MEMORY_LIMITED,
- D3D10_COUNTER_PS_COMPUTATION_LIMITED,
- D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE,
- D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE,
- D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
-} D3D10_COUNTER;
-
-typedef struct D3D10_COUNTER_DESC {
- D3D10_COUNTER Counter;
- UINT MiscFlags;
-} D3D10_COUNTER_DESC;
-
-typedef enum D3D10_COUNTER_TYPE {
- D3D10_COUNTER_TYPE_FLOAT32,
- D3D10_COUNTER_TYPE_UINT16,
- D3D10_COUNTER_TYPE_UINT32,
- D3D10_COUNTER_TYPE_UINT64,
-} D3D10_COUNTER_TYPE;
-
-typedef struct D3D10_COUNTER_INFO {
- D3D10_COUNTER LastDeviceDependentCounter;
- UINT NumSimultaneousCounters;
- UINT8 NumDetectableParallelUnits;
-} D3D10_COUNTER_INFO;
-
-typedef enum D3D10_RESOURCE_DIMENSION {
- D3D10_RESOURCE_DIMENSION_UNKNOWN,
- D3D10_RESOURCE_DIMENSION_BUFFER,
- D3D10_RESOURCE_DIMENSION_TEXTURE1D,
- D3D10_RESOURCE_DIMENSION_TEXTURE2D,
- D3D10_RESOURCE_DIMENSION_TEXTURE3D,
-} D3D10_RESOURCE_DIMENSION;
-
-typedef enum D3D10_USAGE {
- D3D10_USAGE_DEFAULT,
- D3D10_USAGE_IMMUTABLE,
- D3D10_USAGE_DYNAMIC,
- D3D10_USAGE_STAGING,
-} D3D10_USAGE;
-
-typedef struct D3D10_BUFFER_DESC {
- UINT ByteWidth;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_BUFFER_DESC;
-
-typedef enum D3D10_MAP {
- D3D10_MAP_READ = 1,
- D3D10_MAP_WRITE,
- D3D10_MAP_READ_WRITE,
- D3D10_MAP_WRITE_DISCARD,
- D3D10_MAP_WRITE_NO_OVERWRITE,
-} D3D10_MAP;
-
-typedef struct D3D10_TEXTURE1D_DESC {
- UINT Width;
- UINT MipLevels;
- UINT ArraySize;
- DXGI_FORMAT Format;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE1D_DESC;
-
-typedef struct D3D10_TEXTURE2D_DESC {
- UINT Width;
- UINT Height;
- UINT MipLevels;
- UINT ArraySize;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE2D_DESC;
-
-typedef struct D3D10_TEXTURE3D_DESC {
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT MipLevels;
- DXGI_FORMAT Format;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE3D_DESC;
-
-typedef enum D3D10_DSV_DIMENSION
-{
- D3D10_DSV_DIMENSION_UNKNOWN,
- D3D10_DSV_DIMENSION_TEXTURE1D,
- D3D10_DSV_DIMENSION_TEXTURE1DARRAY,
- D3D10_DSV_DIMENSION_TEXTURE2D,
- D3D10_DSV_DIMENSION_TEXTURE2DARRAY,
- D3D10_DSV_DIMENSION_TEXTURE2DMS,
- D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY,
-} D3D10_DSV_DIMENSION;
-
-typedef struct D3D10_TEX1D_DSV {
- UINT MipSlice;
-} D3D10_TEX1D_DSV;
-
-typedef struct D3D10_TEX1D_ARRAY_DSV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_DSV;
-
-typedef struct D3D10_TEX2D_DSV {
- UINT MipSlice;
-} D3D10_TEX2D_DSV;
-
-typedef struct D3D10_TEX2D_ARRAY_DSV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_DSV;
-
-typedef struct D3D10_TEX2DMS_DSV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_DSV;
-
-typedef struct D3D10_TEX2DMS_ARRAY_DSV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_DSV;
-
-typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_DSV_DIMENSION ViewDimension;
- union {
- D3D10_TEX1D_DSV Texture1D;
- D3D10_TEX1D_ARRAY_DSV Texture1DArray;
- D3D10_TEX2D_DSV Texture2D;
- D3D10_TEX2D_ARRAY_DSV Texture2DArray;
- D3D10_TEX2DMS_DSV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
- } DUMMYUNIONNAME;
-} D3D10_DEPTH_STENCIL_VIEW_DESC;
-
-typedef enum D3D10_RTV_DIMENSION {
- D3D10_RTV_DIMENSION_UNKNOWN,
- D3D10_RTV_DIMENSION_BUFFER,
- D3D10_RTV_DIMENSION_TEXTURE1D,
- D3D10_RTV_DIMENSION_TEXTURE1DARRAY,
- D3D10_RTV_DIMENSION_TEXTURE2D,
- D3D10_RTV_DIMENSION_TEXTURE2DARRAY,
- D3D10_RTV_DIMENSION_TEXTURE2DMS,
- D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,
- D3D10_RTV_DIMENSION_TEXTURE3D,
-} D3D10_RTV_DIMENSION;
-
-typedef struct D3D10_BUFFER_RTV {
- UINT ElementOffset;
- UINT ElementWidth;
-} D3D10_BUFFER_RTV;
-
-typedef struct D3D10_TEX1D_RTV {
- UINT MipSlice;
-} D3D10_TEX1D_RTV;
-
-typedef struct D3D10_TEX1D_ARRAY_RTV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_RTV;
-
-typedef struct D3D10_TEX2D_RTV {
- UINT MipSlice;
-} D3D10_TEX2D_RTV;
-
-typedef struct D3D10_TEX2D_ARRAY_RTV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_RTV;
-
-typedef struct D3D10_TEX2DMS_RTV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_RTV;
-
-typedef struct D3D10_TEX2DMS_ARRAY_RTV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_RTV;
-
-typedef struct D3D10_TEX3D_RTV {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
-} D3D10_TEX3D_RTV;
-
-typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_RTV_DIMENSION ViewDimension;
- union {
- D3D10_BUFFER_RTV Buffer;
- D3D10_TEX1D_RTV Texture1D;
- D3D10_TEX1D_ARRAY_RTV Texture1DArray;
- D3D10_TEX2D_RTV Texture2D;
- D3D10_TEX2D_ARRAY_RTV Texture2DArray;
- D3D10_TEX2DMS_RTV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
- D3D10_TEX3D_RTV Texture3D;
- } DUMMYUNIONNAME;
-} D3D10_RENDER_TARGET_VIEW_DESC;
-
-typedef enum D3D10_SRV_DIMENSION {
- D3D10_SRV_DIMENSION_UNKNOWN,
- D3D10_SRV_DIMENSION_BUFFER,
- D3D10_SRV_DIMENSION_TEXTURE1D,
- D3D10_SRV_DIMENSION_TEXTURE1DARRAY,
- D3D10_SRV_DIMENSION_TEXTURE2D,
- D3D10_SRV_DIMENSION_TEXTURE2DARRAY,
- D3D10_SRV_DIMENSION_TEXTURE2DMS,
- D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY,
- D3D10_SRV_DIMENSION_TEXTURE3D,
- D3D10_SRV_DIMENSION_TEXTURECUBE,
-} D3D10_SRV_DIMENSION;
-
-typedef struct D3D10_BUFFER_SRV {
- UINT ElementOffset;
- UINT ElementWidth;
-} D3D10_BUFFER_SRV;
-
-typedef struct D3D10_TEX1D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX1D_SRV;
-
-typedef struct D3D10_TEX1D_ARRAY_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_SRV;
-
-typedef struct D3D10_TEX2D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX2D_SRV;
-
-typedef struct D3D10_TEX2D_ARRAY_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_SRV;
-
-typedef struct D3D10_TEX2DMS_SRV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_SRV;
-
-typedef struct D3D10_TEX2DMS_ARRAY_SRV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_SRV;
-
-typedef struct D3D10_TEX3D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX3D_SRV;
-
-typedef struct D3D10_TEXCUBE_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEXCUBE_SRV;
-
-typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_SRV_DIMENSION ViewDimension;
- union {
- D3D10_BUFFER_SRV Buffer;
- D3D10_TEX1D_SRV Texture1D;
- D3D10_TEX1D_ARRAY_SRV Texture1DArray;
- D3D10_TEX2D_SRV Texture2D;
- D3D10_TEX2D_ARRAY_SRV Texture2DArray;
- D3D10_TEX2DMS_SRV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
- D3D10_TEX3D_SRV Texture3D;
- D3D10_TEXCUBE_SRV TextureCube;
- } DUMMYUNIONNAME;
-} D3D10_SHADER_RESOURCE_VIEW_DESC;
-
-typedef struct D3D10_BOX {
- UINT left;
- UINT top;
- UINT front;
- UINT right;
- UINT bottom;
- UINT back;
-} D3D10_BOX;
-
-typedef struct D3D10_SUBRESOURCE_DATA {
- const void *pSysMem;
- UINT SysMemPitch;
- UINT SysMemSlicePitch;
-} D3D10_SUBRESOURCE_DATA;
-
-typedef struct D3D10_SO_DECLARATION_ENTRY {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- BYTE StartComponent;
- BYTE ComponentCount;
- BYTE OutputSlot;
-} D3D10_SO_DECLARATION_ENTRY;
-
-typedef enum D3D10_INPUT_CLASSIFICATION {
- D3D10_INPUT_PER_VERTEX_DATA,
- D3D10_INPUT_PER_INSTANCE_DATA,
-} D3D10_INPUT_CLASSIFICATION;
-
-typedef struct D3D10_INPUT_ELEMENT_DESC {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- DXGI_FORMAT Format;
- UINT InputSlot;
- UINT AlignedByteOffset;
- D3D10_INPUT_CLASSIFICATION InputSlotClass;
- UINT InstanceDataStepRate;
-} D3D10_INPUT_ELEMENT_DESC;
-
-typedef enum D3D10_QUERY {
- D3D10_QUERY_EVENT,
- D3D10_QUERY_OCCLUSION,
- D3D10_QUERY_TIMESTAMP,
- D3D10_QUERY_TIMESTAMP_DISJOINT,
- D3D10_QUERY_PIPELINE_STATISTICS,
- D3D10_QUERY_OCCLUSION_PREDICATE,
- D3D10_QUERY_SO_STATISTICS,
- D3D10_QUERY_SO_OVERFLOW_PREDICATE,
-} D3D10_QUERY;
-
-typedef struct D3D10_QUERY_DESC {
- D3D10_QUERY Query;
- UINT MiscFlags;
-} D3D10_QUERY_DESC;
-
-typedef enum D3D10_PRIMITIVE_TOPOLOGY {
- D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
- D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
-} D3D10_PRIMITIVE_TOPOLOGY;
-
-typedef RECT D3D10_RECT;
-
-typedef struct D3D10_VIEWPORT {
- INT TopLeftX;
- INT TopLeftY;
- UINT Width;
- UINT Height;
- FLOAT MinDepth;
- FLOAT MaxDepth;
-} D3D10_VIEWPORT;
-
-typedef struct D3D10_MAPPED_TEXTURE2D {
- void *pData;
- UINT RowPitch;
-} D3D10_MAPPED_TEXTURE2D;
-
-typedef struct D3D10_MAPPED_TEXTURE3D {
- void *pData;
- UINT RowPitch;
- UINT DepthPitch;
-} D3D10_MAPPED_TEXTURE3D;
-
-typedef enum D3D10_BIND_FLAG {
- D3D10_BIND_VERTEX_BUFFER = 0x1,
- D3D10_BIND_INDEX_BUFFER = 0x2,
- D3D10_BIND_CONSTANT_BUFFER = 0x4,
- D3D10_BIND_SHADER_RESOURCE = 0x8,
- D3D10_BIND_STREAM_OUTPUT = 0x10,
- D3D10_BIND_RENDER_TARGET = 0x20,
- D3D10_BIND_DEPTH_STENCIL = 0x40
-} D3D10_BIND_FLAG;
-
-typedef enum D3D10_CPU_ACCESS_FLAG {
- D3D10_CPU_ACCESS_WRITE = 0x10000,
- D3D10_CPU_ACCESS_READ = 0x20000
-} D3D10_CPU_ACCESS_FLAG;
-
-typedef enum D3D10_RESOURCE_MISC_FLAG {
- D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1,
- D3D10_RESOURCE_MISC_SHARED = 0x2,
- D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4
-} D3D10_RESOURCE_MISC_FLAG;
-
-typedef enum D3D10_MAP_FLAG {
- D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000,
-} D3D10_MAP_FLAG;
-
-typedef enum D3D10_CLEAR_FLAG {
- D3D10_CLEAR_DEPTH = 0x1,
- D3D10_CLEAR_STENCIL = 0x2
-} D3D10_CLEAR_FLAG;
-
-typedef enum D3D10_COLOR_WRITE_ENABLE {
- D3D10_COLOR_WRITE_ENABLE_RED = 0x1,
- D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2,
- D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4,
- D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8,
- D3D10_COLOR_WRITE_ENABLE_ALL = (D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN |
- D3D10_COLOR_WRITE_ENABLE_BLUE | D3D10_COLOR_WRITE_ENABLE_ALPHA)
-} D3D10_COLOR_WRITE_ENABLE;
-
-typedef enum D3D10_TEXTURECUBE_FACE {
- D3D10_TEXTURECUBE_FACE_POSITIVE_X,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_X,
- D3D10_TEXTURECUBE_FACE_POSITIVE_Y,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_Y,
- D3D10_TEXTURECUBE_FACE_POSITIVE_Z,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_Z,
-} D3D10_TEXTURECUBE_FACE;
-
-typedef enum D3D10_ASYNC_GETDATA_FLAG {
- D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1,
-} D3D10_ASYNC_GETDATA_FLAG;
-
-typedef enum D3D10_FILTER_TYPE {
- D3D10_FILTER_TYPE_POINT,
- D3D10_FILTER_TYPE_LINEAR
-} D3D10_FILTER_TYPE;
-
-typedef enum D3D10_QUERY_MISC_FLAG {
- D3D10_QUERY_MISC_PREDICATEHINT = 0x1
-} D3D10_QUERY_MISC_FLAG;
-
-typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
- UINT64 Frequency;
- BOOL Disjoint;
-} D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
-
-typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
-} D3D10_QUERY_DATA_PIPELINE_STATISTICS;
-
-typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
- UINT64 NumPrimitivesWritten;
- UINT64 PrimitivesStorageNeeded;
-} D3D10_QUERY_DATA_SO_STATISTICS;
-
-typedef enum D3D10_CREATE_DEVICE_FLAG {
- D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
- D3D10_CREATE_DEVICE_DEBUG = 0x2,
- D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
- D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8
-} D3D10_CREATE_DEVICE_FLAG;
-
-/* Core */
-
-interface ID3D10Device;
-
-[
- object,
- local,
- uuid(9b7e4c00-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10DeviceChild : IUnknown
-{
- void GetDevice(
- [out] ID3D10Device **ppDevice);
- HRESULT GetPrivateData(
- [in] REFGUID guid,
- [in, out] UINT *pDataSize,
- [out] void *pData);
- HRESULT SetPrivateData(
- [in] REFGUID guid,
- [in] UINT DataSize,
- [in] const void *pData);
- HRESULT SetPrivateDataInterface(
- [in] REFGUID guid,
- [in] const IUnknown *pData);
-}
-
-/* Resource */
-
-[
- object,
- local,
- uuid(9b7e4c01-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Resource : ID3D10DeviceChild
-{
- void GetType(
- [out] D3D10_RESOURCE_DIMENSION *rType);
- void SetEvictionPriority(
- [in] UINT EvictionPriority);
- UINT GetEvictionPriority();
-}
-
-[
- object,
- local,
- uuid(9b7e4c02-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Buffer : ID3D10Resource
-{
- HRESULT Map(
- [in] D3D10_MAP MapType,
- [in] UINT MapFlags,
- [out] void **ppData);
- void Unmap();
- void GetDesc(
- [out] D3D10_BUFFER_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c03-342c-4106-a19f-4f2704f689F0)
-]
-interface ID3D10Texture1D : ID3D10Resource
-{
- HRESULT Map(
- [in] UINT Subresource,
- [in] D3D10_MAP MapType,
- [in] UINT MapFlags,
- [out] void **ppData);
- void Unmap(
- [in] UINT Subresource);
- void GetDesc(
- [out] D3D10_TEXTURE1D_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c04-342c-4106-a19f-4f2704f689F0)
-]
-interface ID3D10Texture2D : ID3D10Resource
-{
- HRESULT Map(
- [in] UINT Subresource,
- [in] D3D10_MAP MapType,
- [in] UINT MapFlags,
- [out] D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
- void Unmap(
- [in] UINT Subresource);
- void GetDesc(
- [out] D3D10_TEXTURE2D_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c05-342c-4106-a19f-4f2704f689F0)
-]
-interface ID3D10Texture3D : ID3D10Resource
-{
- HRESULT Map(
- [in] UINT Subresource,
- [in] D3D10_MAP MapType,
- [in] UINT MapFlags,
- [out] D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
- void Unmap(
- [in] UINT Subresource);
- void GetDesc(
- [out] D3D10_TEXTURE3D_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(c902b03f-60a7-49ba-9936-2a3ab37a7e33)
-]
-interface ID3D10View : ID3D10DeviceChild
-{
- void GetResource(
- [out] ID3D10Resource **ppResource);
-}
-
-[
- object,
- local,
- uuid(9b7e4c09-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10DepthStencilView : ID3D10View
-{
- void GetDesc(
- [out] D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
-}
-
-
-[
- object,
- local,
- uuid(9b7e4c08-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10RenderTargetView : ID3D10View
-{
- void GetDesc(
- [out] D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c07-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10ShaderResourceView : ID3D10View
-{
- void GetDesc(
- [out] D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
-}
-
-/* Resource End */
-
-[
- object,
- local,
- uuid(edad8d19-8a35-4d6d-8566-2ea276cde161)
-]
-interface ID3D10BlendState : ID3D10DeviceChild
-{
- void GetDesc(
- [out] D3D10_BLEND_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(2b4b1cc8-a4ad-41f8-8322-ca86fc3ec675)
-]
-interface ID3D10DepthStencilState : ID3D10DeviceChild
-{
- void GetDesc(
- [out] D3D10_DEPTH_STENCIL_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(6316be88-54cd-4040-ab44-20461bc81f68)
-]
-interface ID3D10GeometryShader : ID3D10DeviceChild
-{
-}
-
-[
- object,
- local,
- uuid(9b7e4c0b-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10InputLayout : ID3D10DeviceChild
-{
-}
-
-[
- object,
- local,
- uuid(4968b601-9d00-4cde-8346-8e7f675819b6)
-]
-interface ID3D10PixelShader : ID3D10DeviceChild
-{
-}
-
-[
- object,
- local,
- uuid(a2a07292-89af-4345-be2e-c53d9fbb6e9f)
-]
-interface ID3D10RasterizerState : ID3D10DeviceChild
-{
- void GetDesc(
- [out] D3D10_RASTERIZER_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c0c-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10SamplerState : ID3D10DeviceChild
-{
- void GetDesc(
- [out] D3D10_SAMPLER_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c0a-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10VertexShader : ID3D10DeviceChild
-{
-}
-
-[
- object,
- local,
- uuid(9b7e4c0d-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Asynchronous : ID3D10DeviceChild
-{
- void Begin();
- void End();
- HRESULT GetData(
- [out] void *pData,
- [in] UINT DataSize,
- [in] UINT GetDataFlags);
- UINT GetDataSize();
-}
-
-[
- object,
- local,
- uuid(9b7e4c11-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Counter : ID3D10Asynchronous
-{
- void GetDesc(
- [out] D3D10_COUNTER_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4C0e-342C-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Query : ID3D10Asynchronous
-{
- void GetDesc(
- [out] D3D10_QUERY_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c10-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Predicate : ID3D10Query
-{
-}
-
-[
- object,
- local,
- uuid(9b7e4c0f-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Device : IUnknown
-{
- void VSSetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppConstantBuffers);
- void PSSetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
- void PSSetShader(
- [in] ID3D10PixelShader *pPixelShader);
- void PSSetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [in]ID3D10SamplerState *const *ppSamplers);
- void VSSetShader(
- [in] ID3D10VertexShader *pVertexShader);
- void DrawIndexed(
- [in] UINT IndexCount,
- [in] UINT StartIndexLocation,
- [in] INT BaseVertexLocation);
- void Draw(
- [in] UINT VertexCount,
- [in] UINT StartVertexLocation);
- void PSSetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppConstantBuffers);
- void IASetInputLayout(
- [in] ID3D10InputLayout *pInputLayout);
- void IASetVertexBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppVertexBuffers,
- [in] const UINT *pStrides,
- [in] const UINT *pOffsets);
- void IASetIndexBuffer(
- [in] ID3D10Buffer *pIndexBuffer,
- [in] DXGI_FORMAT Format,
- [in] UINT Offset);
- void DrawIndexedInstanced(
- [in] UINT IndexCountPerInstance,
- [in] UINT InstanceCount,
- [in] UINT StartIndexLocation,
- [in] INT BaseVertexLocation,
- [in] UINT StartInstanceLocation);
- void DrawInstanced(
- [in] UINT VertexCountPerInstance,
- [in] UINT InstanceCount,
- [in] UINT StartVertexLocation,
- [in] UINT StartInstanceLocation);
- void GSSetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppConstantBuffers);
- void GSSetShader(
- [in] ID3D10GeometryShader *pShader);
- void IASetPrimitiveTopology(
- [in] D3D10_PRIMITIVE_TOPOLOGY Topology);
- void VSSetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
- void VSSetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [in] ID3D10SamplerState *const *ppSamplers);
- void SetPredication(
- [in] ID3D10Predicate *pPredicate,
- [in] BOOL PredicateValue);
- void GSSetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [in] ID3D10ShaderResourceView * const *ppShaderResourceViews);
- void GSSetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [in] ID3D10SamplerState *const *ppSamplers);
- void OMSetRenderTargets(
- [in] UINT NumViews,
- [in] ID3D10RenderTargetView *const *ppRenderTargetViews,
- [in] ID3D10DepthStencilView *pDepthStencilView);
- void OMSetBlendState(
- [in] ID3D10BlendState *pBlendState,
- [in] const FLOAT BlendFactor[4],
- [in] UINT SampleMask);
- void OMSetDepthStencilState(
- [in] ID3D10DepthStencilState *pDepthStencilState,
- [in] UINT StencilRef);
- void SOSetTargets(
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppSOTargets,
- [in] const UINT *pOffsets);
- void DrawAuto();
- void RSSetState(
- [in] ID3D10RasterizerState *pRasterizerState);
- void RSSetViewports(
- [in] UINT NumViewports,
- [in] const D3D10_VIEWPORT *pViewports);
- void RSSetScissorRects(
- [in] UINT NumRects,
- [in] const D3D10_RECT *pRects);
- void CopySubresourceRegion(
- [in] ID3D10Resource *pDstResource,
- [in] UINT DstSubresource,
- [in] UINT DstX,
- [in] UINT DstY,
- [in] UINT DstZ,
- [in] ID3D10Resource *pSrcResource,
- [in] UINT SrcSubresource,
- [in] const D3D10_BOX *pSrcBox);
- void CopyResource(
- [in] ID3D10Resource *pDstResource,
- [in] ID3D10Resource *pSrcResource);
- void UpdateSubresource(
- [in] ID3D10Resource *pDstResource,
- [in] UINT DstSubresource,
- [in] const D3D10_BOX *pDstBox,
- [in] const void *pSrcData,
- [in] UINT SrcRowPitch,
- [in] UINT SrcDepthPitch);
- void ClearRenderTargetView(
- [in] ID3D10RenderTargetView *pRenderTargetView,
- [in] const FLOAT ColorRGBA[4]);
- void ClearDepthStencilView(
- [in] ID3D10DepthStencilView *pDepthStencilView,
- [in] UINT ClearFlags,
- [in] FLOAT Depth,
- [in] UINT8 Stencil);
- void GenerateMips(
- [in] ID3D10ShaderResourceView *pShaderResourceView);
- void ResolveSubresource(
- [in] ID3D10Resource *pDstResource,
- [in] UINT DstSubresource,
- [in] ID3D10Resource *pSrcResource,
- [in] UINT SrcSubresource,
- [in] DXGI_FORMAT Format);
- void VSGetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppConstantBuffers);
- void PSGetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [out] ID3D10ShaderResourceView **ppShaderResourceViews);
- void PSGetShader(
- [out] ID3D10PixelShader **ppPixelShader);
- void PSGetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [out] ID3D10SamplerState **ppSamplers);
- void VSGetShader(
- [out] ID3D10VertexShader **ppVertexShader);
- void PSGetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppConstantBuffers);
- void IAGetInputLayout(
- [out] ID3D10InputLayout **ppInputLayout);
- void IAGetVertexBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppVertexBuffers,
- [out] UINT *pStrides,
- [out] UINT *pOffsets);
- void IAGetIndexBuffer(
- [out] ID3D10Buffer **pIndexBuffer,
- [out] DXGI_FORMAT *Format,
- [out] UINT *Offset);
- void GSGetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppConstantBuffers);
- void GSGetShader(
- [out] ID3D10GeometryShader **ppGeometryShader);
- void IAGetPrimitiveTopology(
- [out] D3D10_PRIMITIVE_TOPOLOGY *pTopology);
- void VSGetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [out] ID3D10ShaderResourceView **ppShaderResourceViews);
- void VSGetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [out] ID3D10SamplerState **ppSamplers);
- void GetPredication(
- [out] ID3D10Predicate **ppPredicate,
- [out] BOOL *pPredicateValue);
- void GSGetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [out] ID3D10ShaderResourceView **ppShaderResourceViews);
- void GSGetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [out] ID3D10SamplerState **ppSamplers);
- void OMGetRenderTargets(
- [in] UINT NumViews,
- [out] ID3D10RenderTargetView **ppRenderTargetViews,
- [out] ID3D10DepthStencilView **ppDepthStencilView);
- void OMGetBlendState(
- [out] ID3D10BlendState **ppBlendState,
- [out] FLOAT BlendFactor[4],
- [out] UINT *pSampleMask);
- void OMGetDepthStencilState(
- [out] ID3D10DepthStencilState **ppDepthStencilState,
- [out] UINT *pStencilRef);
- void SOGetTargets(
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppSOTargets,
- [out] UINT *pOffsets);
- void RSGetState(
- [out] ID3D10RasterizerState **ppRasterizerState);
- void RSGetViewports(
- [in, out] UINT *NumViewports,
- [out] D3D10_VIEWPORT *pViewports);
- void RSGetScissorRects(
- [in, out] UINT *NumRects,
- [out] D3D10_RECT *pRects);
- HRESULT GetDeviceRemovedReason();
- HRESULT SetExceptionMode(
- [in] UINT RaiseFlags);
- UINT GetExceptionMode();
- HRESULT GetPrivateData(
- [in] REFGUID guid,
- [in, out] UINT *pDataSize,
- [out] void *pData);
- HRESULT SetPrivateData(
- [in] REFGUID guid,
- [in] UINT DataSize,
- [in] const void *pData);
- HRESULT SetPrivateDataInterface(
- [in] REFGUID guid,
- [in] const IUnknown *pData);
- void ClearState();
- void Flush();
- HRESULT CreateBuffer(
- [in] const D3D10_BUFFER_DESC *pDesc,
- [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
- [out] ID3D10Buffer **ppBuffer);
- HRESULT CreateTexture1D(
- [in] const D3D10_TEXTURE1D_DESC *pDesc,
- [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
- [out] ID3D10Texture1D **ppTexture1D);
- HRESULT CreateTexture2D(
- [in] const D3D10_TEXTURE2D_DESC *pDesc,
- [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
- [out] ID3D10Texture2D **ppTexture2D);
- HRESULT CreateTexture3D(
- [in] const D3D10_TEXTURE3D_DESC *pDesc,
- [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
- [out] ID3D10Texture3D **ppTexture3D);
- HRESULT CreateShaderResourceView(
- [in] ID3D10Resource *pResource,
- [in] const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
- [out] ID3D10ShaderResourceView **ppSRView);
- HRESULT CreateRenderTargetView(
- [in] ID3D10Resource *pResource,
- [in] const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
- [out] ID3D10RenderTargetView **ppRTView);
- HRESULT CreateDepthStencilView(
- [in] ID3D10Resource *pResource,
- [in] const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
- [out] ID3D10DepthStencilView **ppDepthStencilView);
- HRESULT CreateInputLayout(
- [in] const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
- [in] UINT NumElements,
- [in] const void *pShaderBytecodeWithInputSignature,
- [in] SIZE_T BytecodeLength,
- [out] ID3D10InputLayout **ppInputLayout);
- HRESULT CreateVertexShader(
- [in] const void *pShaderBytecode,
- [in] SIZE_T BytecodeLength,
- [out] ID3D10VertexShader **ppVertexShader);
- HRESULT CreateGeometryShader(
- [in] const void *pShaderBytecode,
- [in] SIZE_T BytecodeLength,
- [out] ID3D10GeometryShader **ppGeometryShader);
- HRESULT CreateGeometryShaderWithStreamOutput(
- [in] const void *pShaderBytecode,
- [in] SIZE_T BytecodeLength,
- [in] const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
- [in] UINT NumEntries,
- [in] UINT OutputStreamStride,
- [out] ID3D10GeometryShader **ppGeometryShader);
- HRESULT CreatePixelShader(
- [in] const void *pShaderBytecode,
- [in] SIZE_T BytecodeLength,
- [out] ID3D10PixelShader **ppPixelShader);
- HRESULT CreateBlendState(
- [in] const D3D10_BLEND_DESC *pBlendStateDesc,
- [out] ID3D10BlendState **ppBlendState);
- HRESULT CreateDepthStencilState(
- [in] const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
- [out] ID3D10DepthStencilState **ppDepthStencilState);
- HRESULT CreateRasterizerState(
- [in] const D3D10_RASTERIZER_DESC *pRasterizerDesc,
- [out] ID3D10RasterizerState **ppRasterizerState);
- HRESULT CreateSamplerState(
- [in] const D3D10_SAMPLER_DESC *pSamplerDesc,
- [out] ID3D10SamplerState **ppSamplerState);
- HRESULT CreateQuery(
- [in] const D3D10_QUERY_DESC *pQueryDesc,
- [out] ID3D10Query **ppQuery);
- HRESULT CreatePredicate(
- [in] const D3D10_QUERY_DESC *pPredicateDesc,
- [out] ID3D10Predicate **ppPredicate);
- HRESULT CreateCounter(
- [in] const D3D10_COUNTER_DESC *pCounterDesc,
- [out] ID3D10Counter **ppCounter);
- HRESULT CheckFormatSupport(
- [in] DXGI_FORMAT Format,
- [out] UINT *pFormatSupport);
- HRESULT CheckMultisampleQualityLevels(
- [in] DXGI_FORMAT Format,
- [in] UINT SampleCount,
- [out] UINT *pNumQualityLevels);
- void CheckCounterInfo(
- [out] D3D10_COUNTER_INFO *pCounterInfo);
- HRESULT CheckCounter(
- [in] const D3D10_COUNTER_DESC *pDesc,
- [out] D3D10_COUNTER_TYPE *pType,
- [out] UINT *pActiveCounters,
- [out] LPSTR szName,
- [in, out] UINT *pNameLength,
- [out] LPSTR szUnits,
- [in, out] UINT *pUnitsLength,
- [out] LPSTR szDescription,
- [in, out] UINT *pDescriptionLength);
- UINT GetCreationFlags();
- HRESULT OpenSharedResource(
- [in] HANDLE hResource,
- [in] REFIID ReturnedInterface,
- [out] void **ppResource);
- void SetTextFilterSize(
- [in] UINT Width,
- [in] UINT Height);
- void GetTextFilterSize(
- [out] UINT *pWidth,
- [out] UINT *pHeight);
-}
-
-[
- object,
- local,
- uuid(9b7e4e00-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Multithread : IUnknown
-{
- void Enter();
- void Leave();
- BOOL SetMultithreadProtected(
- [in] BOOL bMTProtect);
- BOOL GetMultithreadProtected();
-}
-
-cpp_quote("#include \"d3d10misc.h\"")
-cpp_quote("#include \"d3d10shader.h\"")
-cpp_quote("#include \"d3d10effect.h\"")
-/* TODO: Include "d310sdklayers.h" as soon as it exists */
+++ /dev/null
-/*
- * Copyright 2009 Henri Verbeet for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- *
- */
-
-#ifndef __WINE_D3D10EFFECT_H
-#define __WINE_D3D10EFFECT_H
-
-#include "d3d10.h"
-
-#define D3D10_EFFECT_VARIABLE_POOLED 0x1
-#define D3D10_EFFECT_VARIABLE_ANNOTATION 0x2
-#define D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT 0x4
-
-#ifndef D3D10_BYTES_FROM_BITS
-#define D3D10_BYTES_FROM_BITS(x) (((x) + 7) >> 3)
-#endif
-
-typedef struct _D3D10_EFFECT_TYPE_DESC
-{
- LPCSTR TypeName;
- D3D10_SHADER_VARIABLE_CLASS Class;
- D3D10_SHADER_VARIABLE_TYPE Type;
- UINT Elements;
- UINT Members;
- UINT Rows;
- UINT Columns;
- UINT PackedSize;
- UINT UnpackedSize;
- UINT Stride;
-} D3D10_EFFECT_TYPE_DESC;
-
-typedef struct _D3D10_EFFECT_VARIABLE_DESC
-{
- LPCSTR Name;
- LPCSTR Semantic;
- UINT Flags;
- UINT Annotations;
- UINT BufferOffset;
- UINT ExplicitBindPoint;
-} D3D10_EFFECT_VARIABLE_DESC;
-
-typedef struct _D3D10_TECHNIQUE_DESC
-{
- LPCSTR Name;
- UINT Passes;
- UINT Annotations;
-} D3D10_TECHNIQUE_DESC;
-
-typedef struct _D3D10_STATE_BLOCK_MASK
-{
- BYTE VS;
- BYTE VSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
- BYTE VSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
- BYTE VSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
- BYTE GS;
- BYTE GSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
- BYTE GSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
- BYTE GSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
- BYTE PS;
- BYTE PSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
- BYTE PSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
- BYTE PSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
- BYTE IAVertexBuffers[D3D10_BYTES_FROM_BITS(D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)];
- BYTE IAIndexBuffer;
- BYTE IAInputLayout;
- BYTE IAPrimitiveTopology;
- BYTE OMRenderTargets;
- BYTE OMDepthStencilState;
- BYTE OMBlendState;
- BYTE RSViewports;
- BYTE RSScissorRects;
- BYTE RSRasterizerState;
- BYTE SOBuffers;
- BYTE Predication;
-} D3D10_STATE_BLOCK_MASK;
-
-typedef struct _D3D10_EFFECT_DESC
-{
- BOOL IsChildEffect;
- UINT ConstantBuffers;
- UINT SharedConstantBuffers;
- UINT GlobalVariables;
- UINT SharedGlobalVariables;
- UINT Techniques;
-} D3D10_EFFECT_DESC;
-
-typedef struct _D3D10_EFFECT_SHADER_DESC
-{
- const BYTE *pInputSignature;
- BOOL IsInline;
- const BYTE *pBytecode;
- UINT BytecodeLength;
- LPCSTR SODecl;
- UINT NumInputSignatureEntries;
- UINT NumOutputSignatureEntries;
-} D3D10_EFFECT_SHADER_DESC;
-
-typedef struct _D3D10_PASS_DESC
-{
- LPCSTR Name;
- UINT Annotations;
- BYTE *pIAInputSignature;
- SIZE_T IAInputSignatureSize;
- UINT StencilRef;
- UINT SampleMask;
- FLOAT BlendFactor[4];
-} D3D10_PASS_DESC;
-
-typedef struct _D3D10_PASS_SHADER_DESC
-{
- struct ID3D10EffectShaderVariable *pShaderVariable;
- UINT ShaderIndex;
-} D3D10_PASS_SHADER_DESC;
-
-DEFINE_GUID(IID_ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8, 0x37, 0x00, 0x18, 0x0b, 0x9b, 0x88, 0xfd);
-
-#define INTERFACE ID3D10EffectType
-DECLARE_INTERFACE(ID3D10EffectType)
-{
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_TYPE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(LPCSTR, GetMemberName)(THIS_ UINT index) PURE;
- STDMETHOD_(LPCSTR, GetMemberSemantic)(THIS_ UINT index) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectVariable, 0xae897105, 0x00e6, 0x45bf, 0xbb, 0x8e, 0x28, 0x1d, 0xd6, 0xdb, 0x8e, 0x1b);
-
-#define INTERFACE ID3D10EffectVariable
-DECLARE_INTERFACE(ID3D10EffectVariable)
-{
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectConstantBuffer, 0x56648f4d, 0xcc8b, 0x4444, 0xa5, 0xad, 0xb5, 0xa3, 0xd7, 0x6e, 0x91, 0xb3);
-
-#define INTERFACE ID3D10EffectConstantBuffer
-DECLARE_INTERFACE_(ID3D10EffectConstantBuffer, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectConstantBuffer methods */
- STDMETHOD(SetConstantBuffer)(THIS_ ID3D10Buffer *buffer) PURE;
- STDMETHOD(GetConstantBuffer)(THIS_ ID3D10Buffer **buffer) PURE;
- STDMETHOD(SetTextureBuffer)(THIS_ ID3D10ShaderResourceView *view) PURE;
- STDMETHOD(GetTextureBuffer)(THIS_ ID3D10ShaderResourceView **view) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectScalarVariable, 0x00e48f7b, 0xd2c8, 0x49e8, 0xa8, 0x6c, 0x02, 0x2d, 0xee, 0x53, 0x43, 0x1f);
-
-#define INTERFACE ID3D10EffectScalarVariable
-DECLARE_INTERFACE_(ID3D10EffectScalarVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectScalarVariable methods */
- STDMETHOD(SetFloat)(THIS_ float value) PURE;
- STDMETHOD(GetFloat)(THIS_ float *value) PURE;
- STDMETHOD(SetFloatArray)(THIS_ float *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetFloatArray)(THIS_ float *values, UINT offset, UINT count) PURE;
- STDMETHOD(SetInt)(THIS_ int value) PURE;
- STDMETHOD(GetInt)(THIS_ int *value) PURE;
- STDMETHOD(SetIntArray)(THIS_ int *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetIntArray)(THIS_ int *values, UINT offset, UINT count) PURE;
- STDMETHOD(SetBool)(THIS_ BOOL value) PURE;
- STDMETHOD(GetBool)(THIS_ BOOL *value) PURE;
- STDMETHOD(SetBoolArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetBoolArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectVectorVariable, 0x62b98c44, 0x1f82, 0x4c67, 0xbc, 0xd0, 0x72, 0xcf, 0x8f, 0x21, 0x7e, 0x81);
-
-#define INTERFACE ID3D10EffectVectorVariable
-DECLARE_INTERFACE_(ID3D10EffectVectorVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectVectorVariable methods */
- STDMETHOD(SetBoolVector)(THIS_ BOOL *value) PURE;
- STDMETHOD(SetIntVector)(THIS_ int *value) PURE;
- STDMETHOD(SetFloatVector)(THIS_ float *value) PURE;
- STDMETHOD(GetBoolVector)(THIS_ BOOL *value) PURE;
- STDMETHOD(GetIntVector)(THIS_ int *value) PURE;
- STDMETHOD(GetFloatVector)(THIS_ float *value) PURE;
- STDMETHOD(SetBoolVectorArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
- STDMETHOD(SetIntVectorArray)(THIS_ int *values, UINT offset, UINT count) PURE;
- STDMETHOD(SetFloatVectorArray)(THIS_ float *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetBoolVectorArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetIntVectorArray)(THIS_ int *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetFloatVectorArray)(THIS_ float *values, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectMatrixVariable, 0x50666c24, 0xb82f, 0x4eed, 0xa1, 0x72, 0x5b, 0x6e, 0x7e, 0x85, 0x22, 0xe0);
-
-#define INTERFACE ID3D10EffectMatrixVariable
-DECLARE_INTERFACE_(ID3D10EffectMatrixVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectMatrixVariable methods */
- STDMETHOD(SetMatrix)(THIS_ float *data) PURE;
- STDMETHOD(GetMatrix)(THIS_ float *data) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ float *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetMatrixArray)(THIS_ float *data, UINT offset, UINT count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ float *data) PURE;
- STDMETHOD(GetMatrixTranspose)(THIS_ float *data) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ float *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetMatrixTransposeArray)(THIS_ float *data, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectStringVariable, 0x71417501, 0x8df9, 0x4e0a, 0xa7, 0x8a, 0x25, 0x5f, 0x97, 0x56, 0xba, 0xff);
-
-#define INTERFACE ID3D10EffectStringVariable
-DECLARE_INTERFACE_(ID3D10EffectStringVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectStringVariable methods */
- STDMETHOD(GetString)(THIS_ LPCSTR *str) PURE;
- STDMETHOD(GetStringArray)(THIS_ LPCSTR *strs, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectShaderResourceVariable,
- 0xc0a7157b, 0xd872, 0x4b1d, 0x80, 0x73, 0xef, 0xc2, 0xac, 0xd4, 0xb1, 0xfc);
-
-#define INTERFACE ID3D10EffectShaderResourceVariable
-DECLARE_INTERFACE_(ID3D10EffectShaderResourceVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectShaderResourceVariable methods */
- STDMETHOD(SetResource)(THIS_ ID3D10ShaderResourceView *resource) PURE;
- STDMETHOD(GetResource)(THIS_ ID3D10ShaderResourceView **resource) PURE;
- STDMETHOD(SetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
- STDMETHOD(GetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectRenderTargetViewVariable,
- 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5, 0x7f, 0x67, 0xb7, 0x37, 0x12, 0x2b, 0x17);
-
-#define INTERFACE ID3D10EffectRenderTargetViewVariable
-DECLARE_INTERFACE_(ID3D10EffectRenderTargetViewVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectRenderTargetViewVariable methods */
- STDMETHOD(SetRenderTarget)(THIS_ ID3D10RenderTargetView *view) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ ID3D10RenderTargetView **view) PURE;
- STDMETHOD(SetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
- STDMETHOD(GetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectDepthStencilViewVariable,
- 0x3e02c918, 0xcc79, 0x4985, 0xb6, 0x22, 0x2d, 0x92, 0xad, 0x70, 0x16, 0x23);
-
-#define INTERFACE ID3D10EffectDepthStencilViewVariable
-DECLARE_INTERFACE_(ID3D10EffectDepthStencilViewVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectDepthStencilViewVariable methods */
- STDMETHOD(SetDepthStencil)(THIS_ ID3D10DepthStencilView *view) PURE;
- STDMETHOD(GetDepthStencil)(THIS_ ID3D10DepthStencilView **view) PURE;
- STDMETHOD(SetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
- STDMETHOD(GetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectShaderVariable, 0x80849279, 0xc799, 0x4797, 0x8c, 0x33, 0x04, 0x07, 0xa0, 0x7d, 0x9e, 0x06);
-
-#define INTERFACE ID3D10EffectShaderVariable
-DECLARE_INTERFACE_(ID3D10EffectShaderVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectShaderVariable methods */
- STDMETHOD(GetShaderDesc)(THIS_ UINT index, D3D10_EFFECT_SHADER_DESC *desc) PURE;
- STDMETHOD(GetVertexShader)(THIS_ UINT index, ID3D10VertexShader **shader) PURE;
- STDMETHOD(GetGeometryShader)(THIS_ UINT index, ID3D10GeometryShader **shader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ UINT index, ID3D10PixelShader **shader) PURE;
- STDMETHOD(GetInputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
- D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
- STDMETHOD(GetOutputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
- D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectBlendVariable, 0x1fcd2294, 0xdf6d, 0x4eae, 0x86, 0xb3, 0x0e, 0x91, 0x60, 0xcf, 0xb0, 0x7b);
-
-#define INTERFACE ID3D10EffectBlendVariable
-DECLARE_INTERFACE_(ID3D10EffectBlendVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectBlendVariable methods */
- STDMETHOD(GetBlendState)(THIS_ UINT index, ID3D10BlendState **blend_state) PURE;
- STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_BLEND_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectDepthStencilVariable,
- 0xaf482368, 0x330a, 0x46a5, 0x9a, 0x5c, 0x01, 0xc7, 0x1a, 0xf2, 0x4c, 0x8d);
-
-#define INTERFACE ID3D10EffectDepthStencilVariable
-DECLARE_INTERFACE_(ID3D10EffectDepthStencilVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectDepthStencilVariable methods */
- STDMETHOD(GetDepthStencilState)(THIS_ UINT index, ID3D10DepthStencilState **depth_stencil_state) PURE;
- STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_DEPTH_STENCIL_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectRasterizerVariable,
- 0x21af9f0e, 0x4d94, 0x4ea9, 0x97, 0x85, 0x2c, 0xb7, 0x6b, 0x8c, 0x0b, 0x34);
-
-#define INTERFACE ID3D10EffectRasterizerVariable
-DECLARE_INTERFACE_(ID3D10EffectRasterizerVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectRasterizerVariable methods */
- STDMETHOD(GetRasterizerState)(THIS_ UINT index, ID3D10RasterizerState **rasterizer_state) PURE;
- STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_RASTERIZER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectSamplerVariable,
- 0x6530d5c7, 0x07e9, 0x4271, 0xa4, 0x18, 0xe7, 0xce, 0x4b, 0xd1, 0xe4, 0x80);
-
-#define INTERFACE ID3D10EffectSamplerVariable
-DECLARE_INTERFACE_(ID3D10EffectSamplerVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectSamplerVariable methods */
- STDMETHOD(GetSampler)(THIS_ UINT index, ID3D10SamplerState **sampler) PURE;
- STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_SAMPLER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectTechnique, 0xdb122ce8, 0xd1c9, 0x4292, 0xb2, 0x37, 0x24, 0xed, 0x3d, 0xe8, 0xb1, 0x75);
-
-#define INTERFACE ID3D10EffectTechnique
-DECLARE_INTERFACE(ID3D10EffectTechnique)
-{
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_TECHNIQUE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectPass *, GetPassByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectPass *, GetPassByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *mask) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10Effect, 0x51b0ca8b, 0xec0b, 0x4519, 0x87, 0x0d, 0x8e, 0xe1, 0xcb, 0x50, 0x17, 0xc7);
-
-#define INTERFACE ID3D10Effect
-DECLARE_INTERFACE_(ID3D10Effect, IUnknown)
-{
- /* IUnknown methods */
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /* ID3D10Effect methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(BOOL, IsPool)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ ID3D10Device **device) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetConstantBufferByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetConstantBufferByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetVariableByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetVariableByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetVariableBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectTechnique *, GetTechniqueByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectTechnique *, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD(Optimize)(THIS) PURE;
- STDMETHOD_(BOOL, IsOptimized)(THIS) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
-
-#define INTERFACE ID3D10EffectPool
-DECLARE_INTERFACE_(ID3D10EffectPool, IUnknown)
-{
- /* IUnknown methods */
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /* ID3D10EffectPool methods */
- STDMETHOD_(struct ID3D10Effect *, AsEffect)(THIS) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectPass, 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2, 0x82, 0xe3, 0xf9, 0xbf, 0xa3, 0x6a, 0x54);
-
-#define INTERFACE ID3D10EffectPass
-DECLARE_INTERFACE(ID3D10EffectPass)
-{
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_PASS_DESC *desc) PURE;
- STDMETHOD(GetVertexShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
- STDMETHOD(GetGeometryShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
- STDMETHOD(GetPixelShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD(Apply)(THIS_ UINT flags) PURE;
- STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *mask) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3D10CreateEffectFromMemory(void *data, SIZE_T data_size, UINT flags,
- ID3D10Device *device, ID3D10EffectPool *effect_pool, ID3D10Effect **effect);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINE_D3D10EFFECT_H */
+++ /dev/null
-/*
- * Copyright 2008 Henri Verbeet for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3D10MISC_H__
-#define __D3D10MISC_H__
-
-#include "d3d10.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum D3D10_DRIVER_TYPE {
- D3D10_DRIVER_TYPE_HARDWARE = 0,
- D3D10_DRIVER_TYPE_REFERENCE = 1,
- D3D10_DRIVER_TYPE_NULL = 2,
- D3D10_DRIVER_TYPE_SOFTWARE = 3,
-} D3D10_DRIVER_TYPE;
-
-HRESULT WINAPI D3D10CreateDevice(IDXGIAdapter *adapter, D3D10_DRIVER_TYPE driver_type,
- HMODULE swrast, UINT flags, UINT sdk_version, ID3D10Device **device);
-
-HRESULT WINAPI D3D10CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D10_DRIVER_TYPE driver_type,
- HMODULE swrast, UINT flags, UINT sdk_version, DXGI_SWAP_CHAIN_DESC *swapchain_desc,
- IDXGISwapChain **swapchain, ID3D10Device **device);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D3D10MISC_H__ */
+++ /dev/null
-/*
- * Copyright 2009 Henri Verbeet for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- *
- */
-
-#ifndef __WINE_D3D10SHADER_H
-#define __WINE_D3D10SHADER_H
-
-#include "d3d10.h"
-
-#define D3D10_SHADER_DEBUG 0x0001
-#define D3D10_SHADER_SKIP_VALIDATION 0x0002
-#define D3D10_SHADER_SKIP_OPTIMIZATION 0x0004
-#define D3D10_SHADER_PACK_MATRIX_ROW_MAJOR 0x0008
-#define D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR 0x0010
-#define D3D10_SHADER_PARTIAL_PRECISION 0x0020
-#define D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT 0x0040
-#define D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT 0x0080
-#define D3D10_SHADER_NO_PRESHADER 0x0100
-#define D3D10_SHADER_AVOID_FLOW_CONTROL 0x0200
-#define D3D10_SHADER_PREFER_FLOW_CONTROL 0x0400
-#define D3D10_SHADER_ENABLE_STRICTNESS 0x0800
-#define D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY 0x1000
-#define D3D10_SHADER_IEEE_STRICTNESS 0x2000
-
-typedef enum _D3D10_SHADER_VARIABLE_CLASS
-{
- D3D10_SVC_SCALAR,
- D3D10_SVC_VECTOR,
- D3D10_SVC_MATRIX_ROWS,
- D3D10_SVC_MATRIX_COLUMNS,
- D3D10_SVC_OBJECT,
- D3D10_SVC_STRUCT,
- D3D10_SVC_FORCE_DWORD = 0x7fffffff
-} D3D10_SHADER_VARIABLE_CLASS, *LPD3D10_SHADER_VARIABLE_CLASS;
-
-typedef enum _D3D10_SHADER_VARIABLE_TYPE
-{
- D3D10_SVT_VOID = 0,
- D3D10_SVT_BOOL = 1,
- D3D10_SVT_INT = 2,
- D3D10_SVT_FLOAT = 3,
- D3D10_SVT_STRING = 4,
- D3D10_SVT_TEXTURE = 5,
- D3D10_SVT_TEXTURE1D = 6,
- D3D10_SVT_TEXTURE2D = 7,
- D3D10_SVT_TEXTURE3D = 8,
- D3D10_SVT_TEXTURECUBE = 9,
- D3D10_SVT_SAMPLER = 10,
- D3D10_SVT_PIXELSHADER = 15,
- D3D10_SVT_VERTEXSHADER = 16,
- D3D10_SVT_UINT = 19,
- D3D10_SVT_UINT8 = 20,
- D3D10_SVT_GEOMETRYSHADER = 21,
- D3D10_SVT_RASTERIZER = 22,
- D3D10_SVT_DEPTHSTENCIL = 23,
- D3D10_SVT_BLEND = 24,
- D3D10_SVT_BUFFER = 25,
- D3D10_SVT_CBUFFER = 26,
- D3D10_SVT_TBUFFER = 27,
- D3D10_SVT_TEXTURE1DARRAY = 28,
- D3D10_SVT_TEXTURE2DARRAY = 29,
- D3D10_SVT_RENDERTARGETVIEW = 30,
- D3D10_SVT_DEPTHSTENCILVIEW = 31,
- D3D10_SVT_TEXTURE2DMS = 32,
- D3D10_SVT_TEXTURE2DMSARRAY = 33,
- D3D10_SVT_TEXTURECUBEARRAY = 34,
- D3D10_SVT_FORCE_DWORD = 0x7fffffff
-} D3D10_SHADER_VARIABLE_TYPE, *LPD3D10_SHADER_VARIABLE_TYPE;
-
-typedef enum D3D10_CBUFFER_TYPE
-{
- D3D10_CT_CBUFFER = 0,
- D3D10_CT_TBUFFER = 1
-} D3D10_CBUFFER_TYPE, *LPD3D10_CBUFFER_TYPE;
-
-typedef enum D3D10_NAME
-{
- D3D10_NAME_UNDEFINED = 0,
- D3D10_NAME_POSITION = 1,
- D3D10_NAME_CLIP_DISTANCE = 2,
- D3D10_NAME_CULL_DISTANCE = 3,
- D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
- D3D10_NAME_VIEWPORT_ARRAY_INDEX = 5,
- D3D10_NAME_VERTEX_ID = 6,
- D3D10_NAME_PRIMITIVE_ID = 7,
- D3D10_NAME_INSTANCE_ID = 8,
- D3D10_NAME_IS_FRONT_FACE = 9,
- D3D10_NAME_SAMPLE_INDEX = 10,
- D3D10_NAME_TARGET = 64,
- D3D10_NAME_DEPTH = 65,
-} D3D10_NAME;
-
-typedef enum D3D10_REGISTER_COMPONENT_TYPE
-{
- D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
- D3D10_REGISTER_COMPONENT_UINT32 = 1,
- D3D10_REGISTER_COMPONENT_SINT32 = 2,
- D3D10_REGISTER_COMPONENT_FLOAT32 = 3,
-} D3D10_REGISTER_COMPONENT_TYPE;
-
-typedef struct _D3D10_SHADER_MACRO
-{
- LPCSTR Name;
- LPCSTR Definition;
-} D3D10_SHADER_MACRO, *LPD3D10_SHADER_MACRO;
-
-typedef struct _D3D10_SIGNATURE_PARAMETER_DESC
-{
- LPCSTR SemanticName;
- UINT SemanticIndex;
- UINT Register;
- D3D10_NAME SystemValueType;
- D3D10_REGISTER_COMPONENT_TYPE ComponentType;
- BYTE Mask;
- BYTE ReadWriteMask;
-} D3D10_SIGNATURE_PARAMETER_DESC;
-
-LPCSTR WINAPI D3D10GetVertexShaderProfile(ID3D10Device *device);
-LPCSTR WINAPI D3D10GetGeometryShaderProfile(ID3D10Device *device);
-LPCSTR WINAPI D3D10GetPixelShaderProfile(ID3D10Device *device);
-
-#endif /* __WINE_D3D10SHADER_H */
+++ /dev/null
-/*
- * Copyright (C) 2002 Jason Edmeades
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D8_H
-#define __WINE_D3D8_H
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0800
-#endif
-
-#include <stdlib.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-
-#ifndef __WINESRC__
-# include <windows.h>
-#endif
-
-#include <d3d8types.h>
-#include <d3d8caps.h>
-
-/*****************************************************************************
- * Behavior Flags for IDirect3D8::CreateDevice
- */
-#define D3DCREATE_FPU_PRESERVE 0x00000002L
-#define D3DCREATE_MULTITHREADED 0x00000004L
-#define D3DCREATE_PUREDEVICE 0x00000010L
-#define D3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020L
-#define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040L
-#define D3DCREATE_MIXED_VERTEXPROCESSING 0x00000080L
-
-/*****************************************************************************
- * Flags for SetPrivateData
- */
-#define D3DSPD_IUNKNOWN 0x00000001L
-
-/*****************************************************************************
- * #defines and error codes
- */
-#define D3D_SDK_VERSION 220
-#define D3DADAPTER_DEFAULT 0
-#define D3DENUM_NO_WHQL_LEVEL 2
-
-#define _FACD3D 0x876
-#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
-
-/*
- * Direct3D Errors
- */
-#define D3D_OK S_OK
-#define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072)
-#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073)
-#define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074)
-#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075)
-#define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076)
-#define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077)
-#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078)
-#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
-#define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081)
-#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082)
-#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086)
-#define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087)
-
-#define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150)
-#define D3DERR_MOREDATA MAKE_D3DHRESULT(2151)
-#define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152)
-#define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153)
-#define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154)
-#define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380)
-#define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155)
-#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
-#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-DEFINE_GUID(IID_IDirect3D8, 0x1DD9E8DA,0x1C77,0x4D40,0xB0,0xCF,0x98,0xFE,0xFD,0xFF,0x95,0x12);
-typedef struct IDirect3D8 *LPDIRECT3D8;
-
-DEFINE_GUID(IID_IDirect3DDevice8, 0x7385E5DF,0x8FE8,0x41D5,0x86,0xB6,0xD7,0xB4,0x85,0x47,0xB6,0xCF);
-typedef struct IDirect3DDevice8 *LPDIRECT3DDEVICE8;
-
-DEFINE_GUID(IID_IDirect3DResource8, 0x1B36BB7B,0x09B7,0x410A,0xB4,0x45,0x7D,0x14,0x30,0xD7,0xB3,0x3F);
-typedef struct IDirect3DResource8 *LPDIRECT3DRESOURCE8, *PDIRECT3DRESOURCE8;
-
-DEFINE_GUID(IID_IDirect3DVertexBuffer8, 0x8AEEEAC7,0x05F9,0x44D4,0xB5,0x91,0x00,0x0B,0x0D,0xF1,0xCB,0x95);
-typedef struct IDirect3DVertexBuffer8 *LPDIRECT3DVERTEXBUFFER8, *PDIRECT3DVERTEXBUFFER8;
-
-DEFINE_GUID(IID_IDirect3DVolume8, 0xBD7349F5,0x14F1,0x42E4,0x9C,0x79,0x97,0x23,0x80,0xDB,0x40,0xC0);
-typedef struct IDirect3DVolume8 *LPDIRECT3DVOLUME8, *PDIRECT3DVOLUME8;
-
-DEFINE_GUID(IID_IDirect3DSwapChain8, 0x928C088B,0x76B9,0x4C6B,0xA5,0x36,0xA5,0x90,0x85,0x38,0x76,0xCD);
-typedef struct IDirect3DSwapChain8 *LPDIRECT3DSWAPCHAIN8, *PDIRECT3DSWAPCHAIN8;
-
-DEFINE_GUID(IID_IDirect3DSurface8, 0xB96EEBCA,0xB326,0x4EA5,0x88,0x2F,0x2F,0xF5,0xBA,0xE0,0x21,0xDD);
-typedef struct IDirect3DSurface8 *LPDIRECT3DSURFACE8, *PDIRECT3DSURFACE8;
-
-DEFINE_GUID(IID_IDirect3DIndexBuffer8, 0x0E689C9A,0x053D,0x44A0,0x9D,0x92,0xDB,0x0E,0x3D,0x75,0x0F,0x86);
-typedef struct IDirect3DIndexBuffer8 *LPDIRECT3DINDEXBUFFER8, *PDIRECT3DINDEXBUFFER8;
-
-DEFINE_GUID(IID_IDirect3DBaseTexture8, 0xB4211CFA,0x51B9,0x4A9F,0xAB,0x78,0xDB,0x99,0xB2,0xBB,0x67,0x8E);
-typedef struct IDirect3DBaseTexture8 *LPDIRECT3DBASETEXTURE8, *PDIRECT3DBASETEXTURE8;
-
-DEFINE_GUID(IID_IDirect3DTexture8, 0xE4CDD575,0x2866,0x4F01,0xB1,0x2E,0x7E,0xEC,0xE1,0xEC,0x93,0x58);
-typedef struct IDirect3DTexture8 *LPDIRECT3DTEXTURE8, *PDIRECT3DTEXTURE8;
-
-DEFINE_GUID(IID_IDirect3DCubeTexture8, 0x3EE5B968,0x2ACA,0x4C34,0x8B,0xB5,0x7E,0x0C,0x3D,0x19,0xB7,0x50);
-typedef struct IDirect3DCubeTexture8 *LPDIRECT3DCUBETEXTURE8, *PDIRECT3DCUBETEXTURE8;
-
-DEFINE_GUID(IID_IDirect3DVolumeTexture8, 0x4B8AAAFA,0x140F,0x42BA,0x91,0x31,0x59,0x7E,0xAF,0xAA,0x2E,0xAD);
-typedef struct IDirect3DVolumeTexture8 *LPDIRECT3DVOLUMETEXTURE8, *PDIRECT3DVOLUMETEXTURE8;
-
-/*****************************************************************************
- * IDirect3D8 interface
- */
-#define INTERFACE IDirect3D8
-DECLARE_INTERFACE_(IDirect3D8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D8 methods ***/
- STDMETHOD(RegisterSoftwareDevice)(THIS_ void * pInitializeFunction) PURE;
- STDMETHOD_(UINT,GetAdapterCount )(THIS) PURE;
- STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER8 * pIdentifier) PURE;
- STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT Adapter) PURE;
- STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, UINT Mode, D3DDISPLAYMODE * pMode) PURE;
- STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE * pMode) PURE;
- STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter, D3DDEVTYPE CheckType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed) PURE;
- STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE;
- STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType) PURE;
- STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS8 * pCaps) PURE;
- STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
- STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType,HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS * pPresentationParameters, struct IDirect3DDevice8 ** ppReturnedDeviceInterface) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D8 methods ***/
-#define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
-#define IDirect3D8_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
-#define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
-#define IDirect3D8_GetAdapterModeCount(p,a) (p)->lpVtbl->GetAdapterModeCount(p,a)
-#define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->lpVtbl->EnumAdapterModes(p,a,b,c)
-#define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
-#define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
-#define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
-#define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e)
-#define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
-#define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
-#define IDirect3D8_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
-#define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D8_AddRef(p) (p)->AddRef()
-#define IDirect3D8_Release(p) (p)->Release()
-/*** IDirect3D8 methods ***/
-#define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
-#define IDirect3D8_GetAdapterCount(p) (p)->GetAdapterCount()
-#define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
-#define IDirect3D8_GetAdapterModeCount(p,a) (p)->GetAdapterModeCount(a)
-#define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->EnumAdapterModes(a,b,c)
-#define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
-#define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
-#define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
-#define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->CheckDeviceMultiSampleType(a,b,c,d,e)
-#define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
-#define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
-#define IDirect3D8_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
-#define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
-#endif
-
-/*****************************************************************************
- * IDirect3DVolume8 interface
- */
-#define INTERFACE IDirect3DVolume8
-DECLARE_INTERFACE_(IDirect3DVolume8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVolume8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC * pDesc) PURE;
- STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox, DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVolume8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolume8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolume8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVolume8 methods ***/
-#define IDirect3DVolume8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolume8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolume8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DVolume8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DVolume8_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
-#define IDirect3DVolume8_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVolume8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolume8_AddRef(p) (p)->AddRef()
-#define IDirect3DVolume8_Release(p) (p)->Release()
-/*** IDirect3DVolume8 methods ***/
-#define IDirect3DVolume8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolume8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolume8_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DVolume8_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DVolume8_LockBox(p,a,b,c) (p)->LockBox(a,b,c)
-#define IDirect3DVolume8_UnlockBox(p) (p)->UnlockBox()
-#endif
-
-/*****************************************************************************
- * IDirect3DSwapChain8 interface
- */
-#define INTERFACE IDirect3DSwapChain8
-DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DSwapChain8 methods ***/
- STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect, CONST RECT * pDestRect, HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface8 ** ppBackBuffer) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSwapChain8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSwapChain8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DSwapChain8 methods ***/
-#define IDirect3DSwapChain8_Present(p,a,b,c) (p)->lpVtbl->Present(p,a,b,c)
-#define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSwapChain8_AddRef(p) (p)->AddRef()
-#define IDirect3DSwapChain8_Release(p) (p)->Release()
-/*** IDirect3DSwapChain8 methods ***/
-#define IDirect3DSwapChain8_Present(p,a,b,c) (p)->Present(a,b,c)
-#define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DSurface8 interface
- */
-#define INTERFACE IDirect3DSurface8
-DECLARE_INTERFACE_(IDirect3DSurface8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DSurface8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData,DWORD SizeOfData,DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData,DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC * pDesc) PURE;
- STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT * pLockedRect, CONST RECT * pRect,DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DSurface8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSurface8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSurface8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DSurface8 methods ***/
-#define IDirect3DSurface8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DSurface8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DSurface8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DSurface8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DSurface8_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
-#define IDirect3DSurface8_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DSurface8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSurface8_AddRef(p) (p)->AddRef()
-#define IDirect3DSurface8_Release(p) (p)->Release()
-/*** IDirect3DSurface8 methods ***/
-#define IDirect3DSurface8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DSurface8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DSurface8_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DSurface8_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DSurface8_LockRect(p,a,b,c) (p)->LockRect(a,b,c)
-#define IDirect3DSurface8_UnlockRect(p) (p)->UnlockRect()
-#endif
-
-/*****************************************************************************
- * IDirect3DResource8 interface
- */
-#define INTERFACE IDirect3DResource8
-DECLARE_INTERFACE_(IDirect3DResource8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DResource8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DResource8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DResource8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DResource8 methods ***/
-#define IDirect3DResource8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DResource8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DResource8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DResource8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DResource8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DResource8_GetType(p) (p)->lpVtbl->GetType(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DResource8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DResource8_AddRef(p) (p)->AddRef()
-#define IDirect3DResource8_Release(p) (p)->Release()
-/*** IDirect3DResource8 methods ***/
-#define IDirect3DResource8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DResource8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DResource8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DResource8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DResource8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DResource8_GetType(p) (p)->GetType()
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexBuffer8 interface
- */
-#define INTERFACE IDirect3DVertexBuffer8
-DECLARE_INTERFACE_(IDirect3DVertexBuffer8,IDirect3DResource8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DVertexBuffer8 methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC * pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexBuffer8 methods: IDirect3DResource8 ***/
-#define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVertexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVertexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVertexBuffer8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DVertexBuffer8 methods ***/
-#define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DVertexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer8_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer8_Release(p) (p)->Release()
-/*** IDirect3DVertexBuffer8 methods: IDirect3DResource8 ***/
-#define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVertexBuffer8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVertexBuffer8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVertexBuffer8_GetType(p) (p)->GetType()
-/*** IDirect3DVertexBuffer8 methods ***/
-#define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DVertexBuffer8_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DIndexBuffer8 interface
- */
-#define INTERFACE IDirect3DIndexBuffer8
-DECLARE_INTERFACE_(IDirect3DIndexBuffer8,IDirect3DResource8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DIndexBuffer8 methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC * pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DIndexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DIndexBuffer8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DIndexBuffer8 methods: IDirect3DResource8 ***/
-#define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DIndexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DIndexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DIndexBuffer8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DIndexBuffer8 methods ***/
-#define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DIndexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DIndexBuffer8_AddRef(p) (p)->AddRef()
-#define IDirect3DIndexBuffer8_Release(p) (p)->Release()
-/*** IDirect3DIndexBuffer8 methods: IDirect3DResource8 ***/
-#define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DIndexBuffer8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DIndexBuffer8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DIndexBuffer8_GetType(p) (p)->GetType()
-/*** IDirect3DIndexBuffer8 methods ***/
-#define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DIndexBuffer8_Unlock(p) (p)->Unlock()
-#define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DBaseTexture8 interface
- */
-#define INTERFACE IDirect3DBaseTexture8
-DECLARE_INTERFACE_(IDirect3DBaseTexture8,IDirect3DResource8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture8 methods ***/
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DBaseTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DBaseTexture8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DBaseTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DBaseTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DBaseTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DBaseTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DBaseTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DBaseTexture8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DBaseTexture8 methods ***/
-#define IDirect3DBaseTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DBaseTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DBaseTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DBaseTexture8_AddRef(p) (p)->AddRef()
-#define IDirect3DBaseTexture8_Release(p) (p)->Release()
-/*** IDirect3DBaseTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DBaseTexture8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DBaseTexture8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DBaseTexture8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DBaseTexture8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DBaseTexture8_GetType(p) (p)->GetType()
-/*** IDirect3DBaseTexture8 methods ***/
-#define IDirect3DBaseTexture8_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DBaseTexture8_GetLOD(p) (p)->GetLOD()
-#define IDirect3DBaseTexture8_GetLevelCount(p) (p)->GetLevelCount()
-#endif
-
-/*****************************************************************************
- * IDirect3DCubeTexture8 interface
- */
-#define INTERFACE IDirect3DCubeTexture8
-DECLARE_INTERFACE_(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture8 methods ***/
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- /*** IDirect3DCubeTexture8 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE;
- STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface8 ** ppCubeMapSurface) PURE;
- STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT * pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DCubeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DCubeTexture8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DCubeTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DCubeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DCubeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DCubeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DCubeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DCubeTexture8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DCubeTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DCubeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DCubeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DCubeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-/*** IDirect3DCubeTexture8 methods ***/
-#define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
-#define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
-#define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
-#define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DCubeTexture8_AddRef(p) (p)->AddRef()
-#define IDirect3DCubeTexture8_Release(p) (p)->Release()
-/*** IDirect3DCubeTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DCubeTexture8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DCubeTexture8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DCubeTexture8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DCubeTexture8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DCubeTexture8_GetType(p) (p)->GetType()
-/*** IDirect3DCubeTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DCubeTexture8_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DCubeTexture8_GetLOD(p) (p)->GetLOD()
-#define IDirect3DCubeTexture8_GetLevelCount(p) (p)->GetLevelCount()
-/*** IDirect3DCubeTexture8 methods ***/
-#define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c)
-#define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e)
-#define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->UnlockRect(a,b)
-#define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DTexture8 interface
- */
-#define INTERFACE IDirect3DTexture8
-DECLARE_INTERFACE_(IDirect3DTexture8,IDirect3DBaseTexture8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture8 methods ***/
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- /*** IDirect3DTexture8 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE;
- STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface8 ** ppSurfaceLevel) PURE;
- STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ CONST RECT * pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DTexture8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-/*** IDirect3DTexture8 methods ***/
-#define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b)
-#define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d)
-#define IDirect3DTexture8_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a)
-#define IDirect3DTexture8_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture8_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture8_Release(p) (p)->Release()
-/*** IDirect3DTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DTexture8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DTexture8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DTexture8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DTexture8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DTexture8_GetType(p) (p)->GetType()
-/*** IDirect3DTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DTexture8_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DTexture8_GetLOD(p) (p)->GetLOD()
-#define IDirect3DTexture8_GetLevelCount(p) (p)->GetLevelCount()
-/*** IDirect3DTexture8 methods ***/
-#define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b)
-#define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d)
-#define IDirect3DTexture8_UnlockRect(p,a) (p)->UnlockRect(a)
-#define IDirect3DTexture8_AddDirtyRect(p,a) (p)->AddDirtyRect(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DVolumeTexture8 interface
- */
-#define INTERFACE IDirect3DVolumeTexture8
-DECLARE_INTERFACE_(IDirect3DVolumeTexture8,IDirect3DBaseTexture8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture8 methods ***/
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- /*** IDirect3DVolumeTexture8 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC * pDesc) PURE;
- STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume8 ** ppVolumeLevel) PURE;
- STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox,DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX * pDirtyBox) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolumeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolumeTexture8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVolumeTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVolumeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVolumeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVolumeTexture8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DVolumeTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DVolumeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-/*** IDirect3DVolumeTexture8 methods ***/
-#define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
-#define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
-#define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
-#define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolumeTexture8_AddRef(p) (p)->AddRef()
-#define IDirect3DVolumeTexture8_Release(p) (p)->Release()
-/*** IDirect3DVolumeTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVolumeTexture8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVolumeTexture8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVolumeTexture8_GetType(p) (p)->GetType()
-/*** IDirect3DVolumeTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DVolumeTexture8_GetLOD(p) (p)->GetLOD()
-#define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->GetLevelCount()
-/*** IDirect3DVolumeTexture8 methods ***/
-#define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
-#define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
-#define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->UnlockBox(a)
-#define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DDevice8 interface
- */
-#define INTERFACE IDirect3DDevice8
-DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice8 methods ***/
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE;
- STDMETHOD(ResourceManagerDiscardBytes)(THIS_ DWORD Bytes) PURE;
- STDMETHOD(GetDirect3D)(THIS_ IDirect3D8 ** ppD3D8) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS8 * pCaps) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE * pMode) PURE;
- STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS * pParameters) PURE;
- STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface8 * pCursorBitmap) PURE;
- STDMETHOD_(void,SetCursorPosition)(THIS_ UINT XScreenSpace, UINT YScreenSpace,DWORD Flags) PURE;
- STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL bShow) PURE;
- STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DSwapChain8 ** pSwapChain) PURE;
- STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect,CONST RECT * pDestRect,HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS * pRasterStatus) PURE;
- STDMETHOD_(void,SetGammaRamp)(THIS_ DWORD Flags,CONST D3DGAMMARAMP * pRamp) PURE;
- STDMETHOD_(void,GetGammaRamp)(THIS_ D3DGAMMARAMP * pRamp) PURE;
- STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8 ** ppTexture) PURE;
- STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8 ** ppVolumeTexture) PURE;
- STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture8 ** ppCubeTexture) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer8 ** ppVertexBuffer) PURE;
- STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer8 ** ppIndexBuffer) PURE;
- STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8 ** ppSurface) PURE;
- STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8 ** ppSurface) PURE;
- STDMETHOD(CreateImageSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8 ** ppSurface) PURE;
- STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8 * pSourceSurface,CONST RECT * pSourceRectsArray,UINT cRects,IDirect3DSurface8 * pDestinationSurface,CONST POINT * pDestPointsArray) PURE;
- STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture8 * pSourceTexture,IDirect3DBaseTexture8 * pDestinationTexture) PURE;
- STDMETHOD(GetFrontBuffer)(THIS_ IDirect3DSurface8 * pDestSurface) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ IDirect3DSurface8 * pRenderTarget,IDirect3DSurface8 * pNewZStencil) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ IDirect3DSurface8 ** ppRenderTarget) PURE;
- STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface8 ** ppZStencilSurface) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT * pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX * pMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,D3DMATRIX * pMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX * pMatrix) PURE;
- STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT8 * pViewport) PURE;
- STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT8 * pViewport) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL8 * pMaterial) PURE;
- STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL8 *pMaterial) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD Index,CONST D3DLIGHT8 * pLight) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT8 * pLight) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL * pEnable) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float * pPlane) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD Value) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD * pValue) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ DWORD * pToken) PURE;
- STDMETHOD(ApplyStateBlock)(THIS_ DWORD Token) PURE;
- STDMETHOD(CaptureStateBlock)(THIS_ DWORD Token) PURE;
- STDMETHOD(DeleteStateBlock)(THIS_ DWORD Token) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,DWORD * pToken) PURE;
- STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS8 * pClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8 * pClipStatus) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 ** ppTexture) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 * pTexture) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD * pValue) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE;
- STDMETHOD(ValidateDevice)(THIS_ DWORD * pNumPasses) PURE;
- STDMETHOD(GetInfo)(THIS_ DWORD DevInfoID,void * pDevInfoStruct,DWORD DevInfoStructSize) PURE;
- STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber,CONST PALETTEENTRY * pEntries) PURE;
- STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY * pEntries) PURE;
- STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
- STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT * PaletteNumber) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE;
- STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
- STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST void * pIndexData,D3DFORMAT IndexDataFormat,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
- STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8 * pDestBuffer,DWORD Flags) PURE;
- STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD * pDeclaration,CONST DWORD * pFunction,DWORD * pHandle,DWORD Usage) PURE;
- STDMETHOD(SetVertexShader)(THIS_ DWORD Handle) PURE;
- STDMETHOD(GetVertexShader)(THIS_ DWORD * pHandle) PURE;
- STDMETHOD(DeleteVertexShader)(THIS_ DWORD Handle) PURE;
- STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE;
- STDMETHOD(GetVertexShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE;
- STDMETHOD(GetVertexShaderDeclaration)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
- STDMETHOD(GetVertexShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
- STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 * pStreamData,UINT Stride) PURE;
- STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 ** ppStreamData,UINT * pStride) PURE;
- STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer8 * pIndexData,UINT BaseVertexIndex) PURE;
- STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer8 ** ppIndexData,UINT * pBaseVertexIndex) PURE;
- STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD * pFunction,DWORD * pHandle) PURE;
- STDMETHOD(SetPixelShader)(THIS_ DWORD Handle) PURE;
- STDMETHOD(GetPixelShader)(THIS_ DWORD * pHandle) PURE;
- STDMETHOD(DeletePixelShader)(THIS_ DWORD Handle) PURE;
- STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE;
- STDMETHOD(GetPixelShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE;
- STDMETHOD(GetPixelShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
- STDMETHOD(DrawRectPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DRECTPATCH_INFO * pRectPatchInfo) PURE;
- STDMETHOD(DrawTriPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DTRIPATCH_INFO * pTriPatchInfo) PURE;
- STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice8 methods ***/
-#define IDirect3DDevice8_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
-#define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->lpVtbl->ResourceManagerDiscardBytes(p,a)
-#define IDirect3DDevice8_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
-#define IDirect3DDevice8_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
-#define IDirect3DDevice8_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
-#define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
-#define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
-#define IDirect3DDevice8_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
-#define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
-#define IDirect3DDevice8_Reset(p,a) (p)->lpVtbl->Reset(p,a)
-#define IDirect3DDevice8_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
-#define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
-#define IDirect3DDevice8_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
-#define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->lpVtbl->SetGammaRamp(p,a,b)
-#define IDirect3DDevice8_GetGammaRamp(p,a) (p)->lpVtbl->GetGammaRamp(p,a)
-#define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f)
-#define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e)
-#define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e)
-#define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f)
-#define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e)
-#define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->lpVtbl->CreateImageSurface(p,a,b,c,d)
-#define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->lpVtbl->CopyRects(p,a,b,c,d,e)
-#define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
-#define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->lpVtbl->GetFrontBuffer(p,a)
-#define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice8_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
-#define IDirect3DDevice8_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice8_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice8_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice8_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice8_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice8_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice8_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice8_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice8_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice8_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice8_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice8_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice8_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice8_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice8_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a)
-#define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a)
-#define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a)
-#define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice8_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice8_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice8_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice8_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice8_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
-#define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
-#define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
-#define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
-#define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
-#define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
-#define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
-#define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->lpVtbl->processVertices(p,a,b,c,d,e)
-#define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->lpVtbl->CreateVertexShader(p,a,b,c,d)
-#define IDirect3DDevice8_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
-#define IDirect3DDevice8_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
-#define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->lpVtbl->DeleteVertexShader(p,a)
-#define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstant(p,a,b,c)
-#define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstant(p,a,b,c)
-#define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->lpVtbl->GetVertexShaderDeclaration(p,a,b,c)
-#define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->lpVtbl->GetVertexShaderFunction(p,a,b,c)
-#define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->lpVtbl->SetStreamSource(p,a,b,c)
-#define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->lpVtbl->GetStreamSource(p,a,b,c)
-#define IDirect3DDevice8_SetIndices(p,a,b) (p)->lpVtbl->SetIndices(p,a,b)
-#define IDirect3DDevice8_GetIndices(p,a,b) (p)->lpVtbl->GetIndices(p,a,b)
-#define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
-#define IDirect3DDevice8_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
-#define IDirect3DDevice8_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
-#define IDirect3DDevice8_DeletePixelShader(p,a) (p)->lpVtbl->DeletePixelShader(p,a)
-#define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstant(p,a,b,c)
-#define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstant(p,a,b,c)
-#define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->lpVtbl->GetPixelShaderFunction(p,a,b,c)
-#define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
-#define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
-#define IDirect3DDevice8_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice8_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice8_Release(p) (p)->Release()
-/*** IDirect3DDevice8 methods ***/
-#define IDirect3DDevice8_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
-#define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
-#define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->ResourceManagerDiscardBytes(a)
-#define IDirect3DDevice8_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
-#define IDirect3DDevice8_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
-#define IDirect3DDevice8_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
-#define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
-#define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
-#define IDirect3DDevice8_ShowCursor(p,a) (p)->ShowCursor(a)
-#define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
-#define IDirect3DDevice8_Reset(p,a) (p)->Reset(a)
-#define IDirect3DDevice8_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
-#define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
-#define IDirect3DDevice8_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
-#define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->SetGammaRamp(a,b)
-#define IDirect3DDevice8_GetGammaRamp(p,a) (p)->GetGammaRamp(a)
-#define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->CreateTexture(a,b,c,d,e,f,g)
-#define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->CreateCubeTexture(a,b,c,d,e,f)
-#define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->CreateVertexBuffer(a,b,c,d,e)
-#define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->CreateIndexBuffer(a,b,c,d,e)
-#define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->CreateRenderTarget(a,b,c,d,e,f)
-#define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->CreateDepthStencilSurface(a,b,c,d,e)
-#define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->CreateImageSurface(a,b,c,d)
-#define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->CopyRects(a,b,c,d,e)
-#define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
-#define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->GetFrontBuffer(a)
-#define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice8_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
-#define IDirect3DDevice8_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice8_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice8_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice8_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice8_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice8_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice8_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice8_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice8_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice8_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice8_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice8_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice8_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice8_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice8_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a)
-#define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a)
-#define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a)
-#define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice8_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice8_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice8_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice8_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice8_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c)
-#define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
-#define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
-#define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
-#define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
-#define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
-#define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->DrawIndexedPrimitive(a,b,c,d,e)
-#define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
-#define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->processVertices(a,b,c,d,e)
-#define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->CreateVertexShader(a,b,c,d)
-#define IDirect3DDevice8_SetVertexShader(p,a) (p)->SetVertexShader(a)
-#define IDirect3DDevice8_GetVertexShader(p,a) (p)->GetVertexShader(a)
-#define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->DeleteVertexShader(a)
-#define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->SetVertexShaderConstant(a,b,c)
-#define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->GetVertexShaderConstant(a,b,c)
-#define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->GetVertexShaderDeclaration(a,b,c)
-#define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->GetVertexShaderFunction(a,b,c)
-#define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->SetStreamSource(a,b,c)
-#define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->GetStreamSource(a,b,c)
-#define IDirect3DDevice8_SetIndices(p,a,b) (p)->SetIndices(a,b)
-#define IDirect3DDevice8_GetIndices(p,a,b) (p)->GetIndices(a,b)
-#define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
-#define IDirect3DDevice8_SetPixelShader(p,a) (p)->SetPixelShader(a)
-#define IDirect3DDevice8_GetPixelShader(p,a) (p)->GetPixelShader(a)
-#define IDirect3DDevice8_DeletePixelShader(p,a) (p)->DeletePixelShader(a)
-#define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->SetPixelShaderConstant(a,b,c)
-#define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->GetPixelShaderConstant(a,b,c)
-#define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->GetPixelShaderFunction(a,b,c)
-#define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
-#define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
-#define IDirect3DDevice8_DeletePatch(p,a) (p)->DeletePatch(a)
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
-
-/* Define the main entrypoint as well */
-IDirect3D8* WINAPI Direct3DCreate8(UINT SDKVersion);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* defined(__cplusplus) */
-
-#endif /* __WINE_D3D8_H */
+++ /dev/null
-/*
- * Copyright (C) 2002 Jason Edmeades
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D8CAPS_H
-#define __WINE_D3D8CAPS_H
-
-/*
- * Definitions
- */
-
-#define D3DCAPS_READ_SCANLINE 0x20000
-
-#define D3DCURSORCAPS_COLOR 1
-#define D3DCURSORCAPS_LOWRES 2
-
-#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x0000010
-#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x0000020
-#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x0000040
-#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x0000080
-#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x0000100
-#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x0000200
-#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x0000400
-#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x0000800
-#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x0001000
-#define D3DDEVCAPS_DRAWPRIMITIVES2 0x0002000
-#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x0004000
-#define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x0008000
-#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x0010000
-#define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x0020000
-#define D3DDEVCAPS_HWRASTERIZATION 0x0080000
-#define D3DDEVCAPS_PUREDEVICE 0x0100000
-#define D3DDEVCAPS_QUINTICRTPATCHES 0x0200000
-#define D3DDEVCAPS_RTPATCHES 0x0400000
-#define D3DDEVCAPS_RTPATCHHANDLEZERO 0x0800000
-#define D3DDEVCAPS_NPATCHES 0x1000000
-
-#define D3DFVFCAPS_TEXCOORDCOUNTMASK 0x00FFFF
-#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x080000
-#define D3DFVFCAPS_PSIZE 0x100000
-
-#define D3DLINECAPS_TEXTURE 0x01
-#define D3DLINECAPS_ZTEST 0x02
-#define D3DLINECAPS_BLEND 0x04
-#define D3DLINECAPS_ALPHACMP 0x08
-#define D3DLINECAPS_FOG 0x10
-
-#define D3DPBLENDCAPS_ZERO 0x0001
-#define D3DPBLENDCAPS_ONE 0x0002
-#define D3DPBLENDCAPS_SRCCOLOR 0x0004
-#define D3DPBLENDCAPS_INVSRCCOLOR 0x0008
-#define D3DPBLENDCAPS_SRCALPHA 0x0010
-#define D3DPBLENDCAPS_INVSRCALPHA 0x0020
-#define D3DPBLENDCAPS_DESTALPHA 0x0040
-#define D3DPBLENDCAPS_INVDESTALPHA 0x0080
-#define D3DPBLENDCAPS_DESTCOLOR 0x0100
-#define D3DPBLENDCAPS_INVDESTCOLOR 0x0200
-#define D3DPBLENDCAPS_SRCALPHASAT 0x0400
-#define D3DPBLENDCAPS_BOTHSRCALPHA 0x0800
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x1000
-
-#define D3DPCMPCAPS_NEVER 0x01
-#define D3DPCMPCAPS_LESS 0x02
-#define D3DPCMPCAPS_EQUAL 0x04
-#define D3DPCMPCAPS_LESSEQUAL 0x08
-#define D3DPCMPCAPS_GREATER 0x10
-#define D3DPCMPCAPS_NOTEQUAL 0x20
-#define D3DPCMPCAPS_GREATEREQUAL 0x40
-#define D3DPCMPCAPS_ALWAYS 0x80
-
-#define D3DPMISCCAPS_MASKZ 0x0002
-#define D3DPMISCCAPS_LINEPATTERNREP 0x0004
-#define D3DPMISCCAPS_CULLNONE 0x0010
-#define D3DPMISCCAPS_CULLCW 0x0020
-#define D3DPMISCCAPS_CULLCCW 0x0040
-#define D3DPMISCCAPS_COLORWRITEENABLE 0x0080
-#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS 0x0100
-#define D3DPMISCCAPS_CLIPTLVERTS 0x0200
-#define D3DPMISCCAPS_TSSARGTEMP 0x0400
-#define D3DPMISCCAPS_BLENDOP 0x0800
-
-#define D3DPRASTERCAPS_DITHER 0x00000001
-#define D3DPRASTERCAPS_PAT 0x00000008
-#define D3DPRASTERCAPS_ZTEST 0x00000010
-#define D3DPRASTERCAPS_FOGVERTEX 0x00000080
-#define D3DPRASTERCAPS_FOGTABLE 0x00000100
-#define D3DPRASTERCAPS_ANTIALIASEDGES 0x00001000
-#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000
-#define D3DPRASTERCAPS_ZBIAS 0x00004000
-#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000
-#define D3DPRASTERCAPS_FOGRANGE 0x00010000
-#define D3DPRASTERCAPS_ANISOTROPY 0x00020000
-#define D3DPRASTERCAPS_WBUFFER 0x00040000
-#define D3DPRASTERCAPS_WFOG 0x00100000
-#define D3DPRASTERCAPS_ZFOG 0x00200000
-#define D3DPRASTERCAPS_COLORPERSPECTIVE 0x00400000
-#define D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE 0x00800000
-
-#define D3DPRESENT_INTERVAL_DEFAULT 0x00000000
-#define D3DPRESENT_INTERVAL_ONE 0x00000001
-#define D3DPRESENT_INTERVAL_TWO 0x00000002
-#define D3DPRESENT_INTERVAL_THREE 0x00000004
-#define D3DPRESENT_INTERVAL_FOUR 0x00000008
-#define D3DPRESENT_INTERVAL_IMMEDIATE 0x80000000
-
-#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00008
-#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00200
-#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x04000
-#define D3DPSHADECAPS_FOGGOURAUD 0x80000
-
-#define D3DPTADDRESSCAPS_WRAP 0x01
-#define D3DPTADDRESSCAPS_MIRROR 0x02
-#define D3DPTADDRESSCAPS_CLAMP 0x04
-#define D3DPTADDRESSCAPS_BORDER 0x08
-#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x10
-#define D3DPTADDRESSCAPS_MIRRORONCE 0x20
-
-#define D3DPTEXTURECAPS_PERSPECTIVE 0x00001
-#define D3DPTEXTURECAPS_POW2 0x00002
-#define D3DPTEXTURECAPS_ALPHA 0x00004
-#define D3DPTEXTURECAPS_SQUAREONLY 0x00020
-#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00040
-#define D3DPTEXTURECAPS_ALPHAPALETTE 0x00080
-#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00100
-#define D3DPTEXTURECAPS_PROJECTED 0x00400
-#define D3DPTEXTURECAPS_CUBEMAP 0x00800
-#define D3DPTEXTURECAPS_VOLUMEMAP 0x02000
-#define D3DPTEXTURECAPS_MIPMAP 0x04000
-#define D3DPTEXTURECAPS_MIPVOLUMEMAP 0x08000
-#define D3DPTEXTURECAPS_MIPCUBEMAP 0x10000
-#define D3DPTEXTURECAPS_CUBEMAP_POW2 0x20000
-#define D3DPTEXTURECAPS_VOLUMEMAP_POW2 0x40000
-
-#define D3DPTFILTERCAPS_MINFPOINT 0x00000100
-#define D3DPTFILTERCAPS_MINFLINEAR 0x00000200
-#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400
-#define D3DPTFILTERCAPS_MIPFPOINT 0x00010000
-#define D3DPTFILTERCAPS_MIPFLINEAR 0x00020000
-#define D3DPTFILTERCAPS_MAGFPOINT 0x01000000
-#define D3DPTFILTERCAPS_MAGFLINEAR 0x02000000
-#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000
-#define D3DPTFILTERCAPS_MAGFAFLATCUBIC 0x08000000
-#define D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC 0x10000000
-
-#define D3DSTENCILCAPS_KEEP 0x01
-#define D3DSTENCILCAPS_ZERO 0x02
-#define D3DSTENCILCAPS_REPLACE 0x04
-#define D3DSTENCILCAPS_INCRSAT 0x08
-#define D3DSTENCILCAPS_DECRSAT 0x10
-#define D3DSTENCILCAPS_INVERT 0x20
-#define D3DSTENCILCAPS_INCR 0x40
-#define D3DSTENCILCAPS_DECR 0x80
-
-#define D3DTEXOPCAPS_DISABLE 0x0000001
-#define D3DTEXOPCAPS_SELECTARG1 0x0000002
-#define D3DTEXOPCAPS_SELECTARG2 0x0000004
-#define D3DTEXOPCAPS_MODULATE 0x0000008
-#define D3DTEXOPCAPS_MODULATE2X 0x0000010
-#define D3DTEXOPCAPS_MODULATE4X 0x0000020
-#define D3DTEXOPCAPS_ADD 0x0000040
-#define D3DTEXOPCAPS_ADDSIGNED 0x0000080
-#define D3DTEXOPCAPS_ADDSIGNED2X 0x0000100
-#define D3DTEXOPCAPS_SUBTRACT 0x0000200
-#define D3DTEXOPCAPS_ADDSMOOTH 0x0000400
-#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x0000800
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x0001000
-#define D3DTEXOPCAPS_BLENDFACTORALPHA 0x0002000
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x0004000
-#define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x0008000
-#define D3DTEXOPCAPS_PREMODULATE 0x0010000
-#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x0020000
-#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x0040000
-#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x0080000
-#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x0100000
-#define D3DTEXOPCAPS_BUMPENVMAP 0x0200000
-#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x0400000
-#define D3DTEXOPCAPS_DOTPRODUCT3 0x0800000
-#define D3DTEXOPCAPS_MULTIPLYADD 0x1000000
-#define D3DTEXOPCAPS_LERP 0x2000000
-
-#define D3DVTXPCAPS_TEXGEN 0x01
-#define D3DVTXPCAPS_MATERIALSOURCE7 0x02
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS 0x08
-#define D3DVTXPCAPS_POSITIONALLIGHTS 0x10
-#define D3DVTXPCAPS_LOCALVIEWER 0x20
-#define D3DVTXPCAPS_TWEENING 0x40
-
-#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x00000020
-#define D3DCAPS3_RESERVED 0x8000001f
-
-#define D3DCAPS2_CANCALIBRATEGAMMA 0x0100000
-#define D3DCAPS2_CANRENDERWINDOWED 0x0080000
-#define D3DCAPS2_CANMANAGERESOURCE 0x10000000
-#define D3DCAPS2_DYNAMICTEXTURES 0x20000000
-#define D3DCAPS2_FULLSCREENGAMMA 0x0020000
-#define D3DCAPS2_NO2DDURING3DSCENE 0x0000002
-#define D3DCAPS2_RESERVED 0x2000000
-
-/*
- * The d3dcaps8 structure
- */
-typedef struct _D3DCAPS8 {
- D3DDEVTYPE DeviceType;
- UINT AdapterOrdinal;
-
- DWORD Caps;
- DWORD Caps2;
- DWORD Caps3;
- DWORD PresentationIntervals;
-
- DWORD CursorCaps;
-
- DWORD DevCaps;
-
- DWORD PrimitiveMiscCaps;
- DWORD RasterCaps;
- DWORD ZCmpCaps;
- DWORD SrcBlendCaps;
- DWORD DestBlendCaps;
- DWORD AlphaCmpCaps;
- DWORD ShadeCaps;
- DWORD TextureCaps;
- DWORD TextureFilterCaps;
- DWORD CubeTextureFilterCaps;
- DWORD VolumeTextureFilterCaps;
- DWORD TextureAddressCaps;
- DWORD VolumeTextureAddressCaps;
-
- DWORD LineCaps;
-
- DWORD MaxTextureWidth, MaxTextureHeight;
- DWORD MaxVolumeExtent;
-
- DWORD MaxTextureRepeat;
- DWORD MaxTextureAspectRatio;
- DWORD MaxAnisotropy;
- float MaxVertexW;
-
- float GuardBandLeft;
- float GuardBandTop;
- float GuardBandRight;
- float GuardBandBottom;
-
- float ExtentsAdjust;
- DWORD StencilCaps;
-
- DWORD FVFCaps;
- DWORD TextureOpCaps;
- DWORD MaxTextureBlendStages;
- DWORD MaxSimultaneousTextures;
-
- DWORD VertexProcessingCaps;
- DWORD MaxActiveLights;
- DWORD MaxUserClipPlanes;
- DWORD MaxVertexBlendMatrices;
- DWORD MaxVertexBlendMatrixIndex;
-
- float MaxPointSize;
-
- DWORD MaxPrimitiveCount;
- DWORD MaxVertexIndex;
- DWORD MaxStreams;
- DWORD MaxStreamStride;
-
- DWORD VertexShaderVersion;
- DWORD MaxVertexShaderConst;
-
- DWORD PixelShaderVersion;
- float MaxPixelShaderValue;
-} D3DCAPS8;
-
-#endif /* __WINE_D3D8CAPS_H */
+++ /dev/null
-/*
- * Copyright (C) 2002 Jason Edmeades
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D8TYPES_H
-#define __WINE_D3D8TYPES_H
-
-#include <_mingw_dxhelper.h>
-
-/*****************************************************************************
- * Direct 3D v8 #defines
- */
-
-#ifndef D3DCLEAR_TARGET
-#define D3DCLEAR_TARGET 1
-#endif
-#ifndef D3DCLEAR_ZBUFFER
-#define D3DCLEAR_ZBUFFER 2
-#endif
-#ifndef D3DCLEAR_STENCIL
-#define D3DCLEAR_STENCIL 4
-#endif
-
-#define D3DCLIPPLANE0 (1 << 0)
-#define D3DCLIPPLANE1 (1 << 1)
-#define D3DCLIPPLANE2 (1 << 2)
-#define D3DCLIPPLANE3 (1 << 3)
-#define D3DCLIPPLANE4 (1 << 4)
-#define D3DCLIPPLANE5 (1 << 5)
-
-#define D3DCOLOR_ARGB(a,r,g,b) ((D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
-#define D3DCOLOR_COLORVALUE(r,g,b,a) D3DCOLOR_RGBA((DWORD)((r)*255.f),(DWORD)((g)*255.f),(DWORD)((b)*255.f),(DWORD)((a)*255.f))
-#define D3DCOLOR_RGBA(r,g,b,a) D3DCOLOR_ARGB(a,r,g,b)
-#define D3DCOLOR_XRGB(r,g,b) D3DCOLOR_ARGB(0xff,r,g,b)
-
-#define D3DCS_LEFT 0x001
-#define D3DCS_RIGHT 0x002
-#define D3DCS_TOP 0x004
-#define D3DCS_BOTTOM 0x008
-#define D3DCS_FRONT 0x010
-#define D3DCS_BACK 0x020
-#define D3DCS_PLANE0 0x040
-#define D3DCS_PLANE1 0x080
-#define D3DCS_PLANE2 0x100
-#define D3DCS_PLANE3 0x200
-#define D3DCS_PLANE4 0x400
-#define D3DCS_PLANE5 0x800
-#define D3DCS_ALL 0xFFF
-
-#define D3DFVF_TEXTUREFORMAT1 3
-#define D3DFVF_TEXTUREFORMAT2 0
-#define D3DFVF_TEXTUREFORMAT3 1
-#define D3DFVF_TEXTUREFORMAT4 2
-#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2)
-#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
-
-#define D3DLOCK_READONLY 0x0010
-#define D3DLOCK_NOSYSLOCK 0x0800
-#define D3DLOCK_NOOVERWRITE 0x1000
-#define D3DLOCK_DISCARD 0x2000
-#define D3DLOCK_NO_DIRTY_UPDATE 0x8000
-
-#define D3DMAXUSERCLIPPLANES 32
-
-#define D3DRENDERSTATE_WRAPBIAS 0x80
-
-#define D3DTSS_TCI_PASSTHRU 0x00000
-#define D3DTSS_TCI_CAMERASPACENORMAL 0x10000
-#define D3DTSS_TCI_CAMERASPACEPOSITION 0x20000
-#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x30000
-
-
-#define D3DTS_WORLD D3DTS_WORLDMATRIX(0)
-#define D3DTS_WORLD1 D3DTS_WORLDMATRIX(1)
-#define D3DTS_WORLD2 D3DTS_WORLDMATRIX(2)
-#define D3DTS_WORLD3 D3DTS_WORLDMATRIX(3)
-#define D3DTS_WORLDMATRIX(index) (D3DTRANSFORMSTATETYPE)(index + 256)
-
-#define D3DUSAGE_RENDERTARGET 0x01
-#define D3DUSAGE_DEPTHSTENCIL 0x02
-#define D3DUSAGE_WRITEONLY 0x08
-#define D3DUSAGE_SOFTWAREPROCESSING 0x10
-#define D3DUSAGE_DONOTCLIP 0x20
-#define D3DUSAGE_POINTS 0x40
-#define D3DUSAGE_RTPATCHES 0x80
-#define D3DUSAGE_NPATCHES 0x100
-#define D3DUSAGE_DYNAMIC 0x200
-
-#define D3DWRAP_U 1
-#define D3DWRAP_V 2
-#define D3DWRAP_W 4
-#define D3DWRAPCOORD_0 1
-#define D3DWRAPCOORD_1 2
-#define D3DWRAPCOORD_2 4
-#define D3DWRAPCOORD_3 8
-
-#define MAX_DEVICE_IDENTIFIER_STRING 512
-
-#define D3DFVF_RESERVED0 0x0001
-#define D3DFVF_POSITION_MASK 0x000E
-#define D3DFVF_XYZ 0x0002
-#define D3DFVF_XYZRHW 0x0004
-#define D3DFVF_XYZB1 0x0006
-#define D3DFVF_XYZB2 0x0008
-#define D3DFVF_XYZB3 0x000a
-#define D3DFVF_XYZB4 0x000c
-#define D3DFVF_XYZB5 0x000e
-#define D3DFVF_NORMAL 0x0010
-#define D3DFVF_PSIZE 0x0020
-#define D3DFVF_DIFFUSE 0x0040
-#define D3DFVF_SPECULAR 0x0080
-#define D3DFVF_TEXCOUNT_MASK 0x0f00
-#define D3DFVF_TEXCOUNT_SHIFT 8
-#define D3DFVF_TEX0 0x0000
-#define D3DFVF_TEX1 0x0100
-#define D3DFVF_TEX2 0x0200
-#define D3DFVF_TEX3 0x0300
-#define D3DFVF_TEX4 0x0400
-#define D3DFVF_TEX5 0x0500
-#define D3DFVF_TEX6 0x0600
-#define D3DFVF_TEX7 0x0700
-#define D3DFVF_TEX8 0x0800
-#define D3DFVF_LASTBETA_UBYTE4 0x1000
-#define D3DFVF_RESERVED2 0xE000
-
-#define D3DTA_SELECTMASK 0x0000000f
-#define D3DTA_DIFFUSE 0x00000000
-#define D3DTA_CURRENT 0x00000001
-#define D3DTA_TEXTURE 0x00000002
-#define D3DTA_TFACTOR 0x00000003
-#define D3DTA_SPECULAR 0x00000004
-#define D3DTA_COMPLEMENT 0x00000010
-#define D3DTA_ALPHAREPLICATE 0x00000020
-#define D3DTA_TEMP 0x00000005
-
-#define D3DCOLORWRITEENABLE_RED (1L<<0)
-#define D3DCOLORWRITEENABLE_GREEN (1L<<1)
-#define D3DCOLORWRITEENABLE_BLUE (1L<<2)
-#define D3DCOLORWRITEENABLE_ALPHA (1L<<3)
-
-
-#ifndef MAKEFOURCC
-#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
- ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
- ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
-#endif /* MAKEFOURCC */
-
-
-/****************************
- * Vertex Shaders Declaration
- */
-
-typedef enum _D3DVSD_TOKENTYPE {
- D3DVSD_TOKEN_NOP = 0,
- D3DVSD_TOKEN_STREAM = 1,
- D3DVSD_TOKEN_STREAMDATA = 2,
- D3DVSD_TOKEN_TESSELLATOR = 3,
- D3DVSD_TOKEN_CONSTMEM = 4,
- D3DVSD_TOKEN_EXT = 5,
- /* RESERVED = 6 */
- D3DVSD_TOKEN_END = 7,
- D3DVSD_FORCE_DWORD = 0x7FFFFFFF
-} D3DVSD_TOKENTYPE;
-
-/** input registers for vertex shaders functions */
-/*
-#define D3DVSDE_POSITION 0
-#define D3DVSDE_BLENDWEIGHT 1
-#define D3DVSDE_BLENDINDICES 2
-#define D3DVSDE_NORMAL 3
-#define D3DVSDE_PSIZE 4
-#define D3DVSDE_DIFFUSE 5
-#define D3DVSDE_SPECULAR 6
-#define D3DVSDE_TEXCOORD0 7
-#define D3DVSDE_TEXCOORD1 8
-#define D3DVSDE_TEXCOORD2 9
-#define D3DVSDE_TEXCOORD3 10
-#define D3DVSDE_TEXCOORD4 11
-#define D3DVSDE_TEXCOORD5 12
-#define D3DVSDE_TEXCOORD6 13
-#define D3DVSDE_TEXCOORD7 14
-#define D3DVSDE_POSITION2 15
-#define D3DVSDE_NORMAL2 16
-*/
-/** Address of the vertex register. 0 - 16 */
-typedef enum _D3DVSDE_REGISTER {
- D3DVSDE_POSITION = 0,
- D3DVSDE_BLENDWEIGHT = 1,
- D3DVSDE_BLENDINDICES = 2,
- D3DVSDE_NORMAL = 3,
- D3DVSDE_PSIZE = 4,
- D3DVSDE_DIFFUSE = 5,
- D3DVSDE_SPECULAR = 6,
- D3DVSDE_TEXCOORD0 = 7,
- D3DVSDE_TEXCOORD1 = 8,
- D3DVSDE_TEXCOORD2 = 9,
- D3DVSDE_TEXCOORD3 = 10,
- D3DVSDE_TEXCOORD4 = 11,
- D3DVSDE_TEXCOORD5 = 12,
- D3DVSDE_TEXCOORD6 = 13,
- D3DVSDE_TEXCOORD7 = 14,
- D3DVSDE_POSITION2 = 15,
- D3DVSDE_NORMAL2 = 16
-} D3DVSDE_REGISTER;
-
-/** bit-field declaration for VertexRegister Type */
-/*
-#define D3DVSDT_FLOAT1 0x00
-#define D3DVSDT_FLOAT2 0x01
-#define D3DVSDT_FLOAT3 0x02
-#define D3DVSDT_FLOAT4 0x03
-#define D3DVSDT_D3DCOLOR 0x04
-#define D3DVSDT_UBYTE4 0x05
-#define D3DVSDT_SHORT2 0x06
-#define D3DVSDT_SHORT4 0x07
-*/
-typedef enum _D3DVSDT_TYPE {
- D3DVSDT_FLOAT1 = 0x00,
- D3DVSDT_FLOAT2 = 0x01,
- D3DVSDT_FLOAT3 = 0x02,
- D3DVSDT_FLOAT4 = 0x03,
- D3DVSDT_D3DCOLOR = 0x04,
- D3DVSDT_UBYTE4 = 0x05,
- D3DVSDT_SHORT2 = 0x06,
- D3DVSDT_SHORT4 = 0x07
-} D3DVSDT_TYPE;
-
-
-#define D3DVSD_CONSTADDRESSSHIFT 0
-#define D3DVSD_EXTINFOSHIFT 0
-#define D3DVSD_STREAMNUMBERSHIFT 0
-#define D3DVSD_VERTEXREGSHIFT 0
-#define D3DVSD_CONSTRSSHIFT 16
-#define D3DVSD_DATATYPESHIFT 16
-#define D3DVSD_SKIPCOUNTSHIFT 16
-#define D3DVSD_VERTEXREGINSHIFT 20
-#define D3DVSD_EXTCOUNTSHIFT 24
-#define D3DVSD_CONSTCOUNTSHIFT 25
-#define D3DVSD_DATALOADTYPESHIFT 28
-#define D3DVSD_STREAMTESSSHIFT 28
-#define D3DVSD_TOKENTYPESHIFT 29
-
-#define D3DVSD_CONSTADDRESSMASK (0x7F << D3DVSD_CONSTADDRESSSHIFT)
-#define D3DVSD_EXTINFOMASK (0xFFFFFF << D3DVSD_EXTINFOSHIFT)
-#define D3DVSD_STREAMNUMBERMASK (0xF << D3DVSD_STREAMNUMBERSHIFT)
-#define D3DVSD_VERTEXREGMASK (0x1F << D3DVSD_VERTEXREGSHIFT)
-#define D3DVSD_CONSTRSMASK (0x1FFF << D3DVSD_CONSTRSSHIFT)
-#define D3DVSD_DATATYPEMASK (0xF << D3DVSD_DATATYPESHIFT)
-#define D3DVSD_SKIPCOUNTMASK (0xF << D3DVSD_SKIPCOUNTSHIFT)
-#define D3DVSD_EXTCOUNTMASK (0x1F << D3DVSD_EXTCOUNTSHIFT)
-#define D3DVSD_VERTEXREGINMASK (0xF << D3DVSD_VERTEXREGINSHIFT)
-#define D3DVSD_CONSTCOUNTMASK (0xF << D3DVSD_CONSTCOUNTSHIFT)
-#define D3DVSD_DATALOADTYPEMASK (0x1 << D3DVSD_DATALOADTYPESHIFT)
-#define D3DVSD_STREAMTESSMASK (0x1 << D3DVSD_STREAMTESSSHIFT)
-#define D3DVSD_TOKENTYPEMASK (0x7 << D3DVSD_TOKENTYPESHIFT)
-
-
-#define D3DVSD_MAKETOKENTYPE(TokenType) \
- ((TokenType << D3DVSD_TOKENTYPESHIFT) & D3DVSD_TOKENTYPEMASK)
-
-#define D3DVSD_CONST(ConstantAddress, Count) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_CONSTMEM) | ((Count) << D3DVSD_CONSTCOUNTSHIFT) | (ConstantAddress))
-
-#define D3DVSD_END() 0xFFFFFFFF
-
-#define D3DVSD_NOP() 0x00000000
-
-#define D3DVSD_REG(VertexRegister, Type) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | ((Type) << D3DVSD_DATATYPESHIFT) | (VertexRegister))
-
-#define D3DVSD_SKIP(Count) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | 0x10000000 | ((Count) << D3DVSD_SKIPCOUNTSHIFT))
-
-#define D3DVSD_STREAM(StreamNumber) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (StreamNumber))
-
-#define D3DVSD_STREAM_TESS() \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (D3DVSD_STREAMTESSMASK))
-
-#define D3DVSD_TESSNORMAL(RegisterIn, RegisterOut) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | ((RegisterIn) << D3DVSD_VERTEXREGINSHIFT) | ((0x02) << D3DVSD_DATATYPESHIFT) | (RegisterOut))
-
-#define D3DVSD_TESSUV(Register) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | 0x10000000 | ((0x01) << D3DVSD_DATATYPESHIFT) | (Register))
-
-
-/********************************
- * Pixel/Vertex Shaders Functions
- */
-
-/** Maximum number of supported texture coordinates sets operation */
-#define D3DDP_MAXTEXCOORD 8
-
-/** opcode token mask */
-#define D3DSI_OPCODE_MASK 0x0000FFFF
-
-/** opcodes types for PS and VS */
-typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE {
- D3DSIO_NOP = 0,
- D3DSIO_MOV = 1,
- D3DSIO_ADD = 2,
- D3DSIO_SUB = 3,
- D3DSIO_MAD = 4,
- D3DSIO_MUL = 5,
- D3DSIO_RCP = 6,
- D3DSIO_RSQ = 7,
- D3DSIO_DP3 = 8,
- D3DSIO_DP4 = 9,
- D3DSIO_MIN = 10,
- D3DSIO_MAX = 11,
- D3DSIO_SLT = 12,
- D3DSIO_SGE = 13,
- D3DSIO_EXP = 14,
- D3DSIO_LOG = 15,
- D3DSIO_LIT = 16,
- D3DSIO_DST = 17,
- D3DSIO_LRP = 18,
- D3DSIO_FRC = 19,
- D3DSIO_M4x4 = 20,
- D3DSIO_M4x3 = 21,
- D3DSIO_M3x4 = 22,
- D3DSIO_M3x3 = 23,
- D3DSIO_M3x2 = 24,
-
- D3DSIO_TEXCOORD = 64,
- D3DSIO_TEXKILL = 65,
- D3DSIO_TEX = 66,
- D3DSIO_TEXBEM = 67,
- D3DSIO_TEXBEML = 68,
- D3DSIO_TEXREG2AR = 69,
- D3DSIO_TEXREG2GB = 70,
- D3DSIO_TEXM3x2PAD = 71,
- D3DSIO_TEXM3x2TEX = 72,
- D3DSIO_TEXM3x3PAD = 73,
- D3DSIO_TEXM3x3TEX = 74,
- D3DSIO_TEXM3x3DIFF = 75,
- D3DSIO_TEXM3x3SPEC = 76,
- D3DSIO_TEXM3x3VSPEC = 77,
- D3DSIO_EXPP = 78,
- D3DSIO_LOGP = 79,
- D3DSIO_CND = 80,
- D3DSIO_DEF = 81,
- D3DSIO_TEXREG2RGB = 82,
- D3DSIO_TEXDP3TEX = 83,
- D3DSIO_TEXM3x2DEPTH = 84,
- D3DSIO_TEXDP3 = 85,
- D3DSIO_TEXM3x3 = 86,
- D3DSIO_TEXDEPTH = 87,
- D3DSIO_CMP = 88,
- D3DSIO_BEM = 89,
-
- D3DSIO_PHASE = 0xFFFD,
- D3DSIO_COMMENT = 0xFFFE,
- D3DSIO_END = 0XFFFF,
-
- D3DSIO_FORCE_DWORD = 0X7FFFFFFF /** for 32-bit alignment */
-} D3DSHADER_INSTRUCTION_OPCODE_TYPE;
-
-/** for parallelism */
-#define D3DSI_COISSUE 0x40000000
-
-/** destination parameter modifiers (.xyzw) */
-#define D3DSP_WRITEMASK_0 0x00010000 /* .x r */
-#define D3DSP_WRITEMASK_1 0x00020000 /* .y g */
-#define D3DSP_WRITEMASK_2 0x00040000 /* .z b */
-#define D3DSP_WRITEMASK_3 0x00080000 /* .w a */
-#define D3DSP_WRITEMASK_ALL 0x000F0000 /* all */
-
-#define D3DSP_DSTMOD_SHIFT 20
-#define D3DSP_DSTMOD_MASK (0xF << D3DSP_DSTMOD_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_DSTMOD_TYPE {
- D3DSPDM_NONE = 0 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_SATURATE = 1 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_FORCE_DWORD = 0X7FFFFFFF
-} D3DSHADER_PARAM_DSTMOD_TYPE;
-
-/** destination param */
-#define D3DSP_DSTSHIFT_SHIFT 24
-#define D3DSP_DSTSHIFT_MASK (0xF << D3DSP_DSTSHIFT_SHIFT)
-
-/** destination/source reg type */
-#define D3DSP_REGTYPE_SHIFT 28
-#define D3DSP_REGTYPE_MASK (0x7 << D3DSP_REGTYPE_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_REGISTER_TYPE {
- D3DSPR_TEMP = 0 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_INPUT = 1 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_CONST = 2 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_ADDR = 3 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_TEXTURE = 3 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_RASTOUT = 4 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_ATTROUT = 5 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_TEXCRDOUT = 6 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_REGISTER_TYPE;
-
-typedef enum _D3DVS_RASTOUT_OFFSETS {
- D3DSRO_POSITION = 0,
- D3DSRO_FOG = 1,
- D3DSRO_POINT_SIZE = 2,
- D3DSRO_FORCE_DWORD = 0x7FFFFFFF
-} D3DVS_RASTOUT_OFFSETS;
-
-#define D3DVS_ADDRESSMODE_SHIFT 13
-#define D3DVS_ADDRESSMODE_MASK (0x1 << D3DVS_ADDRESSMODE_SHIFT)
-
-typedef enum _D3DVS_ADDRESSMODE_TYPE {
- D3DVS_ADDRMODE_ABSOLUTE = 0 << D3DVS_ADDRESSMODE_SHIFT,
- D3DVS_ADDRMODE_RELATIVE = 1 << D3DVS_ADDRESSMODE_SHIFT,
- D3DVS_ADDRMODE_FORCE_DWORD = 0x7FFFFFFF
-} D3DVS_ADDRESSMODE_TYPE;
-
-#define D3DVS_SWIZZLE_SHIFT 16
-#define D3DVS_SWIZZLE_MASK (0xFF << D3DVS_SWIZZLE_SHIFT)
-
-#define D3DSP_SWIZZLE_SHIFT 16
-#define D3DSP_SWIZZLE_MASK (0xFF << D3DSP_SWIZZLE_SHIFT)
-
-#define D3DVS_X_X (0 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Y (1 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Z (2 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_W (3 << D3DVS_SWIZZLE_SHIFT)
-
-#define D3DVS_Y_X (0 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Y (1 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Z (2 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_W (3 << (D3DVS_SWIZZLE_SHIFT + 2))
-
-#define D3DVS_Z_X (0 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Y (1 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Z (2 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_W (3 << (D3DVS_SWIZZLE_SHIFT + 4))
-
-#define D3DVS_W_X (0 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Y (1 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Z (2 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_W (3 << (D3DVS_SWIZZLE_SHIFT + 6))
-
-#define D3DVS_NOSWIZZLE (D3DVS_X_X | D3DVS_Y_Y | D3DVS_Z_Z | D3DVS_W_W)
-
-#define D3DSP_NOSWIZZLE \
- ((0 << (D3DSP_SWIZZLE_SHIFT + 0)) | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | (3 << (D3DSP_SWIZZLE_SHIFT + 6)))
-
-#define D3DSP_SRCMOD_SHIFT 24
-#define D3DSP_SRCMOD_MASK (0xF << D3DSP_SRCMOD_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_SRCMOD_TYPE {
- D3DSPSM_NONE = 0 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_NEG = 1 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIAS = 2 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIASNEG = 3 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGN = 4 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGNNEG = 5 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_COMP = 6 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2 = 7 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2NEG = 8 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DZ = 9 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DW = 10 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_SRCMOD_TYPE;
-
-#define D3DPS_VERSION(major, minor) (0xFFFF0000 | ((major) << 8) | (minor))
-#define D3DVS_VERSION(major, minor) (0xFFFE0000 | ((major) << 8) | (minor))
-#define D3DSHADER_VERSION_MAJOR(version) (((version) >> 8) & 0xFF)
-#define D3DSHADER_VERSION_MINOR(version) (((version) >> 0) & 0xFF)
-
-#define D3DSI_COMMENTSIZE_SHIFT 16
-#define D3DSI_COMMENTSIZE_MASK (0x7FFF << D3DSI_COMMENTSIZE_SHIFT)
-
-#define D3DSHADER_COMMENT(commentSize) \
- ((((commentSize) << D3DSI_COMMENTSIZE_SHIFT) & D3DSI_COMMENTSIZE_MASK) | D3DSIO_COMMENT)
-
-#define D3DPS_END() 0x0000FFFF
-#define D3DVS_END() 0x0000FFFF
-
-
-/*****************************************************************************
- * Direct 3D v8 enumerated types
- */
-typedef enum _D3DBACKBUFFER_TYPE {
- D3DBACKBUFFER_TYPE_MONO = 0,
- D3DBACKBUFFER_TYPE_LEFT = 1,
- D3DBACKBUFFER_TYPE_RIGHT = 2,
-
- D3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
-} D3DBACKBUFFER_TYPE;
-
-typedef enum _D3DBASISTYPE{
- D3DBASIS_BEZIER = 0,
- D3DBASIS_BSPLINE = 1,
- D3DBASIS_INTERPOLATE = 2,
-
- D3DBASIS_FORCE_DWORD = 0x7fffffff
-} D3DBASISTYPE;
-
-typedef enum _D3DBLEND {
- D3DBLEND_ZERO = 1,
- D3DBLEND_ONE = 2,
- D3DBLEND_SRCCOLOR = 3,
- D3DBLEND_INVSRCCOLOR = 4,
- D3DBLEND_SRCALPHA = 5,
- D3DBLEND_INVSRCALPHA = 6,
- D3DBLEND_DESTALPHA = 7,
- D3DBLEND_INVDESTALPHA = 8,
- D3DBLEND_DESTCOLOR = 9,
- D3DBLEND_INVDESTCOLOR = 10,
- D3DBLEND_SRCALPHASAT = 11,
- D3DBLEND_BOTHSRCALPHA = 12,
- D3DBLEND_BOTHINVSRCALPHA = 13,
-
- D3DBLEND_FORCE_DWORD = 0x7fffffff
-} D3DBLEND;
-
-typedef enum _D3DBLENDOP {
- D3DBLENDOP_ADD = 1,
- D3DBLENDOP_SUBTRACT = 2,
- D3DBLENDOP_REVSUBTRACT = 3,
- D3DBLENDOP_MIN = 4,
- D3DBLENDOP_MAX = 5,
-
- D3DBLENDOP_FORCE_DWORD = 0x7fffffff
-} D3DBLENDOP;
-
-typedef enum _D3DCMPFUNC {
- D3DCMP_NEVER = 1,
- D3DCMP_LESS = 2,
- D3DCMP_EQUAL = 3,
- D3DCMP_LESSEQUAL = 4,
- D3DCMP_GREATER = 5,
- D3DCMP_NOTEQUAL = 6,
- D3DCMP_GREATEREQUAL = 7,
- D3DCMP_ALWAYS = 8,
-
- D3DCMP_FORCE_DWORD = 0x7fffffff
-} D3DCMPFUNC;
-
-typedef enum _D3DCUBEMAP_FACES {
- D3DCUBEMAP_FACE_POSITIVE_X = 0,
- D3DCUBEMAP_FACE_NEGATIVE_X = 1,
- D3DCUBEMAP_FACE_POSITIVE_Y = 2,
- D3DCUBEMAP_FACE_NEGATIVE_Y = 3,
- D3DCUBEMAP_FACE_POSITIVE_Z = 4,
- D3DCUBEMAP_FACE_NEGATIVE_Z = 5,
-
- D3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
-} D3DCUBEMAP_FACES;
-
-typedef enum _D3DCULL {
- D3DCULL_NONE = 1,
- D3DCULL_CW = 2,
- D3DCULL_CCW = 3,
-
- D3DCULL_FORCE_DWORD = 0x7fffffff
-} D3DCULL;
-
-typedef enum _D3DDEBUGMONITORTOKENS {
- D3DDMT_ENABLE = 0,
- D3DDMT_DISABLE = 1,
-
- D3DDMT_FORCE_DWORD = 0x7fffffff
-} D3DDEBUGMONITORTOKENS;
-
-typedef enum _D3DDEVTYPE {
- D3DDEVTYPE_HAL = 1,
- D3DDEVTYPE_REF = 2,
- D3DDEVTYPE_SW = 3,
-
- D3DDEVTYPE_FORCE_DWORD = 0xffffffff
-} D3DDEVTYPE;
-
-typedef enum _D3DFILLMODE {
- D3DFILL_POINT = 1,
- D3DFILL_WIREFRAME = 2,
- D3DFILL_SOLID = 3,
-
- D3DFILL_FORCE_DWORD = 0x7fffffff
-} D3DFILLMODE;
-
-typedef enum _D3DFOGMODE {
- D3DFOG_NONE = 0,
- D3DFOG_EXP = 1,
- D3DFOG_EXP2 = 2,
- D3DFOG_LINEAR = 3,
-
- D3DFOG_FORCE_DWORD = 0x7fffffff
-} D3DFOGMODE;
-
-typedef enum _D3DFORMAT {
- D3DFMT_UNKNOWN = 0,
-
- D3DFMT_R8G8B8 = 20,
- D3DFMT_A8R8G8B8 = 21,
- D3DFMT_X8R8G8B8 = 22,
- D3DFMT_R5G6B5 = 23,
- D3DFMT_X1R5G5B5 = 24,
- D3DFMT_A1R5G5B5 = 25,
- D3DFMT_A4R4G4B4 = 26,
- D3DFMT_R3G3B2 = 27,
- D3DFMT_A8 = 28,
- D3DFMT_A8R3G3B2 = 29,
- D3DFMT_X4R4G4B4 = 30,
- D3DFMT_A2B10G10R10 = 31,
- D3DFMT_G16R16 = 34,
-
- D3DFMT_A8P8 = 40,
- D3DFMT_P8 = 41,
-
- D3DFMT_L8 = 50,
- D3DFMT_A8L8 = 51,
- D3DFMT_A4L4 = 52,
-
- D3DFMT_V8U8 = 60,
- D3DFMT_L6V5U5 = 61,
- D3DFMT_X8L8V8U8 = 62,
- D3DFMT_Q8W8V8U8 = 63,
- D3DFMT_V16U16 = 64,
- D3DFMT_W11V11U10 = 65,
- D3DFMT_A2W10V10U10 = 67,
-
- D3DFMT_UYVY = MAKEFOURCC('U', 'Y', 'V', 'Y'),
- D3DFMT_YUY2 = MAKEFOURCC('Y', 'U', 'Y', '2'),
- D3DFMT_DXT1 = MAKEFOURCC('D', 'X', 'T', '1'),
- D3DFMT_DXT2 = MAKEFOURCC('D', 'X', 'T', '2'),
- D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3'),
- D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4'),
- D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5'),
-
- D3DFMT_D16_LOCKABLE = 70,
- D3DFMT_D32 = 71,
- D3DFMT_D15S1 = 73,
- D3DFMT_D24S8 = 75,
- D3DFMT_D16 = 80,
- D3DFMT_D24X8 = 77,
- D3DFMT_D24X4S4 = 79,
-
- D3DFMT_VERTEXDATA = 100,
- D3DFMT_INDEX16 = 101,
- D3DFMT_INDEX32 = 102,
-
- D3DFMT_FORCE_DWORD = 0xFFFFFFFF
-} D3DFORMAT;
-
-typedef enum _D3DLIGHTTYPE {
- D3DLIGHT_POINT = 1,
- D3DLIGHT_SPOT = 2,
- D3DLIGHT_DIRECTIONAL = 3,
-
- D3DLIGHT_FORCE_DWORD = 0x7fffffff
-} D3DLIGHTTYPE;
-
-typedef enum _D3DMATERIALCOLORSOURCE {
- D3DMCS_MATERIAL = 0,
- D3DMCS_COLOR1 = 1,
- D3DMCS_COLOR2 = 2,
-
- D3DMCS_FORCE_DWORD = 0x7fffffff
-} D3DMATERIALCOLORSOURCE;
-
-typedef enum _D3DMULTISAMPLE_TYPE {
- D3DMULTISAMPLE_NONE = 0,
- D3DMULTISAMPLE_2_SAMPLES = 2,
- D3DMULTISAMPLE_3_SAMPLES = 3,
- D3DMULTISAMPLE_4_SAMPLES = 4,
- D3DMULTISAMPLE_5_SAMPLES = 5,
- D3DMULTISAMPLE_6_SAMPLES = 6,
- D3DMULTISAMPLE_7_SAMPLES = 7,
- D3DMULTISAMPLE_8_SAMPLES = 8,
- D3DMULTISAMPLE_9_SAMPLES = 9,
- D3DMULTISAMPLE_10_SAMPLES = 10,
- D3DMULTISAMPLE_11_SAMPLES = 11,
- D3DMULTISAMPLE_12_SAMPLES = 12,
- D3DMULTISAMPLE_13_SAMPLES = 13,
- D3DMULTISAMPLE_14_SAMPLES = 14,
- D3DMULTISAMPLE_15_SAMPLES = 15,
- D3DMULTISAMPLE_16_SAMPLES = 16,
-
- D3DMULTISAMPLE_FORCE_DWORD = 0x7fffffff
-} D3DMULTISAMPLE_TYPE;
-
-typedef enum _D3DORDERTYPE {
- D3DORDER_LINEAR = 1,
- D3DORDER_QUADRATIC = 2,
- D3DORDER_CUBIC = 3,
- D3DORDER_QUINTIC = 5,
-
- D3DORDER_FORCE_DWORD = 0x7fffffff
-} D3DORDERTYPE;
-
-typedef enum _D3DPATCHEDGESTYLE {
- D3DPATCHEDGE_DISCRETE = 0,
- D3DPATCHEDGE_CONTINUOUS = 1,
-
- D3DPATCHEDGE_FORCE_DWORD = 0x7fffffff,
-} D3DPATCHEDGESTYLE;
-
-typedef enum _D3DPOOL {
- D3DPOOL_DEFAULT = 0,
- D3DPOOL_MANAGED = 1,
- D3DPOOL_SYSTEMMEM = 2,
- D3DPOOL_SCRATCH = 3,
-
- D3DPOOL_FORCE_DWORD = 0x7fffffff
-} D3DPOOL;
-
-typedef enum _D3DPRIMITIVETYPE {
- D3DPT_POINTLIST = 1,
- D3DPT_LINELIST = 2,
- D3DPT_LINESTRIP = 3,
- D3DPT_TRIANGLELIST = 4,
- D3DPT_TRIANGLESTRIP = 5,
- D3DPT_TRIANGLEFAN = 6,
-
- D3DPT_FORCE_DWORD = 0x7fffffff
-} D3DPRIMITIVETYPE;
-
-typedef enum _D3DRENDERSTATETYPE {
- D3DRS_ZENABLE = 7,
- D3DRS_FILLMODE = 8,
- D3DRS_SHADEMODE = 9,
- D3DRS_LINEPATTERN = 10,
- D3DRS_ZWRITEENABLE = 14,
- D3DRS_ALPHATESTENABLE = 15,
- D3DRS_LASTPIXEL = 16,
- D3DRS_SRCBLEND = 19,
- D3DRS_DESTBLEND = 20,
- D3DRS_CULLMODE = 22,
- D3DRS_ZFUNC = 23,
- D3DRS_ALPHAREF = 24,
- D3DRS_ALPHAFUNC = 25,
- D3DRS_DITHERENABLE = 26,
- D3DRS_ALPHABLENDENABLE = 27,
- D3DRS_FOGENABLE = 28,
- D3DRS_SPECULARENABLE = 29,
- D3DRS_ZVISIBLE = 30,
- D3DRS_FOGCOLOR = 34,
- D3DRS_FOGTABLEMODE = 35,
- D3DRS_FOGSTART = 36,
- D3DRS_FOGEND = 37,
- D3DRS_FOGDENSITY = 38,
- D3DRS_EDGEANTIALIAS = 40,
- D3DRS_ZBIAS = 47,
- D3DRS_RANGEFOGENABLE = 48,
- D3DRS_STENCILENABLE = 52,
- D3DRS_STENCILFAIL = 53,
- D3DRS_STENCILZFAIL = 54,
- D3DRS_STENCILPASS = 55,
- D3DRS_STENCILFUNC = 56,
- D3DRS_STENCILREF = 57,
- D3DRS_STENCILMASK = 58,
- D3DRS_STENCILWRITEMASK = 59,
- D3DRS_TEXTUREFACTOR = 60,
- D3DRS_WRAP0 = 128,
- D3DRS_WRAP1 = 129,
- D3DRS_WRAP2 = 130,
- D3DRS_WRAP3 = 131,
- D3DRS_WRAP4 = 132,
- D3DRS_WRAP5 = 133,
- D3DRS_WRAP6 = 134,
- D3DRS_WRAP7 = 135,
- D3DRS_CLIPPING = 136,
- D3DRS_LIGHTING = 137,
- D3DRS_AMBIENT = 139,
- D3DRS_FOGVERTEXMODE = 140,
- D3DRS_COLORVERTEX = 141,
- D3DRS_LOCALVIEWER = 142,
- D3DRS_NORMALIZENORMALS = 143,
- D3DRS_DIFFUSEMATERIALSOURCE = 145,
- D3DRS_SPECULARMATERIALSOURCE = 146,
- D3DRS_AMBIENTMATERIALSOURCE = 147,
- D3DRS_EMISSIVEMATERIALSOURCE = 148,
- D3DRS_VERTEXBLEND = 151,
- D3DRS_CLIPPLANEENABLE = 152,
- D3DRS_SOFTWAREVERTEXPROCESSING = 153,
- D3DRS_POINTSIZE = 154,
- D3DRS_POINTSIZE_MIN = 155,
- D3DRS_POINTSPRITEENABLE = 156,
- D3DRS_POINTSCALEENABLE = 157,
- D3DRS_POINTSCALE_A = 158,
- D3DRS_POINTSCALE_B = 159,
- D3DRS_POINTSCALE_C = 160,
- D3DRS_MULTISAMPLEANTIALIAS = 161,
- D3DRS_MULTISAMPLEMASK = 162,
- D3DRS_PATCHEDGESTYLE = 163,
- D3DRS_PATCHSEGMENTS = 164,
- D3DRS_DEBUGMONITORTOKEN = 165,
- D3DRS_POINTSIZE_MAX = 166,
- D3DRS_INDEXEDVERTEXBLENDENABLE = 167,
- D3DRS_COLORWRITEENABLE = 168,
- D3DRS_TWEENFACTOR = 170,
- D3DRS_BLENDOP = 171,
- D3DRS_POSITIONORDER = 172,
- D3DRS_NORMALORDER = 173,
-
- D3DRS_FORCE_DWORD = 0x7fffffff
-} D3DRENDERSTATETYPE;
-
-typedef enum _D3DRESOURCETYPE {
- D3DRTYPE_SURFACE = 1,
- D3DRTYPE_VOLUME = 2,
- D3DRTYPE_TEXTURE = 3,
- D3DRTYPE_VOLUMETEXTURE = 4,
- D3DRTYPE_CUBETEXTURE = 5,
- D3DRTYPE_VERTEXBUFFER = 6,
- D3DRTYPE_INDEXBUFFER = 7,
-
- D3DRTYPE_FORCE_DWORD = 0x7fffffff
-} D3DRESOURCETYPE;
-
-typedef enum _D3DSHADEMODE {
- D3DSHADE_FLAT = 1,
- D3DSHADE_GOURAUD = 2,
- D3DSHADE_PHONG = 3,
-
- D3DSHADE_FORCE_DWORD = 0x7fffffff
-} D3DSHADEMODE;
-
-typedef enum _D3DSTATEBLOCKTYPE {
- D3DSBT_ALL = 1,
- D3DSBT_PIXELSTATE = 2,
- D3DSBT_VERTEXSTATE = 3,
-
- D3DSBT_FORCE_DWORD = 0xffffffff
-} D3DSTATEBLOCKTYPE;
-
-typedef enum _D3DSTENCILOP {
- D3DSTENCILOP_KEEP = 1,
- D3DSTENCILOP_ZERO = 2,
- D3DSTENCILOP_REPLACE = 3,
- D3DSTENCILOP_INCRSAT = 4,
- D3DSTENCILOP_DECRSAT = 5,
- D3DSTENCILOP_INVERT = 6,
- D3DSTENCILOP_INCR = 7,
- D3DSTENCILOP_DECR = 8,
-
- D3DSTENCILOP_FORCE_DWORD = 0x7fffffff
-} D3DSTENCILOP;
-
-typedef enum _D3DSWAPEFFECT {
- D3DSWAPEFFECT_DISCARD = 1,
- D3DSWAPEFFECT_FLIP = 2,
- D3DSWAPEFFECT_COPY = 3,
- D3DSWAPEFFECT_COPY_VSYNC = 4,
-
- D3DSWAPEFFECT_FORCE_DWORD = 0xFFFFFFFF
-} D3DSWAPEFFECT;
-
-typedef enum _D3DTEXTUREADDRESS {
- D3DTADDRESS_WRAP = 1,
- D3DTADDRESS_MIRROR = 2,
- D3DTADDRESS_CLAMP = 3,
- D3DTADDRESS_BORDER = 4,
- D3DTADDRESS_MIRRORONCE = 5,
-
- D3DTADDRESS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREADDRESS;
-
-typedef enum _D3DTEXTUREFILTERTYPE {
- D3DTEXF_NONE = 0,
- D3DTEXF_POINT = 1,
- D3DTEXF_LINEAR = 2,
- D3DTEXF_ANISOTROPIC = 3,
- D3DTEXF_FLATCUBIC = 4,
- D3DTEXF_GAUSSIANCUBIC = 5,
-
- D3DTEXF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREFILTERTYPE;
-
-typedef enum _D3DTEXTUREOP {
- D3DTOP_DISABLE = 1,
- D3DTOP_SELECTARG1 = 2,
- D3DTOP_SELECTARG2 = 3,
- D3DTOP_MODULATE = 4,
- D3DTOP_MODULATE2X = 5,
- D3DTOP_MODULATE4X = 6,
- D3DTOP_ADD = 7,
- D3DTOP_ADDSIGNED = 8,
- D3DTOP_ADDSIGNED2X = 9,
- D3DTOP_SUBTRACT = 10,
- D3DTOP_ADDSMOOTH = 11,
- D3DTOP_BLENDDIFFUSEALPHA = 12,
- D3DTOP_BLENDTEXTUREALPHA = 13,
- D3DTOP_BLENDFACTORALPHA = 14,
- D3DTOP_BLENDTEXTUREALPHAPM = 15,
- D3DTOP_BLENDCURRENTALPHA = 16,
- D3DTOP_PREMODULATE = 17,
- D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
- D3DTOP_MODULATECOLOR_ADDALPHA = 19,
- D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
- D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
- D3DTOP_BUMPENVMAP = 22,
- D3DTOP_BUMPENVMAPLUMINANCE = 23,
- D3DTOP_DOTPRODUCT3 = 24,
- D3DTOP_MULTIPLYADD = 25,
- D3DTOP_LERP = 26,
-
- D3DTOP_FORCE_DWORD = 0x7fffffff,
-} D3DTEXTUREOP;
-
-typedef enum _D3DTEXTURESTAGESTATETYPE {
- D3DTSS_COLOROP = 1,
- D3DTSS_COLORARG1 = 2,
- D3DTSS_COLORARG2 = 3,
- D3DTSS_ALPHAOP = 4,
- D3DTSS_ALPHAARG1 = 5,
- D3DTSS_ALPHAARG2 = 6,
- D3DTSS_BUMPENVMAT00 = 7,
- D3DTSS_BUMPENVMAT01 = 8,
- D3DTSS_BUMPENVMAT10 = 9,
- D3DTSS_BUMPENVMAT11 = 10,
- D3DTSS_TEXCOORDINDEX = 11,
- D3DTSS_ADDRESSU = 13,
- D3DTSS_ADDRESSV = 14,
- D3DTSS_BORDERCOLOR = 15,
- D3DTSS_MAGFILTER = 16,
- D3DTSS_MINFILTER = 17,
- D3DTSS_MIPFILTER = 18,
- D3DTSS_MIPMAPLODBIAS = 19,
- D3DTSS_MAXMIPLEVEL = 20,
- D3DTSS_MAXANISOTROPY = 21,
- D3DTSS_BUMPENVLSCALE = 22,
- D3DTSS_BUMPENVLOFFSET = 23,
- D3DTSS_TEXTURETRANSFORMFLAGS = 24,
- D3DTSS_ADDRESSW = 25,
- D3DTSS_COLORARG0 = 26,
- D3DTSS_ALPHAARG0 = 27,
- D3DTSS_RESULTARG = 28,
-
- D3DTSS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURESTAGESTATETYPE;
-
-typedef enum _D3DTEXTURETRANSFORMFLAGS {
- D3DTTFF_DISABLE = 0,
- D3DTTFF_COUNT1 = 1,
- D3DTTFF_COUNT2 = 2,
- D3DTTFF_COUNT3 = 3,
- D3DTTFF_COUNT4 = 4,
- D3DTTFF_PROJECTED = 256,
-
- D3DTTFF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURETRANSFORMFLAGS;
-
-typedef enum _D3DTRANSFORMSTATETYPE {
- D3DTS_VIEW = 2,
- D3DTS_PROJECTION = 3,
- D3DTS_TEXTURE0 = 16,
- D3DTS_TEXTURE1 = 17,
- D3DTS_TEXTURE2 = 18,
- D3DTS_TEXTURE3 = 19,
- D3DTS_TEXTURE4 = 20,
- D3DTS_TEXTURE5 = 21,
- D3DTS_TEXTURE6 = 22,
- D3DTS_TEXTURE7 = 23,
-
- D3DTS_FORCE_DWORD = 0x7fffffff
-} D3DTRANSFORMSTATETYPE;
-
-typedef enum _D3DVERTEXBLENDFLAGS {
- D3DVBF_DISABLE = 0,
- D3DVBF_1WEIGHTS = 1,
- D3DVBF_2WEIGHTS = 2,
- D3DVBF_3WEIGHTS = 3,
- D3DVBF_TWEENING = 255,
- D3DVBF_0WEIGHTS = 256
-} D3DVERTEXBLENDFLAGS;
-
-typedef enum _D3DZBUFFERTYPE {
- D3DZB_FALSE = 0,
- D3DZB_TRUE = 1,
- D3DZB_USEW = 2,
-
- D3DZB_FORCE_DWORD = 0x7fffffff
-} D3DZBUFFERTYPE;
-
-
-/*****************************************************************************
- * Direct 3D v8 typedefs
- */
-typedef DWORD D3DCOLOR;
-
-/*****************************************************************************
- * Direct 3D v8 structures
- */
-typedef struct _D3DADAPTER_IDENTIFIER8 {
- char Driver[MAX_DEVICE_IDENTIFIER_STRING];
- char Description[MAX_DEVICE_IDENTIFIER_STRING];
-
- LARGE_INTEGER DriverVersion;
- DWORD VendorId;
- DWORD DeviceId;
- DWORD SubSysId;
- DWORD Revision;
-
- GUID DeviceIdentifier;
-
- DWORD WHQLLevel;
-} D3DADAPTER_IDENTIFIER8;
-
-typedef struct _D3DBOX {
- UINT Left;
- UINT Top;
- UINT Right;
- UINT Bottom;
- UINT Front;
- UINT Back;
-} D3DBOX;
-
-typedef struct _D3DCLIPSTATUS8 {
- DWORD ClipUnion;
- DWORD ClipIntersection;
-} D3DCLIPSTATUS8;
-
-typedef struct _D3DCOLORVALUE {
- float r;
- float g;
- float b;
- float a;
-} D3DCOLORVALUE;
-
-typedef struct _D3DDEVICE_CREATION_PARAMETERS {
- UINT AdapterOrdinal;
- D3DDEVTYPE DeviceType;
- HWND hFocusWindow;
- DWORD BehaviorFlags;
-} D3DDEVICE_CREATION_PARAMETERS;
-
-typedef struct _D3DDISPLAYMODE {
- UINT Width;
- UINT Height;
- UINT RefreshRate;
- D3DFORMAT Format;
-} D3DDISPLAYMODE;
-
-typedef struct _D3DGAMMARAMP {
- WORD red [256];
- WORD green[256];
- WORD blue [256];
-} D3DGAMMARAMP;
-
-typedef struct _D3DINDEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
-} D3DINDEXBUFFER_DESC;
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- float x;
- float y;
- float z;
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-
-typedef struct _D3DLIGHT8 {
- D3DLIGHTTYPE Type;
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Ambient;
- D3DVECTOR Position;
- D3DVECTOR Direction;
- float Range;
- float Falloff;
- float Attenuation0;
- float Attenuation1;
- float Attenuation2;
- float Theta;
- float Phi;
-} D3DLIGHT8;
-
-typedef struct _D3DLINEPATTERN {
- WORD wRepeatFactor;
- WORD wLinePattern;
-} D3DLINEPATTERN;
-
-typedef struct _D3DLOCKED_BOX {
- INT RowPitch;
- INT SlicePitch;
- void* pBits;
-} D3DLOCKED_BOX;
-
-typedef struct _D3DLOCKED_RECT {
- INT Pitch;
- void* pBits;
-} D3DLOCKED_RECT;
-
-typedef struct _D3DMATERIAL8 {
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Ambient;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Emissive;
- float Power;
-} D3DMATERIAL8;
-
-typedef struct _D3DMATRIX {
- union {
- struct {
- float _11, _12, _13, _14;
- float _21, _22, _23, _24;
- float _31, _32, _33, _34;
- float _41, _42, _43, _44;
- } DUMMYSTRUCTNAME;
- float m[4][4];
- } DUMMYUNIONNAME;
-} D3DMATRIX;
-
-typedef struct _D3DPRESENT_PARAMETERS_ {
- UINT BackBufferWidth;
- UINT BackBufferHeight;
- D3DFORMAT BackBufferFormat;
- UINT BackBufferCount;
-
- D3DMULTISAMPLE_TYPE MultiSampleType;
-
- D3DSWAPEFFECT SwapEffect;
- HWND hDeviceWindow;
- BOOL Windowed;
- BOOL EnableAutoDepthStencil;
- D3DFORMAT AutoDepthStencilFormat;
- DWORD Flags;
-
- UINT FullScreen_RefreshRateInHz;
- UINT FullScreen_PresentationInterval;
-
-} D3DPRESENT_PARAMETERS;
-
-#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001
-
-typedef struct _D3DRANGE {
- UINT Offset;
- UINT Size;
-} D3DRANGE;
-
-typedef struct _D3DRASTER_STATUS {
- BOOL InVBlank;
- UINT ScanLine;
-} D3DRASTER_STATUS;
-
-typedef struct _D3DRECT {
- LONG x1;
- LONG y1;
- LONG x2;
- LONG y2;
-} D3DRECT;
-
-typedef struct _D3DRECTPATCH_INFO {
- UINT StartVertexOffsetWidth;
- UINT StartVertexOffsetHeight;
- UINT Width;
- UINT Height;
- UINT Stride;
- D3DBASISTYPE Basis;
- D3DORDERTYPE Order;
-} D3DRECTPATCH_INFO;
-
-typedef struct _D3DSURFACE_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- D3DMULTISAMPLE_TYPE MultiSampleType;
- UINT Width;
- UINT Height;
-} D3DSURFACE_DESC;
-
-typedef struct _D3DTRIPATCH_INFO {
- UINT StartVertexOffset;
- UINT NumVertices;
- D3DBASISTYPE Basis;
- D3DORDERTYPE Order;
-} D3DTRIPATCH_INFO;
-
-typedef struct _D3DVERTEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- DWORD FVF;
-} D3DVERTEXBUFFER_DESC;
-
-typedef struct _D3DVIEWPORT8 {
- DWORD X;
- DWORD Y;
- DWORD Width;
- DWORD Height;
- float MinZ;
- float MaxZ;
-} D3DVIEWPORT8;
-
-typedef struct _D3DVOLUME_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- UINT Width;
- UINT Height;
- UINT Depth;
-} D3DVOLUME_DESC;
-
-#endif /* __WINE_D3D8TYPES_H */
+++ /dev/null
-/*
- * Copyright (C) 2002-2003 Jason Edmeades
- * Raphael Junqueira
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D9_H
-#define __WINE_D3D9_H
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0900
-#endif
-
-#include <stdlib.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-
-#ifndef __WINESRC__
-# include <windows.h>
-#endif
-
-#include <d3d9types.h>
-#include <d3d9caps.h>
-
-/*****************************************************************************
- * Behavior Flags for IDirect3D8::CreateDevice
- */
-#define D3DCREATE_FPU_PRESERVE 0x00000002L
-#define D3DCREATE_MULTITHREADED 0x00000004L
-#define D3DCREATE_PUREDEVICE 0x00000010L
-#define D3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020L
-#define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040L
-#define D3DCREATE_MIXED_VERTEXPROCESSING 0x00000080L
-#define D3DCREATE_DISABLE_DRIVER_MANAGEMENT 0x00000100L
-#define D3DCREATE_ADAPTERGROUP_DEVICE 0x00000200L
-
-/*****************************************************************************
- * Flags for SetPrivateData
- */
-#define D3DSPD_IUNKNOWN 0x00000001L
-
-
-/*****************************************************************************
- * #defines and error codes
- */
-#define D3D_SDK_VERSION 32
-#define D3DADAPTER_DEFAULT 0
-#define D3DENUM_NO_WHQL_LEVEL 0x00000002L
-#define D3DPRESENT_BACK_BUFFERS_MAX 3L
-#define D3DSGR_NO_CALIBRATION 0x00000000L
-#define D3DSGR_CALIBRATE 0x00000001L
-
-#define _FACD3D 0x876
-#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
-#define MAKE_D3DSTATUS( code ) MAKE_HRESULT( 0, _FACD3D, code )
-
-/*****************************************************************************
- * Direct3D Errors
- */
-#define D3D_OK S_OK
-#define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072)
-#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073)
-#define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074)
-#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075)
-#define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076)
-#define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077)
-#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078)
-#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
-#define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081)
-#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082)
-#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086)
-#define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087)
-#define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150)
-#define D3DERR_MOREDATA MAKE_D3DHRESULT(2151)
-#define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152)
-#define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153)
-#define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154)
-#define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380)
-#define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155)
-#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
-#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
-#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540)
-#define D3DOK_NOAUTOGEN MAKE_D3DSTATUS(2159)
-
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-DEFINE_GUID(IID_IDirect3D9, 0x81BDCBCA, 0x64D4, 0x426D, 0xAE, 0x8D, 0xAD, 0x1, 0x47, 0xF4, 0x27, 0x5C);
-typedef struct IDirect3D9 *LPDIRECT3D9, *PDIRECT3D9;
-
-DEFINE_GUID(IID_IDirect3D9Ex, 0x02177241, 0x69FC, 0x400C, 0x8F, 0xF1, 0x93, 0xA4, 0x4D, 0xF6, 0x86, 0x1D);
-typedef struct IDirect3D9Ex *LPDIRECT3D9EX, *PDIRECT3D9EX;
-
-DEFINE_GUID(IID_IDirect3DDevice9, 0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb);
-typedef struct IDirect3DDevice9 *LPDIRECT3DDEVICE9;
-
-DEFINE_GUID(IID_IDirect3DDevice9Ex, 0xb18b10ce, 0x2649, 0x405a, 0x87, 0xf, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a);
-typedef struct IDirect3DDevice9Ex *LPDIRECT3DDEVICE9EX, *PDIRECT3DDEVICE9EX;
-
-DEFINE_GUID(IID_IDirect3DResource9, 0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x4);
-typedef struct IDirect3DResource9 *LPDIRECT3DRESOURCE9, *PDIRECT3DRESOURCE9;
-
-DEFINE_GUID(IID_IDirect3DVertexBuffer9, 0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3);
-typedef struct IDirect3DVertexBuffer9 *LPDIRECT3DVERTEXBUFFER9, *PDIRECT3DVERTEXBUFFER9;
-
-DEFINE_GUID(IID_IDirect3DVolume9, 0x24f416e6, 0x1f67, 0x4aa7, 0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1);
-typedef struct IDirect3DVolume9 *LPDIRECT3DVOLUME9, *PDIRECT3DVOLUME9;
-
-DEFINE_GUID(IID_IDirect3DSwapChain9, 0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b);
-typedef struct IDirect3DSwapChain9 *LPDIRECT3DSWAPCHAIN9, *PDIRECT3DSWAPCHAIN9;
-
-DEFINE_GUID(IID_IDirect3DSwapChain9Ex, 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x3);
-typedef struct IDirect3DSwapChain9Ex *LPDIRECT3DSWAPCHAIN9EX, *PDIRECT3DSWAPCHAIN9EX;
-
-DEFINE_GUID(IID_IDirect3DSurface9, 0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b);
-typedef struct IDirect3DSurface9 *LPDIRECT3DSURFACE9, *PDIRECT3DSURFACE9;
-
-DEFINE_GUID(IID_IDirect3DIndexBuffer9, 0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35);
-typedef struct IDirect3DIndexBuffer9 *LPDIRECT3DINDEXBUFFER9, *PDIRECT3DINDEXBUFFER9;
-
-DEFINE_GUID(IID_IDirect3DBaseTexture9, 0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce);
-typedef struct IDirect3DBaseTexture9 *LPDIRECT3DBASETEXTURE9, *PDIRECT3DBASETEXTURE9;
-
-DEFINE_GUID(IID_IDirect3DTexture9, 0x85c31227, 0x3de5, 0x4f00, 0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5);
-typedef struct IDirect3DTexture9 *LPDIRECT3DTEXTURE9, *PDIRECT3DTEXTURE9;
-
-DEFINE_GUID(IID_IDirect3DCubeTexture9, 0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f);
-typedef struct IDirect3DCubeTexture9 *LPDIRECT3DCUBETEXTURE9, *PDIRECT3DCUBETEXTURE9;
-
-DEFINE_GUID(IID_IDirect3DVolumeTexture9, 0x2518526c, 0xe789, 0x4111, 0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6);
-typedef struct IDirect3DVolumeTexture9 *LPDIRECT3DVOLUMETEXTURE9, *PDIRECT3DVOLUMETEXTURE9;
-
-DEFINE_GUID(IID_IDirect3DVertexDeclaration9, 0xdd13c59c, 0x36fa, 0x4098, 0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46);
-typedef struct IDirect3DVertexDeclaration9 *LPDIRECT3DVERTEXDECLARATION9;
-
-DEFINE_GUID(IID_IDirect3DVertexShader9, 0xefc5557e, 0x6265, 0x4613, 0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36);
-typedef struct IDirect3DVertexShader9 *LPDIRECT3DVERTEXSHADER9;
-
-DEFINE_GUID(IID_IDirect3DPixelShader9, 0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89);
-typedef struct IDirect3DPixelShader9 *LPDIRECT3DPIXELSHADER9;
-
-DEFINE_GUID(IID_IDirect3DStateBlock9, 0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, 0x3c, 0x4f, 0xf, 0x20, 0x6f, 0x21, 0x8b);
-typedef struct IDirect3DStateBlock9 *LPDIRECT3DSTATEBLOCK9;
-
-DEFINE_GUID(IID_IDirect3DQuery9, 0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc);
-typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9;
-
-/*****************************************************************************
- * IDirect3D9 interface
- */
-#undef INTERFACE
-#define INTERFACE IDirect3D9
-DECLARE_INTERFACE_(IDirect3D9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D9 methods ***/
- STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
- STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
- STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;
- STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE;
- STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter, D3DDEVTYPE DevType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed) PURE;
- STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE;
- STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels) PURE;
- STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
- STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps) PURE;
- STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
- STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, struct IDirect3DDevice9** ppReturnedDeviceInterface) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D9 methods ***/
-#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
-#define IDirect3D9_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
-#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
-#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b)
-#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
-#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
-#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
-#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
-#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
-#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
-#define IDirect3D9_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
-#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D9_AddRef(p) (p)->AddRef()
-#define IDirect3D9_Release(p) (p)->Release()
-/*** IDirect3D9 methods ***/
-#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
-#define IDirect3D9_GetAdapterCount(p) (p)->GetAdapterCount()
-#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
-#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->GetAdapterModeCount(a,b)
-#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->EnumAdapterModes(a,b,c,d)
-#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
-#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
-#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
-#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->CheckDeviceFormatConversion(a,b,c,d)
-#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
-#define IDirect3D9_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
-#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
-#endif
-
-/*****************************************************************************
- * IDirect3D9Ex interface
- */
-#define INTERFACE IDirect3D9Ex
-DECLARE_INTERFACE_(IDirect3D9Ex,IDirect3D9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D9 methods ***/
-
- /* Note: Microsoft's d3d9.h does not declare IDirect3D9Ex::RegisterSoftwareDevice . This would mean that
- * the offsets of the other methods in the Vtable change too. This is wrong. In Microsoft's
- * d3d9.dll, the offsets for the other functions are still compatible with IDirect3D9.
- * This is probably because even in MS's header IDirect3D9Ex inherits from IDirect3D9, which makes the
- * C++ inferface compatible, and nobody uses the C interface in Windows world.
- */
- STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
-
- STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
- STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;
- STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE;
- STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter, D3DDEVTYPE DevType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed) PURE;
- STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE;
- STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels) PURE;
- STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
- STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps) PURE;
- STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
- STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, struct IDirect3DDevice9** ppReturnedDeviceInterface) PURE;
- /*** IDirect3D9Ex methods ***/
- STDMETHOD_(UINT, GetAdapterModeCountEx)(THIS_ UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter) PURE;
- STDMETHOD(EnumAdapterModesEx)(THIS_ UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter, UINT Mode, D3DDISPLAYMODEEX* pMode) PURE;
- STDMETHOD(GetAdapterDisplayModeEx)(THIS_ UINT Adapter, D3DDISPLAYMODEEX *pMode, D3DDISPLAYROTATION *pRotation);
- STDMETHOD(CreateDeviceEx)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX* pFullscreenDisplayMode, struct IDirect3DDevice9Ex **ppReturnedDeviceInterface) PURE;
- STDMETHOD(GetAdapterLUID)(THIS_ UINT Adatper, LUID *pLUID) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D9Ex_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D9Ex_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D9 methods ***/
-#define IDirect3D9Ex_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
-#define IDirect3D9Ex_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
-#define IDirect3D9Ex_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
-#define IDirect3D9Ex_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b)
-#define IDirect3D9Ex_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
-#define IDirect3D9Ex_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
-#define IDirect3D9Ex_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
-#define IDirect3D9Ex_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
-#define IDirect3D9Ex_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
-#define IDirect3D9Ex_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
-#define IDirect3D9Ex_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
-#define IDirect3D9Ex_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
-#define IDirect3D9Ex_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
-#define IDirect3D9Ex_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
-/*** IDirect3D9Ex methods ***/
-#define IDirect3D9Ex_GetAdapterModeCountEx(p,a,b) (p)->lpVtbl->GetAdapterModeCountEx(p,a,b)
-#define IDirect3D9Ex_EnumAdapterModesEx(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModesEx(p,a,b,c,d)
-#define IDirect3D9Ex_GetAdapterDisplayModeEx(p,a,b,c) (p)->lpVtbl->GetAdapterDisplayModeEx(p,a,b,c)
-#define IDirect3D9Ex_CreateDeviceEx(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateDeviceEx(p,a,b,c,d,e,f,g)
-#define IDirect3D9Ex_GetAdapterLUID(p,a,b) (p)->lpVtbl->GetAdapterLUID(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D9Ex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D9Ex_AddRef(p) (p)->AddRef()
-#define IDirect3D9Ex_Release(p) (p)->Release()
-/*** IDirect3D9 methods ***/
-#define IDirect3D9Ex_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
-#define IDirect3D9Ex_GetAdapterCount(p) (p)->GetAdapterCount()
-#define IDirect3D9Ex_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
-#define IDirect3D9Ex_GetAdapterModeCount(p,a,b) (p)->GetAdapterModeCount(a,b)
-#define IDirect3D9Ex_EnumAdapterModes(p,a,b,c,d) (p)->EnumAdapterModes(a,b,c,d)
-#define IDirect3D9Ex_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
-#define IDirect3D9Ex_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
-#define IDirect3D9Ex_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
-#define IDirect3D9Ex_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
-#define IDirect3D9Ex_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
-#define IDirect3D9Ex_CheckDeviceFormatConversion(p,a,b,c,d) (p)->CheckDeviceFormatConversion(a,b,c,d)
-#define IDirect3D9Ex_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
-#define IDirect3D9Ex_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
-#define IDirect3D9Ex_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
-#endif
-
-/*****************************************************************************
- * IDirect3DVolume9 interface
- */
-#define INTERFACE IDirect3DVolume9
-DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVolume9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC* pDesc) PURE;
- STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolume9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolume9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVolume9 methods ***/
-#define IDirect3DVolume9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolume9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolume9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DVolume9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
-#define IDirect3DVolume9_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolume9_AddRef(p) (p)->AddRef()
-#define IDirect3DVolume9_Release(p) (p)->Release()
-/*** IDirect3DVolume9 methods ***/
-#define IDirect3DVolume9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolume9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolume9_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DVolume9_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->LockBox(a,b,c)
-#define IDirect3DVolume9_UnlockBox(p) (p)->UnlockBox()
-#endif
-
-/*****************************************************************************
- * IDirect3DSwapChain9 interface
- */
-#define INTERFACE IDirect3DSwapChain9
-DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DSwapChain9 methods ***/
- STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion, DWORD dwFlags) PURE;
- STDMETHOD(GetFrontBufferData)(THIS_ struct IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface9** ppBackBuffer) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS* pRasterStatus) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSwapChain9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSwapChain9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DSwapChain9 methods ***/
-#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->lpVtbl->Present(p,a,b,c,d,e)
-#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->lpVtbl->GetFrontBufferData(p,a)
-#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
-#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
-#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
-#define IDirect3DSwapChain9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->lpVtbl->GetPresentParameters(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSwapChain9_AddRef(p) (p)->AddRef()
-#define IDirect3DSwapChain9_Release(p) (p)->Release()
-/*** IDirect3DSwapChain9 methods ***/
-#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->Present(a,b,c,d,e)
-#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->GetFrontBufferData(a)
-#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
-#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
-#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
-#define IDirect3DSwapChain9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->GetPresentParameters(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DResource9 interface
- */
-#define INTERFACE IDirect3DResource9
-DECLARE_INTERFACE_(IDirect3DResource9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DResource9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DResource9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DResource9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DResource9 methods ***/
-#define IDirect3DResource9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DResource9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DResource9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DResource9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DResource9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DResource9_GetType(p) (p)->lpVtbl->GetType(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DResource9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DResource9_AddRef(p) (p)->AddRef()
-#define IDirect3DResource9_Release(p) (p)->Release()
-/*** IDirect3DResource9 methods ***/
-#define IDirect3DResource9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DResource9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DResource9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DResource9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DResource9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DResource9_GetType(p) (p)->GetType()
-#endif
-
-/*****************************************************************************
- * IDirect3DSurface9 interface
- */
-#define INTERFACE IDirect3DSurface9
-DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DSurface9 methods ***/
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC* pDesc) PURE;
- STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS) PURE;
- STDMETHOD(GetDC)(THIS_ HDC* phdc) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC hdc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSurface9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSurface9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DSurface9 methods: IDirect3DResource9 ***/
-#define IDirect3DSurface9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DSurface9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DSurface9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DSurface9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DSurface9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DSurface9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DSurface9 methods ***/
-#define IDirect3DSurface9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DSurface9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
-#define IDirect3DSurface9_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
-#define IDirect3DSurface9_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirect3DSurface9_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSurface9_AddRef(p) (p)->AddRef()
-#define IDirect3DSurface9_Release(p) (p)->Release()
-/*** IDirect3DSurface9 methods: IDirect3DResource9 ***/
-#define IDirect3DSurface9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DSurface9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DSurface9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DSurface9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DSurface9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DSurface9_GetType(p) (p)->GetType()
-/*** IDirect3DSurface9 methods ***/
-#define IDirect3DSurface9_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DSurface9_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->LockRect(a,b,c)
-#define IDirect3DSurface9_UnlockRect(p) (p)->UnlockRect()
-#define IDirect3DSurface9_GetDC(p,a) (p)->GetDC(a)
-#define IDirect3DSurface9_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexBuffer9 interface
- */
-#define INTERFACE IDirect3DVertexBuffer9
-DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DVertexBuffer9 methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC* pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexBuffer9 methods: IDirect3DResource9 ***/
-#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVertexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVertexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVertexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DVertexBuffer9 methods ***/
-#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DVertexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer9_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer9_Release(p) (p)->Release()
-/*** IDirect3DVertexBuffer9 methods: IDirect3DResource9 ***/
-#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVertexBuffer9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVertexBuffer9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVertexBuffer9_GetType(p) (p)->GetType()
-/*** IDirect3DVertexBuffer9 methods ***/
-#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DVertexBuffer9_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DIndexBuffer9 interface
- */
-#define INTERFACE IDirect3DIndexBuffer9
-DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DIndexBuffer9 methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC* pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DIndexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DIndexBuffer9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DIndexBuffer9 methods: IDirect3DResource9 ***/
-#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DIndexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DIndexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DIndexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DIndexBuffer9 methods ***/
-#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DIndexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DIndexBuffer9_AddRef(p) (p)->AddRef()
-#define IDirect3DIndexBuffer9_Release(p) (p)->Release()
-/*** IDirect3DIndexBuffer9 methods: IDirect3DResource9 ***/
-#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DIndexBuffer9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DIndexBuffer9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DIndexBuffer9_GetType(p) (p)->GetType()
-/*** IDirect3DIndexBuffer9 methods ***/
-#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DIndexBuffer9_Unlock(p) (p)->Unlock()
-#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DBaseTexture9 interface
- */
-#define INTERFACE IDirect3DBaseTexture9
-DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture9 methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DBaseTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DBaseTexture9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DBaseTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DBaseTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DBaseTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DBaseTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DBaseTexture9 methods ***/
-#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DBaseTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DBaseTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DBaseTexture9_Release(p) (p)->Release()
-/*** IDirect3DBaseTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DBaseTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DBaseTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DBaseTexture9_GetType(p) (p)->GetType()
-/*** IDirect3DBaseTexture9 methods ***/
-#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DBaseTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-#endif
-
-/*****************************************************************************
- * IDirect3DCubeTexture9 interface
- */
-#define INTERFACE IDirect3DCubeTexture9
-DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture9 methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- /*** IDirect3DCubeTexture9 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC* pDesc) PURE;
- STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface) PURE;
- STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType, CONST RECT* pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DCubeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DCubeTexture9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DCubeTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DCubeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DCubeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DCubeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DCubeTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DCubeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-/*** IDirect3DCubeTexture9 methods ***/
-#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
-#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
-#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
-#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DCubeTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DCubeTexture9_Release(p) (p)->Release()
-/*** IDirect3DCubeTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DCubeTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DCubeTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DCubeTexture9_GetType(p) (p)->GetType()
-/*** IDirect3DCubeTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DCubeTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-/*** IDirect3DCubeTexture9 methods ***/
-#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c)
-#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e)
-#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->UnlockRect(a,b)
-#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DTexture9 interface
- */
-#define INTERFACE IDirect3DTexture9
-DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture9 methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- /*** IDirect3DTexture9 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DSURFACE_DESC* pDesc) PURE;
- STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level, IDirect3DSurface9** ppSurfaceLevel) PURE;
- STDMETHOD(LockRect)(THIS_ UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-/*** IDirect3DTexture9 methods ***/
-#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b)
-#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d)
-#define IDirect3DTexture9_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a)
-#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture9_Release(p) (p)->Release()
-/*** IDirect3DTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DTexture9_GetType(p) (p)->GetType()
-/*** IDirect3DTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-/*** IDirect3DTexture9 methods ***/
-#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b)
-#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d)
-#define IDirect3DTexture9_UnlockRect(p,a) (p)->UnlockRect(a)
-#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->AddDirtyRect(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DVolumeTexture9 interface
- */
-#define INTERFACE IDirect3DVolumeTexture9
-DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture9 methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- /*** IDirect3DVolumeTexture9 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DVOLUME_DESC *pDesc) PURE;
- STDMETHOD(GetVolumeLevel)(THIS_ UINT Level, IDirect3DVolume9** ppVolumeLevel) PURE;
- STDMETHOD(LockBox)(THIS_ UINT Level, D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX* pDirtyBox) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolumeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolumeTexture9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVolumeTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVolumeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVolumeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVolumeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DVolumeTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DVolumeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-/*** IDirect3DVolumeTexture9 methods ***/
-#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
-#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
-#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
-#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolumeTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DVolumeTexture9_Release(p) (p)->Release()
-/*** IDirect3DVolumeTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVolumeTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVolumeTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVolumeTexture9_GetType(p) (p)->GetType()
-/*** IDirect3DVolumeTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DVolumeTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-/*** IDirect3DVolumeTexture9 methods ***/
-#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
-#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
-#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->UnlockBox(a)
-#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexDeclaration9 interface
- */
-#define INTERFACE IDirect3DVertexDeclaration9
-DECLARE_INTERFACE_(IDirect3DVertexDeclaration9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVertexDeclaration9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9*, UINT* pNumElements) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexDeclaration9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexDeclaration9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexShader9 methods ***/
-#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->lpVtbl->GetDeclaration(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexDeclaration9_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexDeclaration9_Release(p) (p)->Release()
-/*** IDirect3DVertexShader9 methods ***/
-#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->GetDeclaration(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexShader9 interface
- */
-#define INTERFACE IDirect3DVertexShader9
-DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVertexShader9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(GetFunction)(THIS_ void*, UINT* pSizeOfData) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexShader9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexShader9 methods ***/
-#define IDirect3DVertexShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexShader9_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexShader9_Release(p) (p)->Release()
-/*** IDirect3DVertexShader9 methods ***/
-#define IDirect3DVertexShader9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DPixelShader9 interface
- */
-#define INTERFACE IDirect3DPixelShader9
-DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DPixelShader9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(GetFunction)(THIS_ void*, UINT* pSizeOfData) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DPixelShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DPixelShader9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DPixelShader9 methods ***/
-#define IDirect3DPixelShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DPixelShader9_AddRef(p) (p)->AddRef()
-#define IDirect3DPixelShader9_Release(p) (p)->Release()
-/*** IDirect3DPixelShader9 methods ***/
-#define IDirect3DPixelShader9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DStateBlock9 interface
- */
-#define INTERFACE IDirect3DStateBlock9
-DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DStateBlock9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(Capture)(THIS) PURE;
- STDMETHOD(Apply)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DStateBlock9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DStateBlock9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DStateBlock9 methods ***/
-#define IDirect3DStateBlock9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DStateBlock9_Capture(p) (p)->lpVtbl->Capture(p)
-#define IDirect3DStateBlock9_Apply(p) (p)->lpVtbl->Apply(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DStateBlock9_AddRef(p) (p)->AddRef()
-#define IDirect3DStateBlock9_Release(p) (p)->Release()
-/*** IDirect3DStateBlock9 methods ***/
-#define IDirect3DStateBlock9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DStateBlock9_Capture(p) (p)->Capture()
-#define IDirect3DStateBlock9_Apply(p) (p)->Apply()
-#endif
-
-/*****************************************************************************
- * IDirect3DQuery9 interface
- */
-#define INTERFACE IDirect3DQuery9
-DECLARE_INTERFACE_(IDirect3DQuery9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DQuery9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD_(D3DQUERYTYPE, GetType)(THIS) PURE;
- STDMETHOD_(DWORD, GetDataSize)(THIS) PURE;
- STDMETHOD(Issue)(THIS_ DWORD dwIssueFlags) PURE;
- STDMETHOD(GetData)(THIS_ void* pData, DWORD dwSize, DWORD dwGetDataFlags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DQuery9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DQuery9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DQuery9 ***/
-#define IDirect3DQuery9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DQuery9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DQuery9_GetDataSize(p) (p)->lpVtbl->GetDataSize(p)
-#define IDirect3DQuery9_Issue(p,a) (p)->lpVtbl->Issue(p,a)
-#define IDirect3DQuery9_GetData(p,a,b,c) (p)->lpVtbl->GetData(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DQuery9_AddRef(p) (p)->AddRef()
-#define IDirect3DQuery9_Release(p) (p)->Release()
-/*** IDirect3DQuery9 ***/
-#define IDirect3DQuery9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DQuery9_GetType(p) (p)->GetType()
-#define IDirect3DQuery9_GetDataSize(p) (p)->GetDataSize()
-#define IDirect3DQuery9_Issue(p,a) (p)->Issue(a)
-#define IDirect3DQuery9_GetData(p,a,b,c) (p)->GetData(a,b,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DDevice9 interface
- */
-#define INTERFACE IDirect3DDevice9
-DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice9 methods ***/
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
- STDMETHOD(EvictManagedResources)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ IDirect3D9** ppD3D9) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9* pCaps) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
- STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap) PURE;
- STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y, DWORD Flags) PURE;
- STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE;
- STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain) PURE;
- STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE;
- STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
- STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE;
- STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
- STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp) PURE;
- STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE;
- STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint) PURE;
- STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE;
- STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter) PURE;
- STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color) PURE;
- STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE;
- STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9* pNewZStencil) PURE;
- STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(Clear)(THIS_ DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE, CONST D3DMATRIX*) PURE;
- STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE;
- STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE;
- STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9*) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD Index, CONST float* pPlane) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD* pValue) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE;
- STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value) PURE;
- STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE;
- STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
- STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
- STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE;
- STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
- STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
- STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
- STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE;
- STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
- STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
- STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
- STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE;
- STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
- STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE;
- STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl) PURE;
- STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE;
- STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE;
- STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
- STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE;
- STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) PURE;
- STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE;
- STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE;
- STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE;
- STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT Divider) PURE;
- STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
- STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE;
- STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE;
- STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader) PURE;
- STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE;
- STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
- STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
- STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
- STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice9 methods ***/
-#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
-#define IDirect3DDevice9_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
-#define IDirect3DDevice9_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
-#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b)
-#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
-#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
-#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
-#define IDirect3DDevice9_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
-#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
-#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b)
-#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p)
-#define IDirect3DDevice9_Reset(p,a) (p)->lpVtbl->Reset(p,a)
-#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
-#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
-#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b)
-#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a)
-#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c)
-#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b)
-#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
-#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
-#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->lpVtbl->GetRenderTargetData(p,a,b)
-#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b)
-#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
-#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c)
-#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b)
-#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a)
-#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
-#define IDirect3DDevice9_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice9_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice9_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice9_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice9_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice9_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice9_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice9_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice9_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice9_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice9_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice9_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice9_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice9_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice9_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice9_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c)
-#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c)
-#define IDirect3DDevice9_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
-#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
-#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a)
-#define IDirect3DDevice9_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a)
-#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
-#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p)
-#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a)
-#define IDirect3DDevice9_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p)
-#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
-#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
-#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
-#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a)
-#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a)
-#define IDirect3DDevice9_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a)
-#define IDirect3DDevice9_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a)
-#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->lpVtbl->CreateVertexShader(p,a,b)
-#define IDirect3DDevice9_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
-#define IDirect3DDevice9_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
-#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
-#define IDirect3DDevice9_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
-#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
-#define IDirect3DDevice9_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
-#define IDirect3DDevice9_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
-#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
-#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
-#define IDirect3DDevice9_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
-#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->lpVtbl->CreateQuery(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice9_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice9_Release(p) (p)->Release()
-/*** IDirect3DDevice9 methods ***/
-#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
-#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
-#define IDirect3DDevice9_EvictManagedResources(p) (p)->EvictManagedResources()
-#define IDirect3DDevice9_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
-#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->GetDisplayMode(a,b)
-#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
-#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
-#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
-#define IDirect3DDevice9_ShowCursor(p,a) (p)->ShowCursor(a)
-#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
-#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->GetSwapChain(a,b)
-#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->GetNumberOfSwapChains()
-#define IDirect3DDevice9_Reset(p,a) (p)->Reset(a)
-#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
-#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->GetBackBuffer(a,b,c,d)
-#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->GetRasterStatus(a,b)
-#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->SetDialogBoxMode(a)
-#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->SetGammaRamp(a,b,c)
-#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->GetGammaRamp(a,b)
-#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->CreateTexture(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->CreateCubeTexture(a,b,c,d,e,f,g)
-#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->CreateVertexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->CreateIndexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->UpdateSurface(a,b,c,d)
-#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
-#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->GetRenderTargetData(a,b)
-#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->GetFrontBufferData(a,b)
-#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->StretchRect(a,b,c,d,e)
-#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->ColorFill(a,b,c)
-#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
-#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->GetRenderTarget(a,b)
-#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->SetDepthStencilSurface(a)
-#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
-#define IDirect3DDevice9_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice9_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice9_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice9_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice9_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice9_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice9_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice9_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice9_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice9_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice9_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice9_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice9_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice9_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice9_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice9_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice9_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->GetSamplerState(a,b,c)
-#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->SetSamplerState(a,b,c)
-#define IDirect3DDevice9_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
-#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
-#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
-#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
-#define IDirect3DDevice9_SetScissorRect(p,a) (p)->SetScissorRect(a)
-#define IDirect3DDevice9_GetScissorRect(p,a) (p)->GetScissorRect(a)
-#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->SetSoftwareVertexProcessing(a)
-#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->GetSoftwareVertexProcessing()
-#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->SetNPatchMode(a)
-#define IDirect3DDevice9_GetNPatchMode(p) (p)->GetNPatchMode()
-#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
-#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
-#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
-#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->ProcessVertices(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->CreateVertexDeclaration(a,b)
-#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->SetVertexDeclaration(a)
-#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->GetVertexDeclaration(a)
-#define IDirect3DDevice9_SetFVF(p,a) (p)->SetFVF(a)
-#define IDirect3DDevice9_GetFVF(p,a) (p)->GetFVF(a)
-#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->CreateVertexShader(a,b)
-#define IDirect3DDevice9_SetVertexShader(p,a) (p)->SetVertexShader(a)
-#define IDirect3DDevice9_GetVertexShader(p,a) (p)->GetVertexShader(a)
-#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->SetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->GetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->SetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->GetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->SetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->GetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->SetStreamSource(a,b,c,d)
-#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->GetStreamSource(a,b,c,d)
-#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->SetStreamSourceFreq(a,b)
-#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->GetStreamSourceFreq(a,b)
-#define IDirect3DDevice9_SetIndices(p,a) (p)->SetIndices(a)
-#define IDirect3DDevice9_GetIndices(p,a) (p)->GetIndices(a)
-#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
-#define IDirect3DDevice9_SetPixelShader(p,a) (p)->SetPixelShader(a)
-#define IDirect3DDevice9_GetPixelShader(p,a) (p)->GetPixelShader(a)
-#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->SetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->GetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->SetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->GetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->SetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->GetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
-#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
-#define IDirect3DDevice9_DeletePatch(p,a) (p)->DeletePatch(a)
-#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->CreateQuery(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DDevice9Ex interface
- */
-#define INTERFACE IDirect3DDevice9Ex
-DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice9 methods ***/
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
- STDMETHOD(EvictManagedResources)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ IDirect3D9** ppD3D9) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9* pCaps) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
- STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap) PURE;
- STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y, DWORD Flags) PURE;
- STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE;
- STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain) PURE;
- STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE;
- STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
- STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE;
- STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
- STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp) PURE;
- STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE;
- STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint) PURE;
- STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE;
- STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter) PURE;
- STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color) PURE;
- STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE;
- STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9* pNewZStencil) PURE;
- STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(Clear)(THIS_ DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE, CONST D3DMATRIX*) PURE;
- STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE;
- STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE;
- STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9*) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD Index, CONST float* pPlane) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD* pValue) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE;
- STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value) PURE;
- STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE;
- STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
- STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
- STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE;
- STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
- STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
- STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
- STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE;
- STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
- STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
- STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
- STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE;
- STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
- STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE;
- STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl) PURE;
- STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE;
- STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE;
- STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
- STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE;
- STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) PURE;
- STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE;
- STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE;
- STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE;
- STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT Divider) PURE;
- STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
- STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE;
- STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE;
- STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader) PURE;
- STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE;
- STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
- STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
- STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
- STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery) PURE;
- /* IDirect3DDevice9Ex methods */
- STDMETHOD(SetConvolutionMonoKernel)(THIS_ UINT width, UINT height, float *rows, float *columns) PURE;
- STDMETHOD(ComposeRects)(THIS_ IDirect3DSurface9 *src_surface, IDirect3DSurface9 *dst_surface,
- IDirect3DVertexBuffer9 *src_descs, UINT rect_count, IDirect3DVertexBuffer9 *dst_descs,
- D3DCOMPOSERECTSOP operation, INT offset_x, INT offset_y) PURE;
- STDMETHOD(PresentEx)(THIS_ CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion, DWORD dwFlags) PURE;
- STDMETHOD(GetGPUThreadPriority)(THIS_ INT *pPriority) PURE;
- STDMETHOD(SetGPUThreadPriority)(THIS_ INT Priority) PURE;
- STDMETHOD(WaitForVBlank)(THIS_ UINT iSwapChain) PURE;
- STDMETHOD(CheckResourceResidency)(THIS_ IDirect3DResource9 **resources, UINT32 resource_count) PURE;
- STDMETHOD(SetMaximumFrameLatency)(THIS_ UINT MaxLatency) PURE;
- STDMETHOD(GetMaximumFrameLatency)(THIS_ UINT *pMaxLatenxy) PURE;
- STDMETHOD(CheckDeviceState)(THIS_ HWND dst_window) PURE;
- STDMETHOD(CreateRenderTargetEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultiSampleQuality, BOOL Lockable, IDirect3DSurface9 ** ppSurface, HANDLE *pSharedHandle, DWORD Usage) PURE;
- STDMETHOD(CreateOffscreenPlainSurfaceEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9 **ppSurface, HANDLE *pSharedHandle, DWORD Usage) PURE;
- STDMETHOD(CreateDepthStencilSurfaceEx)(THIS_ UINT width, UINT height, D3DFORMAT format,
- D3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality, BOOL discard,
- IDirect3DSurface9 **surface, HANDLE *shared_handle, DWORD usage) PURE;
- STDMETHOD(ResetEx)(THIS_ D3DPRESENT_PARAMETERS *pPresentationParameters, D3DDISPLAYMODEEX *pFullscreenDisplayMode) PURE;
- STDMETHOD(GetDisplayModeEx)(THIS_ UINT iSwapChain, D3DDISPLAYMODEEX *pMode, D3DDISPLAYROTATION *pRotation) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice9Ex_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice9Ex_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice9 methods ***/
-#define IDirect3DDevice9Ex_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirect3DDevice9Ex_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
-#define IDirect3DDevice9Ex_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
-#define IDirect3DDevice9Ex_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice9Ex_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
-#define IDirect3DDevice9Ex_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b)
-#define IDirect3DDevice9Ex_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
-#define IDirect3DDevice9Ex_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
-#define IDirect3DDevice9Ex_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
-#define IDirect3DDevice9Ex_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
-#define IDirect3DDevice9Ex_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
-#define IDirect3DDevice9Ex_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b)
-#define IDirect3DDevice9Ex_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p)
-#define IDirect3DDevice9Ex_Reset(p,a) (p)->lpVtbl->Reset(p,a)
-#define IDirect3DDevice9Ex_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
-#define IDirect3DDevice9Ex_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
-#define IDirect3DDevice9Ex_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b)
-#define IDirect3DDevice9Ex_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a)
-#define IDirect3DDevice9Ex_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c)
-#define IDirect3DDevice9Ex_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b)
-#define IDirect3DDevice9Ex_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice9Ex_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
-#define IDirect3DDevice9Ex_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
-#define IDirect3DDevice9Ex_GetRenderTargetData(p,a,b) (p)->lpVtbl->GetRenderTargetData(p,a,b)
-#define IDirect3DDevice9Ex_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b)
-#define IDirect3DDevice9Ex_StretchRect(p,a,b,c,d,e) (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
-#define IDirect3DDevice9Ex_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c)
-#define IDirect3DDevice9Ex_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice9Ex_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b)
-#define IDirect3DDevice9Ex_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a)
-#define IDirect3DDevice9Ex_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
-#define IDirect3DDevice9Ex_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice9Ex_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice9Ex_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice9Ex_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice9Ex_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice9Ex_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice9Ex_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice9Ex_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice9Ex_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice9Ex_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice9Ex_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice9Ex_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice9Ex_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice9Ex_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice9Ex_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice9Ex_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice9Ex_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice9Ex_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice9Ex_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice9Ex_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice9Ex_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice9Ex_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice9Ex_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice9Ex_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice9Ex_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9Ex_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9Ex_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c)
-#define IDirect3DDevice9Ex_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c)
-#define IDirect3DDevice9Ex_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice9Ex_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
-#define IDirect3DDevice9Ex_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
-#define IDirect3DDevice9Ex_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9Ex_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9Ex_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a)
-#define IDirect3DDevice9Ex_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a)
-#define IDirect3DDevice9Ex_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
-#define IDirect3DDevice9Ex_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p)
-#define IDirect3DDevice9Ex_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a)
-#define IDirect3DDevice9Ex_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p)
-#define IDirect3DDevice9Ex_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
-#define IDirect3DDevice9Ex_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
-#define IDirect3DDevice9Ex_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateVertexDeclaration(p,a,b) (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
-#define IDirect3DDevice9Ex_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a)
-#define IDirect3DDevice9Ex_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a)
-#define IDirect3DDevice9Ex_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a)
-#define IDirect3DDevice9Ex_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a)
-#define IDirect3DDevice9Ex_CreateVertexShader(p,a,b) (p)->lpVtbl->CreateVertexShader(p,a,b)
-#define IDirect3DDevice9Ex_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
-#define IDirect3DDevice9Ex_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9Ex_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9Ex_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9Ex_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9Ex_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9Ex_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
-#define IDirect3DDevice9Ex_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
-#define IDirect3DDevice9Ex_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
-#define IDirect3DDevice9Ex_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
-#define IDirect3DDevice9Ex_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9Ex_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
-#define IDirect3DDevice9Ex_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
-#define IDirect3DDevice9Ex_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
-#define IDirect3DDevice9Ex_CreateQuery(p,a,b) (p)->lpVtbl->CreateQuery(p,a,b)
-/* IDirect3DDevice9Ex */
-#define IDirect3DDevice9Ex_SetConvolutionMonoKernel(p,a,b,c,d) (p)->lpVtbl->SetConvolutionMonoKernel(p,a,b,c,d)
-#define IDirect3DDevice9Ex_ComposeRects(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ComposeRects(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_PresentEx(p,a,b,c,d,e) (p)->lpVtbl->PresentEx(p,a,b,c,d,e)
-#define IDirect3DDevice9Ex_GetGPUThreadPriority(p,a) (p)->lpVtbl->GetGPUThreadPriority(p,a)
-#define IDirect3DDevice9Ex_SetGPUThreadPriority(p,a) (p)->lpVtbl->SetGPUThreadPriority(p,a)
-#define IDirect3DDevice9Ex_WaitForVBlank(p,a) (p)->lpVtbl->WaitForVBlank(p,a)
-#define IDirect3DDevice9Ex_CheckResourceResidency(p,a,b) (p)->lpVtbl->CheckResourceResidency(p,a,b)
-#define IDirect3DDevice9Ex_SetMaximumFrameLatency(p,a) (p)->lpVtbl->SetMaximumFrameLatency(p,a)
-#define IDirect3DDevice9Ex_GetMaximumFrameLatency(p,a) (p)->lpVtbl->GetMaximumFrameLatency(p,a)
-#define IDirect3DDevice9Ex_CheckDeviceState(p,a) (p)->lpVtbl->CheckDeviceState(p,a)
-#define IDirect3DDevice9Ex_CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)(p)->lpVtbl->CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)(p)->lpVtbl->CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_ResetEx(p,a,b) (p)->lpVtbl->ResetEx(p,a,b)
-#define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c) (p)->lpVtbl->GetDisplayModeEx(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice9Ex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice9Ex_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice9Ex_Release(p) (p)->Release()
-/*** IDirect3DDevice9 methods ***/
-#define IDirect3DDevice9Ex_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
-#define IDirect3DDevice9Ex_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
-#define IDirect3DDevice9Ex_EvictManagedResources(p) (p)->EvictManagedResources()
-#define IDirect3DDevice9Ex_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice9Ex_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
-#define IDirect3DDevice9Ex_GetDisplayMode(p,a,b) (p)->GetDisplayMode(a,b)
-#define IDirect3DDevice9Ex_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
-#define IDirect3DDevice9Ex_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
-#define IDirect3DDevice9Ex_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
-#define IDirect3DDevice9Ex_ShowCursor(p,a) (p)->ShowCursor(a)
-#define IDirect3DDevice9Ex_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
-#define IDirect3DDevice9Ex_GetSwapChain(p,a,b) (p)->GetSwapChain(a,b)
-#define IDirect3DDevice9Ex_GetNumberOfSwapChains(p) (p)->GetNumberOfSwapChains()
-#define IDirect3DDevice9Ex_Reset(p,a) (p)->Reset(a)
-#define IDirect3DDevice9Ex_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
-#define IDirect3DDevice9Ex_GetBackBuffer(p,a,b,c,d) (p)->GetBackBuffer(a,b,c,d)
-#define IDirect3DDevice9Ex_GetRasterStatus(p,a,b) (p)->GetRasterStatus(a,b)
-#define IDirect3DDevice9Ex_SetDialogBoxMode(p,a) (p)->SetDialogBoxMode(a)
-#define IDirect3DDevice9Ex_SetGammaRamp(p,a,b,c) (p)->SetGammaRamp(a,b,c)
-#define IDirect3DDevice9Ex_GetGammaRamp(p,a,b) (p)->GetGammaRamp(a,b)
-#define IDirect3DDevice9Ex_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->CreateTexture(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->CreateCubeTexture(a,b,c,d,e,f,g)
-#define IDirect3DDevice9Ex_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->CreateVertexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->CreateIndexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_UpdateSurface(p,a,b,c,d) (p)->UpdateSurface(a,b,c,d)
-#define IDirect3DDevice9Ex_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
-#define IDirect3DDevice9Ex_GetRenderTargetData(p,a,b) (p)->GetRenderTargetData(a,b)
-#define IDirect3DDevice9Ex_GetFrontBufferData(p,a,b) (p)->GetFrontBufferData(a,b)
-#define IDirect3DDevice9Ex_StretchRect(p,a,b,c,d,e) (p)->StretchRect(a,b,c,d,e)
-#define IDirect3DDevice9Ex_ColorFill(p,a,b,c) (p)->ColorFill(a,b,c)
-#define IDirect3DDevice9Ex_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice9Ex_GetRenderTarget(p,a,b) (p)->GetRenderTarget(a,b)
-#define IDirect3DDevice9Ex_SetDepthStencilSurface(p,a) (p)->SetDepthStencilSurface(a)
-#define IDirect3DDevice9Ex_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
-#define IDirect3DDevice9Ex_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice9Ex_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice9Ex_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice9Ex_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice9Ex_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice9Ex_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice9Ex_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice9Ex_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice9Ex_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice9Ex_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice9Ex_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice9Ex_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice9Ex_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice9Ex_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice9Ex_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice9Ex_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice9Ex_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice9Ex_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice9Ex_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice9Ex_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice9Ex_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice9Ex_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice9Ex_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice9Ex_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice9Ex_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice9Ex_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice9Ex_GetSamplerState(p,a,b,c) (p)->GetSamplerState(a,b,c)
-#define IDirect3DDevice9Ex_SetSamplerState(p,a,b,c) (p)->SetSamplerState(a,b,c)
-#define IDirect3DDevice9Ex_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice9Ex_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
-#define IDirect3DDevice9Ex_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
-#define IDirect3DDevice9Ex_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
-#define IDirect3DDevice9Ex_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
-#define IDirect3DDevice9Ex_SetScissorRect(p,a) (p)->SetScissorRect(a)
-#define IDirect3DDevice9Ex_GetScissorRect(p,a) (p)->GetScissorRect(a)
-#define IDirect3DDevice9Ex_SetSoftwareVertexProcessing(p,a) (p)->SetSoftwareVertexProcessing(a)
-#define IDirect3DDevice9Ex_GetSoftwareVertexProcessing(p) (p)->GetSoftwareVertexProcessing()
-#define IDirect3DDevice9Ex_SetNPatchMode(p,a) (p)->SetNPatchMode(a)
-#define IDirect3DDevice9Ex_GetNPatchMode(p) (p)->GetNPatchMode()
-#define IDirect3DDevice9Ex_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
-#define IDirect3DDevice9Ex_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
-#define IDirect3DDevice9Ex_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_ProcessVertices(p,a,b,c,d,e,f) (p)->ProcessVertices(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateVertexDeclaration(p,a,b) (p)->CreateVertexDeclaration(a,b)
-#define IDirect3DDevice9Ex_SetVertexDeclaration(p,a) (p)->SetVertexDeclaration(a)
-#define IDirect3DDevice9Ex_GetVertexDeclaration(p,a) (p)->GetVertexDeclaration(a)
-#define IDirect3DDevice9Ex_SetFVF(p,a) (p)->SetFVF(a)
-#define IDirect3DDevice9Ex_GetFVF(p,a) (p)->GetFVF(a)
-#define IDirect3DDevice9Ex_CreateVertexShader(p,a,b) (p)->CreateVertexShader(a,b)
-#define IDirect3DDevice9Ex_SetVertexShader(p,a) (p)->SetVertexShader(a)
-#define IDirect3DDevice9Ex_GetVertexShader(p,a) (p)->GetVertexShader(a)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantF(p,a,b,c) (p)->SetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantF(p,a,b,c) (p)->GetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantI(p,a,b,c) (p)->SetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantI(p,a,b,c) (p)->GetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantB(p,a,b,c) (p)->SetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantB(p,a,b,c) (p)->GetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9Ex_SetStreamSource(p,a,b,c,d) (p)->SetStreamSource(a,b,c,d)
-#define IDirect3DDevice9Ex_GetStreamSource(p,a,b,c,d) (p)->GetStreamSource(a,b,c,d)
-#define IDirect3DDevice9Ex_SetStreamSourceFreq(p,a,b) (p)->SetStreamSourceFreq(a,b)
-#define IDirect3DDevice9Ex_GetStreamSourceFreq(p,a,b) (p)->GetStreamSourceFreq(a,b)
-#define IDirect3DDevice9Ex_SetIndices(p,a) (p)->SetIndices(a)
-#define IDirect3DDevice9Ex_GetIndices(p,a) (p)->GetIndices(a)
-#define IDirect3DDevice9Ex_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
-#define IDirect3DDevice9Ex_SetPixelShader(p,a) (p)->SetPixelShader(a)
-#define IDirect3DDevice9Ex_GetPixelShader(p,a) (p)->GetPixelShader(a)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantF(p,a,b,c) (p)->SetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantF(p,a,b,c) (p)->GetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantI(p,a,b,c) (p)->SetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantI(p,a,b,c) (p)->GetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantB(p,a,b,c) (p)->SetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantB(p,a,b,c) (p)->GetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9Ex_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
-#define IDirect3DDevice9Ex_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
-#define IDirect3DDevice9Ex_DeletePatch(p,a) (p)->DeletePatch(a)
-#define IDirect3DDevice9Ex_CreateQuery(p,a,b) (p)->CreateQuery(a,b)
-/* IDirect3DDevice9Ex */
-#define IDirect3DDevice9Ex_SetConvolutionMonoKernel(p,a,b,c,d) (p)->SetConvolutionMonoKernel(a,b,c,d)
-#define IDirect3DDevice9Ex_ComposeRects(p,a,b,c,d,e,f,g,h) (p)->ComposeRects(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_PresentEx(p,a,b,c,d,e) (p)->PresentEx(a,b,c,d,e)
-#define IDirect3DDevice9Ex_GetGPUThreadPriority(p,a) (p)->GetGPUThreadPriority(a)
-#define IDirect3DDevice9Ex_SetGPUThreadPriority(p,a) (p)->SetGPUThreadPriority(a)
-#define IDirect3DDevice9Ex_WaitForVBlank(p,a) (p)->WaitForVBlank(a)
-#define IDirect3DDevice9Ex_CheckResourceResidency(p,a,b) (p)->CheckResourceResidency(a,b)
-#define IDirect3DDevice9Ex_SetMaximumFrameLatency(p,a) (p)->SetMaximumFrameLatency(a)
-#define IDirect3DDevice9Ex_GetMaximumFrameLatency(p,a) (p)->GetMaximumFrameLatency(a)
-#define IDirect3DDevice9Ex_CheckDeviceState(p,a) (p)->CheckDeviceState(a)
-#define IDirect3DDevice9Ex_CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i) (p)->CreateRenderTargetEx(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)(p)->CreateOffscreenPlainSurfaceEx(a,b,c,d,e,f,g)
-#define IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)(p)->CreateDepthStencilSurfaceEx(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_ResetEx(p,a,b) (p)->ResetEx(a,b)
-#define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c) (p)->GetDisplayModeEx(a,b,c)
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
-
-int WINAPI D3DPERF_BeginEvent(D3DCOLOR,LPCWSTR);
-int WINAPI D3DPERF_EndEvent(void);
-DWORD WINAPI D3DPERF_GetStatus(void);
-BOOL WINAPI D3DPERF_QueryRepeatFrame(void);
-void WINAPI D3DPERF_SetMarker(D3DCOLOR,LPCWSTR);
-void WINAPI D3DPERF_SetOptions(DWORD);
-void WINAPI D3DPERF_SetRegion(D3DCOLOR,LPCWSTR);
-
-/* Define the main entrypoint as well */
-IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* defined(__cplusplus) */
-
-
-#endif /* __WINE_D3D9_H */
+++ /dev/null
-/*
- * Copyright (C) 2002-2003 Jason Edmeades
- * Raphael Junqueira
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D9CAPS_H
-#define __WINE_D3D9CAPS_H
-
-/*
- * Definitions
- */
-#define D3DCAPS_READ_SCANLINE 0x20000
-
-#define D3DCURSORCAPS_COLOR 1
-#define D3DCURSORCAPS_LOWRES 2
-
-
-#define D3DDEVCAPS2_STREAMOFFSET 0x00000001L
-#define D3DDEVCAPS2_DMAPNPATCH 0x00000002L
-#define D3DDEVCAPS2_ADAPTIVETESSRTPATCH 0x00000004L
-#define D3DDEVCAPS2_ADAPTIVETESSNPATCH 0x00000008L
-#define D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES 0x00000010L
-#define D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH 0x00000020L
-#define D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET 0x00000040L
-
-#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x0000010
-#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x0000020
-#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x0000040
-#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x0000080
-#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x0000100
-#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x0000200
-#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x0000400
-#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x0000800
-#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x0001000
-#define D3DDEVCAPS_DRAWPRIMITIVES2 0x0002000
-#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x0004000
-#define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x0008000
-#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x0010000
-#define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x0020000
-#define D3DDEVCAPS_HWRASTERIZATION 0x0080000
-#define D3DDEVCAPS_PUREDEVICE 0x0100000
-#define D3DDEVCAPS_QUINTICRTPATCHES 0x0200000
-#define D3DDEVCAPS_RTPATCHES 0x0400000
-#define D3DDEVCAPS_RTPATCHHANDLEZERO 0x0800000
-#define D3DDEVCAPS_NPATCHES 0x1000000
-
-#define D3DFVFCAPS_TEXCOORDCOUNTMASK 0x00FFFF
-#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x080000
-#define D3DFVFCAPS_PSIZE 0x100000
-
-#define D3DLINECAPS_TEXTURE 0x01
-#define D3DLINECAPS_ZTEST 0x02
-#define D3DLINECAPS_BLEND 0x04
-#define D3DLINECAPS_ALPHACMP 0x08
-#define D3DLINECAPS_FOG 0x10
-#define D3DLINECAPS_ANTIALIAS 0x20
-
-#define D3DPBLENDCAPS_ZERO 0x00000001
-#define D3DPBLENDCAPS_ONE 0x00000002
-#define D3DPBLENDCAPS_SRCCOLOR 0x00000004
-#define D3DPBLENDCAPS_INVSRCCOLOR 0x00000008
-#define D3DPBLENDCAPS_SRCALPHA 0x00000010
-#define D3DPBLENDCAPS_INVSRCALPHA 0x00000020
-#define D3DPBLENDCAPS_DESTALPHA 0x00000040
-#define D3DPBLENDCAPS_INVDESTALPHA 0x00000080
-#define D3DPBLENDCAPS_DESTCOLOR 0x00000100
-#define D3DPBLENDCAPS_INVDESTCOLOR 0x00000200
-#define D3DPBLENDCAPS_SRCALPHASAT 0x00000400
-#define D3DPBLENDCAPS_BOTHSRCALPHA 0x00000800
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
-#define D3DPBLENDCAPS_BLENDFACTOR 0x00002000
-
-#define D3DPCMPCAPS_NEVER 0x01
-#define D3DPCMPCAPS_LESS 0x02
-#define D3DPCMPCAPS_EQUAL 0x04
-#define D3DPCMPCAPS_LESSEQUAL 0x08
-#define D3DPCMPCAPS_GREATER 0x10
-#define D3DPCMPCAPS_NOTEQUAL 0x20
-#define D3DPCMPCAPS_GREATEREQUAL 0x40
-#define D3DPCMPCAPS_ALWAYS 0x80
-
-#define D3DPMISCCAPS_MASKZ 0x00000002L
-#define D3DPMISCCAPS_LINEPATTERNREP 0x00000004L
-#define D3DPMISCCAPS_CULLNONE 0x00000010L
-#define D3DPMISCCAPS_CULLCW 0x00000020L
-#define D3DPMISCCAPS_CULLCCW 0x00000040L
-#define D3DPMISCCAPS_COLORWRITEENABLE 0x00000080L
-#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS 0x00000100L
-#define D3DPMISCCAPS_CLIPTLVERTS 0x00000200L
-#define D3DPMISCCAPS_TSSARGTEMP 0x00000400L
-#define D3DPMISCCAPS_BLENDOP 0x00000800L
-#define D3DPMISCCAPS_NULLREFERENCE 0x00001000L
-#define D3DPMISCCAPS_INDEPENDENTWRITEMASKS 0x00004000L
-#define D3DPMISCCAPS_PERSTAGECONSTANT 0x00008000L
-#define D3DPMISCCAPS_FOGANDSPECULARALPHA 0x00010000L
-#define D3DPMISCCAPS_SEPARATEALPHABLEND 0x00020000L
-#define D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS 0x00040000L
-#define D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING 0x00080000L
-#define D3DPMISCCAPS_FOGVERTEXCLAMPED 0x00100000L
-
-
-#define D3DPRASTERCAPS_DITHER 0x00000001L
-#define D3DPRASTERCAPS_PAT 0x00000008L
-#define D3DPRASTERCAPS_ZTEST 0x00000010L
-#define D3DPRASTERCAPS_FOGVERTEX 0x00000080L
-#define D3DPRASTERCAPS_FOGTABLE 0x00000100L
-#define D3DPRASTERCAPS_ANTIALIASEDGES 0x00001000L
-#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000L
-#define D3DPRASTERCAPS_ZBIAS 0x00004000L
-#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000L
-#define D3DPRASTERCAPS_FOGRANGE 0x00010000L
-#define D3DPRASTERCAPS_ANISOTROPY 0x00020000L
-#define D3DPRASTERCAPS_WBUFFER 0x00040000L
-#define D3DPRASTERCAPS_WFOG 0x00100000L
-#define D3DPRASTERCAPS_ZFOG 0x00200000L
-#define D3DPRASTERCAPS_COLORPERSPECTIVE 0x00400000L
-#define D3DPRASTERCAPS_SCISSORTEST 0x01000000L
-#define D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS 0x02000000L
-#define D3DPRASTERCAPS_DEPTHBIAS 0x04000000L
-#define D3DPRASTERCAPS_MULTISAMPLE_TOGGLE 0x08000000L
-
-#define D3DPRESENT_INTERVAL_DEFAULT 0x00000000
-#define D3DPRESENT_INTERVAL_ONE 0x00000001
-#define D3DPRESENT_INTERVAL_TWO 0x00000002
-#define D3DPRESENT_INTERVAL_THREE 0x00000004
-#define D3DPRESENT_INTERVAL_FOUR 0x00000008
-#define D3DPRESENT_INTERVAL_IMMEDIATE 0x80000000
-
-#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00008
-#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00200
-#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x04000
-#define D3DPSHADECAPS_FOGGOURAUD 0x80000
-
-#define D3DPTADDRESSCAPS_WRAP 0x01
-#define D3DPTADDRESSCAPS_MIRROR 0x02
-#define D3DPTADDRESSCAPS_CLAMP 0x04
-#define D3DPTADDRESSCAPS_BORDER 0x08
-#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x10
-#define D3DPTADDRESSCAPS_MIRRORONCE 0x20
-
-#define D3DPTEXTURECAPS_PERSPECTIVE 0x00000001L
-#define D3DPTEXTURECAPS_POW2 0x00000002L
-#define D3DPTEXTURECAPS_ALPHA 0x00000004L
-#define D3DPTEXTURECAPS_SQUAREONLY 0x00000020L
-#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040L
-#define D3DPTEXTURECAPS_ALPHAPALETTE 0x00000080L
-#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100L
-#define D3DPTEXTURECAPS_PROJECTED 0x00000400L
-#define D3DPTEXTURECAPS_CUBEMAP 0x00000800L
-#define D3DPTEXTURECAPS_VOLUMEMAP 0x00002000L
-#define D3DPTEXTURECAPS_MIPMAP 0x00004000L
-#define D3DPTEXTURECAPS_MIPVOLUMEMAP 0x00008000L
-#define D3DPTEXTURECAPS_MIPCUBEMAP 0x00010000L
-#define D3DPTEXTURECAPS_CUBEMAP_POW2 0x00020000L
-#define D3DPTEXTURECAPS_VOLUMEMAP_POW2 0x00040000L
-#define D3DPTEXTURECAPS_NOPROJECTEDBUMPENV 0x00200000L
-
-#define D3DPTFILTERCAPS_MINFPOINT 0x00000100
-#define D3DPTFILTERCAPS_MINFLINEAR 0x00000200
-#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400
-#define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD 0x00000800
-#define D3DPTFILTERCAPS_MINFGAUSSIANQUAD 0x00001000
-#define D3DPTFILTERCAPS_MIPFPOINT 0x00010000
-#define D3DPTFILTERCAPS_MIPFLINEAR 0x00020000
-#define D3DPTFILTERCAPS_MAGFPOINT 0x01000000
-#define D3DPTFILTERCAPS_MAGFLINEAR 0x02000000
-#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000
-#define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD 0x08000000
-#define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD 0x10000000
-
-#define D3DSTENCILCAPS_KEEP 0x01
-#define D3DSTENCILCAPS_ZERO 0x02
-#define D3DSTENCILCAPS_REPLACE 0x04
-#define D3DSTENCILCAPS_INCRSAT 0x08
-#define D3DSTENCILCAPS_DECRSAT 0x10
-#define D3DSTENCILCAPS_INVERT 0x20
-#define D3DSTENCILCAPS_INCR 0x40
-#define D3DSTENCILCAPS_DECR 0x80
-#define D3DSTENCILCAPS_TWOSIDED 0x100
-
-#define D3DTEXOPCAPS_DISABLE 0x0000001
-#define D3DTEXOPCAPS_SELECTARG1 0x0000002
-#define D3DTEXOPCAPS_SELECTARG2 0x0000004
-#define D3DTEXOPCAPS_MODULATE 0x0000008
-#define D3DTEXOPCAPS_MODULATE2X 0x0000010
-#define D3DTEXOPCAPS_MODULATE4X 0x0000020
-#define D3DTEXOPCAPS_ADD 0x0000040
-#define D3DTEXOPCAPS_ADDSIGNED 0x0000080
-#define D3DTEXOPCAPS_ADDSIGNED2X 0x0000100
-#define D3DTEXOPCAPS_SUBTRACT 0x0000200
-#define D3DTEXOPCAPS_ADDSMOOTH 0x0000400
-#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x0000800
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x0001000
-#define D3DTEXOPCAPS_BLENDFACTORALPHA 0x0002000
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x0004000
-#define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x0008000
-#define D3DTEXOPCAPS_PREMODULATE 0x0010000
-#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x0020000
-#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x0040000
-#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x0080000
-#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x0100000
-#define D3DTEXOPCAPS_BUMPENVMAP 0x0200000
-#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x0400000
-#define D3DTEXOPCAPS_DOTPRODUCT3 0x0800000
-#define D3DTEXOPCAPS_MULTIPLYADD 0x1000000
-#define D3DTEXOPCAPS_LERP 0x2000000
-
-#define D3DVTXPCAPS_TEXGEN 0x00000001L
-#define D3DVTXPCAPS_MATERIALSOURCE7 0x00000002L
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008L
-#define D3DVTXPCAPS_POSITIONALLIGHTS 0x00000010L
-#define D3DVTXPCAPS_LOCALVIEWER 0x00000020L
-#define D3DVTXPCAPS_TWEENING 0x00000040L
-#define D3DVTXPCAPS_TEXGEN_SPHEREMAP 0x00000100L
-#define D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER 0x00000200L
-
-#define D3DDTCAPS_UBYTE4 0x00000001L
-#define D3DDTCAPS_UBYTE4N 0x00000002L
-#define D3DDTCAPS_SHORT2N 0x00000004L
-#define D3DDTCAPS_SHORT4N 0x00000008L
-#define D3DDTCAPS_USHORT2N 0x00000010L
-#define D3DDTCAPS_USHORT4N 0x00000020L
-#define D3DDTCAPS_UDEC3 0x00000040L
-#define D3DDTCAPS_DEC3N 0x00000080L
-#define D3DDTCAPS_FLOAT16_2 0x00000100L
-#define D3DDTCAPS_FLOAT16_4 0x00000200L
-
-#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x00000020L
-#define D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION 0x00000080L
-#define D3DCAPS3_COPY_TO_VIDMEM 0x00000100L
-#define D3DCAPS3_COPY_TO_SYSTEMMEM 0x00000200L
-#define D3DCAPS3_RESERVED 0x8000001FL
-
-#define D3DCAPS2_NO2DDURING3DSCENE 0x00000002L
-#define D3DCAPS2_FULLSCREENGAMMA 0x00020000L
-#define D3DCAPS2_CANRENDERWINDOWED 0x00080000L
-#define D3DCAPS2_CANCALIBRATEGAMMA 0x00100000L
-#define D3DCAPS2_RESERVED 0x02000000L
-#define D3DCAPS2_CANMANAGERESOURCE 0x10000000L
-#define D3DCAPS2_DYNAMICTEXTURES 0x20000000L
-#define D3DCAPS2_CANAUTOGENMIPMAP 0x40000000L
-
-
-#define D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
-#define D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
-#define D3DVS20_MAX_NUMTEMPS 32
-#define D3DVS20_MIN_NUMTEMPS 12
-#define D3DVS20_MAX_STATICFLOWCONTROLDEPTH 4
-#define D3DVS20_MIN_STATICFLOWCONTROLDEPTH 1
-
-#define D3DVS20CAPS_PREDICATION (1 << 0)
-
-#define D3DPS20CAPS_ARBITRARYSWIZZLE (1 << 0)
-#define D3DPS20CAPS_GRADIENTINSTRUCTIONS (1 << 1)
-#define D3DPS20CAPS_PREDICATION (1 << 2)
-#define D3DPS20CAPS_NODEPENDENTREADLIMIT (1 << 3)
-#define D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT (1 << 4)
-
-#define D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
-#define D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
-#define D3DPS20_MAX_NUMTEMPS 32
-#define D3DPS20_MIN_NUMTEMPS 12
-#define D3DPS20_MAX_STATICFLOWCONTROLDEPTH 4
-#define D3DPS20_MIN_STATICFLOWCONTROLDEPTH 0
-#define D3DPS20_MAX_NUMINSTRUCTIONSLOTS 512
-#define D3DPS20_MIN_NUMINSTRUCTIONSLOTS 96
-
-#define D3DMIN30SHADERINSTRUCTIONS 512
-#define D3DMAX30SHADERINSTRUCTIONS 32768
-
-
-typedef struct _D3DVSHADERCAPS2_0 {
- DWORD Caps;
- INT DynamicFlowControlDepth;
- INT NumTemps;
- INT StaticFlowControlDepth;
-} D3DVSHADERCAPS2_0;
-
-typedef struct _D3DPSHADERCAPS2_0 {
- DWORD Caps;
- INT DynamicFlowControlDepth;
- INT NumTemps;
- INT StaticFlowControlDepth;
- INT NumInstructionSlots;
-} D3DPSHADERCAPS2_0;
-
-/*
- * The d3dcaps9 structure
- */
-typedef struct _D3DCAPS9 {
- D3DDEVTYPE DeviceType;
- UINT AdapterOrdinal;
-
- DWORD Caps;
- DWORD Caps2;
- DWORD Caps3;
- DWORD PresentationIntervals;
-
- DWORD CursorCaps;
-
- DWORD DevCaps;
-
- DWORD PrimitiveMiscCaps;
- DWORD RasterCaps;
- DWORD ZCmpCaps;
- DWORD SrcBlendCaps;
- DWORD DestBlendCaps;
- DWORD AlphaCmpCaps;
- DWORD ShadeCaps;
- DWORD TextureCaps;
- DWORD TextureFilterCaps;
- DWORD CubeTextureFilterCaps;
- DWORD VolumeTextureFilterCaps;
- DWORD TextureAddressCaps;
- DWORD VolumeTextureAddressCaps;
-
- DWORD LineCaps;
-
- DWORD MaxTextureWidth, MaxTextureHeight;
- DWORD MaxVolumeExtent;
-
- DWORD MaxTextureRepeat;
- DWORD MaxTextureAspectRatio;
- DWORD MaxAnisotropy;
- float MaxVertexW;
-
- float GuardBandLeft;
- float GuardBandTop;
- float GuardBandRight;
- float GuardBandBottom;
-
- float ExtentsAdjust;
- DWORD StencilCaps;
-
- DWORD FVFCaps;
- DWORD TextureOpCaps;
- DWORD MaxTextureBlendStages;
- DWORD MaxSimultaneousTextures;
-
- DWORD VertexProcessingCaps;
- DWORD MaxActiveLights;
- DWORD MaxUserClipPlanes;
- DWORD MaxVertexBlendMatrices;
- DWORD MaxVertexBlendMatrixIndex;
-
- float MaxPointSize;
-
- DWORD MaxPrimitiveCount;
- DWORD MaxVertexIndex;
- DWORD MaxStreams;
- DWORD MaxStreamStride;
-
- DWORD VertexShaderVersion;
- DWORD MaxVertexShaderConst;
-
- DWORD PixelShaderVersion;
- float PixelShader1xMaxValue;
-
- /* DX 9 */
- DWORD DevCaps2;
-
- float MaxNpatchTessellationLevel;
- DWORD Reserved5;
-
- UINT MasterAdapterOrdinal;
- UINT AdapterOrdinalInGroup;
- UINT NumberOfAdaptersInGroup;
- DWORD DeclTypes;
- DWORD NumSimultaneousRTs;
- DWORD StretchRectFilterCaps;
- D3DVSHADERCAPS2_0 VS20Caps;
- D3DPSHADERCAPS2_0 PS20Caps;
- DWORD VertexTextureFilterCaps;
- DWORD MaxVShaderInstructionsExecuted;
- DWORD MaxPShaderInstructionsExecuted;
- DWORD MaxVertexShader30InstructionSlots;
- DWORD MaxPixelShader30InstructionSlots;
-
-} D3DCAPS9;
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2002-2003 Jason Edmeades
- * Copyright (C) 2002-2003 Raphael Junqueira
- * Copyright (C) 2005 Oliver Stieber
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D9TYPES_H
-#define __WINE_D3D9TYPES_H
-
-#include <_mingw_dxhelper.h>
-
-/*****************************************************************************
- * Direct 3D v9 #defines
- */
-#ifndef D3DCLEAR_TARGET
-#define D3DCLEAR_TARGET 0x00000001L
-#endif
-#ifndef D3DCLEAR_ZBUFFER
-#define D3DCLEAR_ZBUFFER 0x00000002L
-#endif
-#ifndef D3DCLEAR_STENCIL
-#define D3DCLEAR_STENCIL 0x00000004L
-#endif
-
-#define D3DCLIPPLANE0 (1 << 0)
-#define D3DCLIPPLANE1 (1 << 1)
-#define D3DCLIPPLANE2 (1 << 2)
-#define D3DCLIPPLANE3 (1 << 3)
-#define D3DCLIPPLANE4 (1 << 4)
-#define D3DCLIPPLANE5 (1 << 5)
-
-#define D3DCOLOR_ARGB(a,r,g,b) ((D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
-#define D3DCOLOR_COLORVALUE(r,g,b,a) D3DCOLOR_RGBA((DWORD)((r)*255.f),(DWORD)((g)*255.f),(DWORD)((b)*255.f),(DWORD)((a)*255.f))
-#define D3DCOLOR_RGBA(r,g,b,a) D3DCOLOR_ARGB(a,r,g,b)
-#define D3DCOLOR_XRGB(r,g,b) D3DCOLOR_ARGB(0xff,r,g,b)
-#define D3DCOLOR_XYUV(y,u,v) D3DCOLOR_ARGB(0xFF,y,u,v)
-#define D3DCOLOR_AYUV(a,y,u,v) D3DCOLOR_ARGB(a,y,u,v)
-
-#define D3DCS_LEFT 0x001L
-#define D3DCS_RIGHT 0x002L
-#define D3DCS_TOP 0x004L
-#define D3DCS_BOTTOM 0x008L
-#define D3DCS_FRONT 0x010L
-#define D3DCS_BACK 0x020L
-#define D3DCS_PLANE0 0x040L
-#define D3DCS_PLANE1 0x080L
-#define D3DCS_PLANE2 0x100L
-#define D3DCS_PLANE3 0x200L
-#define D3DCS_PLANE4 0x400L
-#define D3DCS_PLANE5 0x800L
-#define D3DCS_ALL 0xFFFL
-
-#define D3DFVF_TEXTUREFORMAT1 3
-#define D3DFVF_TEXTUREFORMAT2 0
-#define D3DFVF_TEXTUREFORMAT3 1
-#define D3DFVF_TEXTUREFORMAT4 2
-#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2)
-#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
-
-#define D3DLOCK_READONLY 0x0010
-#define D3DLOCK_NOSYSLOCK 0x0800
-#define D3DLOCK_NOOVERWRITE 0x1000
-#define D3DLOCK_DISCARD 0x2000
-#define D3DLOCK_DONOTWAIT 0x4000
-#define D3DLOCK_NO_DIRTY_UPDATE 0x8000
-
-#define D3DMAXUSERCLIPPLANES 32
-#define D3DCLIPPLANE0 (1 << 0)
-#define D3DCLIPPLANE1 (1 << 1)
-#define D3DCLIPPLANE2 (1 << 2)
-#define D3DCLIPPLANE3 (1 << 3)
-#define D3DCLIPPLANE4 (1 << 4)
-#define D3DCLIPPLANE5 (1 << 5)
-
-
-#define D3DRENDERSTATE_WRAPBIAS 128UL
-
-/* MSDN has this in d3d9caps.h, but it should be here */
-#define D3DTSS_TCI_PASSTHRU 0x00000
-#define D3DTSS_TCI_CAMERASPACENORMAL 0x10000
-#define D3DTSS_TCI_CAMERASPACEPOSITION 0x20000
-#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x30000
-#define D3DTSS_TCI_SPHEREMAP 0x40000
-
-
-#define D3DTS_WORLD D3DTS_WORLDMATRIX(0)
-#define D3DTS_WORLD1 D3DTS_WORLDMATRIX(1)
-#define D3DTS_WORLD2 D3DTS_WORLDMATRIX(2)
-#define D3DTS_WORLD3 D3DTS_WORLDMATRIX(3)
-#define D3DTS_WORLDMATRIX(index) (D3DTRANSFORMSTATETYPE)(index + 256)
-
-#define D3DUSAGE_RENDERTARGET 0x00000001L
-#define D3DUSAGE_DEPTHSTENCIL 0x00000002L
-#define D3DUSAGE_WRITEONLY 0x00000008L
-#define D3DUSAGE_SOFTWAREPROCESSING 0x00000010L
-#define D3DUSAGE_DONOTCLIP 0x00000020L
-#define D3DUSAGE_POINTS 0x00000040L
-#define D3DUSAGE_RTPATCHES 0x00000080L
-#define D3DUSAGE_NPATCHES 0x00000100L
-#define D3DUSAGE_DYNAMIC 0x00000200L
-#define D3DUSAGE_AUTOGENMIPMAP 0x00000400L
-#define D3DUSAGE_DMAP 0x00004000L
-
-#define D3DUSAGE_QUERY_FILTER 0x00020000L
-#define D3DUSAGE_QUERY_LEGACYBUMPMAP 0x00008000L
-#define D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING 0x00080000L
-#define D3DUSAGE_QUERY_SRGBREAD 0x00010000L
-#define D3DUSAGE_QUERY_SRGBWRITE 0x00040000L
-#define D3DUSAGE_QUERY_VERTEXTEXTURE 0x00100000L
-#define D3DUSAGE_QUERY_WRAPANDMIP 0x00200000L
-
-#define D3DWRAP_U 1
-#define D3DWRAP_V 2
-#define D3DWRAP_W 4
-#define D3DWRAPCOORD_0 1
-#define D3DWRAPCOORD_1 2
-#define D3DWRAPCOORD_2 4
-#define D3DWRAPCOORD_3 8
-
-#define MAX_DEVICE_IDENTIFIER_STRING 512
-
-#define D3DFVF_RESERVED0 0x0001
-#define D3DFVF_POSITION_MASK 0x400E
-#define D3DFVF_XYZ 0x0002
-#define D3DFVF_XYZRHW 0x0004
-#define D3DFVF_XYZB1 0x0006
-#define D3DFVF_XYZB2 0x0008
-#define D3DFVF_XYZB3 0x000a
-#define D3DFVF_XYZB4 0x000c
-#define D3DFVF_XYZB5 0x000e
-#define D3DFVF_XYZW 0x4002
-#define D3DFVF_NORMAL 0x0010
-#define D3DFVF_PSIZE 0x0020
-#define D3DFVF_DIFFUSE 0x0040
-#define D3DFVF_SPECULAR 0x0080
-#define D3DFVF_TEXCOUNT_MASK 0x0f00
-#define D3DFVF_TEXCOUNT_SHIFT 8
-#define D3DFVF_TEX0 0x0000
-#define D3DFVF_TEX1 0x0100
-#define D3DFVF_TEX2 0x0200
-#define D3DFVF_TEX3 0x0300
-#define D3DFVF_TEX4 0x0400
-#define D3DFVF_TEX5 0x0500
-#define D3DFVF_TEX6 0x0600
-#define D3DFVF_TEX7 0x0700
-#define D3DFVF_TEX8 0x0800
-#define D3DFVF_LASTBETA_UBYTE4 0x1000
-#define D3DFVF_LASTBETA_D3DCOLOR 0x8000
-#define D3DFVF_RESERVED2 0x6000
-
-#define D3DTA_SELECTMASK 0x0000000f
-#define D3DTA_DIFFUSE 0x00000000
-#define D3DTA_CURRENT 0x00000001
-#define D3DTA_TEXTURE 0x00000002
-#define D3DTA_TFACTOR 0x00000003
-#define D3DTA_SPECULAR 0x00000004
-#define D3DTA_TEMP 0x00000005
-#define D3DTA_CONSTANT 0x00000006
-#define D3DTA_COMPLEMENT 0x00000010
-#define D3DTA_ALPHAREPLICATE 0x00000020
-
-#define D3DCOLORWRITEENABLE_RED (1L<<0)
-#define D3DCOLORWRITEENABLE_GREEN (1L<<1)
-#define D3DCOLORWRITEENABLE_BLUE (1L<<2)
-#define D3DCOLORWRITEENABLE_ALPHA (1L<<3)
-
-#define D3DPV_DONOTCOPYDATA (1 << 0)
-
-#define D3DSTREAMSOURCE_INDEXEDDATA (1 << 30)
-#define D3DSTREAMSOURCE_INSTANCEDATA (2 << 30)
-
-#define D3D_MAX_SIMULTANEOUS_RENDERTARGETS 4
-
-#define MAXD3DDECLLENGTH 64 /* +end marker */
-#define MAXD3DDECLMETHOD D3DDECLMETHOD_LOOKUPPRESAMPLED
-#define MAXD3DDECLTYPE D3DDECLTYPE_UNUSED
-#define MAXD3DDECLUSAGE D3DDECLUSAGE_SAMPLE
-#define MAXD3DDECLUSAGEINDEX 15
-
-#define D3DDMAPSAMPLER 256
-#define D3DVERTEXTEXTURESAMPLER0 (D3DDMAPSAMPLER+1)
-#define D3DVERTEXTEXTURESAMPLER1 (D3DDMAPSAMPLER+2)
-#define D3DVERTEXTEXTURESAMPLER2 (D3DDMAPSAMPLER+3)
-#define D3DVERTEXTEXTURESAMPLER3 (D3DDMAPSAMPLER+4)
-
-#ifndef MAKEFOURCC
-#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
- ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
- ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
-#endif /* MAKEFOURCC */
-
-/* Constants used by D3DPRESENT_PARAMETERS. when creating a device or swapchain */
-
-#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001 /* Create a lockable backbuffer */
-#define D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 /* Discard Z buffer */
-#define D3DPRESENTFLAG_DEVICECLIP 0x00000004 /* Clip the window blited into the client area 2k + xp only */
-#define D3DPRESENTFLAG_VIDEO 0x00000010 /* backbuffer 'may' contain video data */
-#define D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 /* d3d9ex, ignore display rotation */
-#define D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 /* d3d9ex, specify invalid display modes */
-
-#define D3DPRESENT_BACK_BUFFERS_MAX 3L
-#define D3DPRESENT_RATE_DEFAULT 0x00000000
-
-/****************************
- * Vertex Shaders Declaration
- */
-
-typedef enum _D3DDECLUSAGE {
- D3DDECLUSAGE_POSITION = 0,
- D3DDECLUSAGE_BLENDWEIGHT = 1,
- D3DDECLUSAGE_BLENDINDICES = 2,
- D3DDECLUSAGE_NORMAL = 3,
- D3DDECLUSAGE_PSIZE = 4,
- D3DDECLUSAGE_TEXCOORD = 5,
- D3DDECLUSAGE_TANGENT = 6,
- D3DDECLUSAGE_BINORMAL = 7,
- D3DDECLUSAGE_TESSFACTOR = 8,
- D3DDECLUSAGE_POSITIONT = 9,
- D3DDECLUSAGE_COLOR = 10,
- D3DDECLUSAGE_FOG = 11,
- D3DDECLUSAGE_DEPTH = 12,
- D3DDECLUSAGE_SAMPLE = 13
-} D3DDECLUSAGE;
-
-#define D3DMAXDECLUSAGE D3DDECLUSAGE_SAMPLE
-#define D3DMAXDECLUSAGEINDEX 15
-#define D3DMAXDECLLENGTH 18
-#define D3DMAXDECLUSAGE_DX8 D3DDECLUSAGE_TEXCOORD
-
-typedef enum _D3DDECLMETHOD {
- D3DDECLMETHOD_DEFAULT = 0,
- D3DDECLMETHOD_PARTIALU = 1,
- D3DDECLMETHOD_PARTIALV = 2,
- D3DDECLMETHOD_CROSSUV = 3,
- D3DDECLMETHOD_UV = 4,
- D3DDECLMETHOD_LOOKUP = 5,
- D3DDECLMETHOD_LOOKUPPRESAMPLED = 6
-} D3DDECLMETHOD;
-
-
-#define D3DMAXDECLMETHOD D3DDECLMETHOD_LOOKUPPRESAMPLED
-
-typedef enum _D3DDECLTYPE {
- D3DDECLTYPE_FLOAT1 = 0,
- D3DDECLTYPE_FLOAT2 = 1,
- D3DDECLTYPE_FLOAT3 = 2,
- D3DDECLTYPE_FLOAT4 = 3,
- D3DDECLTYPE_D3DCOLOR = 4,
- D3DDECLTYPE_UBYTE4 = 5,
- D3DDECLTYPE_SHORT2 = 6,
- D3DDECLTYPE_SHORT4 = 7,
- /* VS 2.0 */
- D3DDECLTYPE_UBYTE4N = 8,
- D3DDECLTYPE_SHORT2N = 9,
- D3DDECLTYPE_SHORT4N = 10,
- D3DDECLTYPE_USHORT2N = 11,
- D3DDECLTYPE_USHORT4N = 12,
- D3DDECLTYPE_UDEC3 = 13,
- D3DDECLTYPE_DEC3N = 14,
- D3DDECLTYPE_FLOAT16_2 = 15,
- D3DDECLTYPE_FLOAT16_4 = 16,
- D3DDECLTYPE_UNUSED = 17,
-} D3DDECLTYPE;
-
-#define D3DMAXDECLTYPE D3DDECLTYPE_UNUSED
-
-typedef struct _D3DVERTEXELEMENT9 {
- WORD Stream;
- WORD Offset;
- BYTE Type;
- BYTE Method;
- BYTE Usage;
- BYTE UsageIndex;
-} D3DVERTEXELEMENT9, *LPD3DVERTEXELEMENT9;
-
-
-typedef enum _D3DQUERYTYPE {
- D3DQUERYTYPE_VCACHE = 4,
- D3DQUERYTYPE_RESOURCEMANAGER = 5,
- D3DQUERYTYPE_VERTEXSTATS = 6,
- D3DQUERYTYPE_EVENT = 8,
- D3DQUERYTYPE_OCCLUSION = 9,
- D3DQUERYTYPE_TIMESTAMP = 10,
- D3DQUERYTYPE_TIMESTAMPDISJOINT = 11,
- D3DQUERYTYPE_TIMESTAMPFREQ = 12,
- D3DQUERYTYPE_PIPELINETIMINGS = 13,
- D3DQUERYTYPE_INTERFACETIMINGS = 14,
- D3DQUERYTYPE_VERTEXTIMINGS = 15,
- D3DQUERYTYPE_PIXELTIMINGS = 16,
- D3DQUERYTYPE_BANDWIDTHTIMINGS = 17,
- D3DQUERYTYPE_CACHEUTILIZATION = 18
-} D3DQUERYTYPE;
-
-#define D3DISSUE_BEGIN (1 << 1)
-#define D3DISSUE_END (1 << 0)
-#define D3DGETDATA_FLUSH (1 << 0)
-
-
-#define D3DDECL_END() {0xFF,0,D3DDECLTYPE_UNUSED,0,0,0}
-#define D3DDP_MAXTEXCOORD 8
-
-
-#define D3DVSD_MAKETOKENTYPE(TokenType) \
- ((TokenType << D3DVSD_TOKENTYPESHIFT) & D3DVSD_TOKENTYPEMASK)
-
-#define D3DVSD_CONST(ConstantAddress, Count) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_CONSTMEM) | ((Count) << D3DVSD_CONSTCOUNTSHIFT) | (ConstantAddress))
-
-#define D3DVSD_END() 0xFFFFFFFF
-
-#define D3DVSD_NOP() 0x00000000
-
-#define D3DVSD_REG(VertexRegister, Type) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | ((Type) << D3DVSD_DATATYPESHIFT) | (VertexRegister))
-
-#define D3DVSD_SKIP(Count) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | 0x10000000 | ((Count) << D3DVSD_SKIPCOUNTSHIFT))
-
-#define D3DVSD_STREAM(StreamNumber) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (StreamNumber))
-
-#define D3DVSD_STREAM_TESS() \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (D3DVSD_STREAMTESSMASK))
-
-#define D3DVSD_TESSNORMAL(RegisterIn, RegisterOut) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | ((RegisterIn) << D3DVSD_VERTEXREGINSHIFT) | ((0x02) << D3DVSD_DATATYPESHIFT) | (RegisterOut))
-
-#define D3DVSD_TESSUV(Register) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | 0x10000000 | ((0x01) << D3DVSD_DATATYPESHIFT) | (Register))
-
-
-/********************************
- * Pixel/Vertex Shaders Functions
- */
-
-/** Maximum number of supported texture coordinates sets operation */
-#define D3DDP_MAXTEXCOORD 8
-
-/** opcode token mask */
-#define D3DSI_OPCODE_MASK 0x0000FFFF
-#define D3DSI_INSTLENGTH_MASK 0x0F000000
-#define D3DSI_INSTLENGTH_SHIFT 24
-
-/** opcodes types for PS and VS */
-typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE {
- D3DSIO_NOP = 0,
- D3DSIO_MOV = 1,
- D3DSIO_ADD = 2,
- D3DSIO_SUB = 3,
- D3DSIO_MAD = 4,
- D3DSIO_MUL = 5,
- D3DSIO_RCP = 6,
- D3DSIO_RSQ = 7,
- D3DSIO_DP3 = 8,
- D3DSIO_DP4 = 9,
- D3DSIO_MIN = 10,
- D3DSIO_MAX = 11,
- D3DSIO_SLT = 12,
- D3DSIO_SGE = 13,
- D3DSIO_EXP = 14,
- D3DSIO_LOG = 15,
- D3DSIO_LIT = 16,
- D3DSIO_DST = 17,
- D3DSIO_LRP = 18,
- D3DSIO_FRC = 19,
- D3DSIO_M4x4 = 20,
- D3DSIO_M4x3 = 21,
- D3DSIO_M3x4 = 22,
- D3DSIO_M3x3 = 23,
- D3DSIO_M3x2 = 24,
- D3DSIO_CALL = 25,
- D3DSIO_CALLNZ = 26,
- D3DSIO_LOOP = 27,
- D3DSIO_RET = 28,
- D3DSIO_ENDLOOP = 29,
- D3DSIO_LABEL = 30,
- D3DSIO_DCL = 31,
- D3DSIO_POW = 32,
- D3DSIO_CRS = 33,
- D3DSIO_SGN = 34,
- D3DSIO_ABS = 35,
- D3DSIO_NRM = 36,
- D3DSIO_SINCOS = 37,
- D3DSIO_REP = 38,
- D3DSIO_ENDREP = 39,
- D3DSIO_IF = 40,
- D3DSIO_IFC = 41,
- D3DSIO_ELSE = 42,
- D3DSIO_ENDIF = 43,
- D3DSIO_BREAK = 44,
- D3DSIO_BREAKC = 45,
- D3DSIO_MOVA = 46,
- D3DSIO_DEFB = 47,
- D3DSIO_DEFI = 48,
-
- D3DSIO_TEXCOORD = 64,
- D3DSIO_TEXKILL = 65,
- D3DSIO_TEX = 66,
- D3DSIO_TEXBEM = 67,
- D3DSIO_TEXBEML = 68,
- D3DSIO_TEXREG2AR = 69,
- D3DSIO_TEXREG2GB = 70,
- D3DSIO_TEXM3x2PAD = 71,
- D3DSIO_TEXM3x2TEX = 72,
- D3DSIO_TEXM3x3PAD = 73,
- D3DSIO_TEXM3x3TEX = 74,
- D3DSIO_TEXM3x3DIFF = 75,
- D3DSIO_TEXM3x3SPEC = 76,
- D3DSIO_TEXM3x3VSPEC = 77,
- D3DSIO_EXPP = 78,
- D3DSIO_LOGP = 79,
- D3DSIO_CND = 80,
- D3DSIO_DEF = 81,
- D3DSIO_TEXREG2RGB = 82,
- D3DSIO_TEXDP3TEX = 83,
- D3DSIO_TEXM3x2DEPTH = 84,
- D3DSIO_TEXDP3 = 85,
- D3DSIO_TEXM3x3 = 86,
- D3DSIO_TEXDEPTH = 87,
- D3DSIO_CMP = 88,
- D3DSIO_BEM = 89,
- D3DSIO_DP2ADD = 90,
- D3DSIO_DSX = 91,
- D3DSIO_DSY = 92,
- D3DSIO_TEXLDD = 93,
- D3DSIO_SETP = 94,
- D3DSIO_TEXLDL = 95,
- D3DSIO_BREAKP = 96,
-
- D3DSIO_PHASE = 0xFFFD,
- D3DSIO_COMMENT = 0xFFFE,
- D3DSIO_END = 0XFFFF,
-
- D3DSIO_FORCE_DWORD = 0X7FFFFFFF /** for 32-bit alignment */
-} D3DSHADER_INSTRUCTION_OPCODE_TYPE;
-
-#define D3DSINCOSCONST1 -1.5500992e-006f, -2.1701389e-005f, 0.0026041667f, 0.00026041668f
-#define D3DSINCOSCONST2 -0.020833334f, -0.12500000f, 1.0f, 0.50000000f
-
-#define D3DSHADER_INSTRUCTION_PREDICATED (1 << 28)
-
-#define D3DSI_TEXLD_PROJECT 0x00010000
-#define D3DSI_TEXLD_BIAS 0x00020000
-
-/** for parallelism */
-#define D3DSI_COISSUE 0x40000000
-
-#define D3DSP_DCL_USAGE_SHIFT 0
-#define D3DSP_DCL_USAGE_MASK 0x0000000f
-
-#define D3DSP_DCL_USAGEINDEX_SHIFT 16
-#define D3DSP_DCL_USAGEINDEX_MASK 0x000f0000
-
-#define D3DSP_TEXTURETYPE_SHIFT 27
-#define D3DSP_TEXTURETYPE_MASK 0x78000000
-
-typedef enum _D3DSAMPLER_TEXTURE_TYPE {
- D3DSTT_UNKNOWN = 0 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_1D = 1 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_2D = 2 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_CUBE = 3 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_VOLUME = 4 << D3DSP_TEXTURETYPE_SHIFT,
-
- D3DSTT_FORCE_DWORD = 0x7FFFFFFF
-} D3DSAMPLER_TEXTURE_TYPE;
-
-#define D3DSP_REGNUM_MASK 0x000007FF
-
-/** destination parameter modifiers (.xyzw) */
-#define D3DSP_WRITEMASK_0 0x00010000 /* .x r */
-#define D3DSP_WRITEMASK_1 0x00020000 /* .y g */
-#define D3DSP_WRITEMASK_2 0x00040000 /* .z b */
-#define D3DSP_WRITEMASK_3 0x00080000 /* .w a */
-#define D3DSP_WRITEMASK_ALL 0x000F0000 /* all */
-
-#define D3DSP_DSTMOD_SHIFT 20
-#define D3DSP_DSTMOD_MASK (0xF << D3DSP_DSTMOD_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_DSTMOD_TYPE {
- D3DSPDM_NONE = 0 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_SATURATE = 1 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_PARTIALPRECISION = 2 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_MSAMPCENTROID = 4 << D3DSP_DSTMOD_SHIFT,
-
- D3DSPDM_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_DSTMOD_TYPE;
-
-/** destination param */
-#define D3DSP_DSTSHIFT_SHIFT 24
-#define D3DSP_DSTSHIFT_MASK (0xF << D3DSP_DSTSHIFT_SHIFT)
-
-/** destination/source reg type */
-#define D3DSP_REGTYPE_SHIFT 28
-#define D3DSP_REGTYPE_SHIFT2 8
-#define D3DSP_REGTYPE_MASK (0x7 << D3DSP_REGTYPE_SHIFT)
-#define D3DSP_REGTYPE_MASK2 0x00001800
-
-typedef enum _D3DSHADER_PARAM_REGISTER_TYPE {
- D3DSPR_TEMP = 0,
- D3DSPR_INPUT = 1,
- D3DSPR_CONST = 2,
- D3DSPR_ADDR = 3,
- D3DSPR_TEXTURE = 3,
- D3DSPR_RASTOUT = 4,
- D3DSPR_ATTROUT = 5,
- D3DSPR_TEXCRDOUT = 6,
- D3DSPR_OUTPUT = 6,
- D3DSPR_CONSTINT = 7,
- D3DSPR_COLOROUT = 8,
- D3DSPR_DEPTHOUT = 9,
- D3DSPR_SAMPLER = 10,
- D3DSPR_CONST2 = 11,
- D3DSPR_CONST3 = 12,
- D3DSPR_CONST4 = 13,
- D3DSPR_CONSTBOOL = 14,
- D3DSPR_LOOP = 15,
- D3DSPR_TEMPFLOAT16 = 16,
- D3DSPR_MISCTYPE = 17,
- D3DSPR_LABEL = 18,
- D3DSPR_PREDICATE = 19,
-
- D3DSPR_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_REGISTER_TYPE;
-
-typedef enum _D3DSHADER_MISCTYPE_OFFSETS {
- D3DSMO_POSITION = 0,
- D3DSMO_FACE = 1
-} D3DSHADER_MISCTYPE_OFFSETS;
-
-typedef enum _D3DVS_RASTOUT_OFFSETS {
- D3DSRO_POSITION = 0,
- D3DSRO_FOG = 1,
- D3DSRO_POINT_SIZE = 2,
-
- D3DSRO_FORCE_DWORD = 0x7FFFFFFF
-} D3DVS_RASTOUT_OFFSETS;
-
-#define D3DVS_ADDRESSMODE_SHIFT 13
-#define D3DVS_ADDRESSMODE_MASK (0x1 << D3DVS_ADDRESSMODE_SHIFT)
-
-typedef enum _D3DVS_ADDRESSMODE_TYPE {
- D3DVS_ADDRMODE_ABSOLUTE = 0 << D3DVS_ADDRESSMODE_SHIFT,
- D3DVS_ADDRMODE_RELATIVE = 1 << D3DVS_ADDRESSMODE_SHIFT,
-
- D3DVS_ADDRMODE_FORCE_DWORD = 0x7FFFFFFF
-} D3DVS_ADDRESSMODE_TYPE;
-
-#define D3DSHADER_ADDRESSMODE_SHIFT 13
-#define D3DSHADER_ADDRESSMODE_MASK (1 << D3DSHADER_ADDRESSMODE_SHIFT)
-
-typedef enum _D3DSHADER_ADDRESSMODE_TYPE {
- D3DSHADER_ADDRMODE_ABSOLUTE = 0 << D3DSHADER_ADDRESSMODE_SHIFT,
- D3DSHADER_ADDRMODE_RELATIVE = 1 << D3DSHADER_ADDRESSMODE_SHIFT,
-
- D3DSHADER_ADDRMODE_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_ADDRESSMODE_TYPE;
-
-
-#define D3DVS_SWIZZLE_SHIFT 16
-#define D3DVS_SWIZZLE_MASK (0xFF << D3DVS_SWIZZLE_SHIFT)
-
-#define D3DSP_SWIZZLE_SHIFT 16
-#define D3DSP_SWIZZLE_MASK (0xFF << D3DSP_SWIZZLE_SHIFT)
-
-#define D3DVS_X_X (0 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Y (1 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Z (2 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_W (3 << D3DVS_SWIZZLE_SHIFT)
-
-#define D3DVS_Y_X (0 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Y (1 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Z (2 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_W (3 << (D3DVS_SWIZZLE_SHIFT + 2))
-
-#define D3DVS_Z_X (0 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Y (1 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Z (2 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_W (3 << (D3DVS_SWIZZLE_SHIFT + 4))
-
-#define D3DVS_W_X (0 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Y (1 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Z (2 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_W (3 << (D3DVS_SWIZZLE_SHIFT + 6))
-
-#define D3DVS_NOSWIZZLE (D3DVS_X_X | D3DVS_Y_Y | D3DVS_Z_Z | D3DVS_W_W)
-
-#define D3DSP_NOSWIZZLE \
- ((0 << (D3DSP_SWIZZLE_SHIFT + 0)) | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | (3 << (D3DSP_SWIZZLE_SHIFT + 6)))
-
-#define D3DSP_SRCMOD_SHIFT 24
-#define D3DSP_SRCMOD_MASK (0xF << D3DSP_SRCMOD_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_SRCMOD_TYPE {
- D3DSPSM_NONE = 0 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_NEG = 1 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIAS = 2 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIASNEG = 3 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGN = 4 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGNNEG = 5 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_COMP = 6 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2 = 7 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2NEG = 8 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DZ = 9 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DW = 10 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_ABS = 11 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_ABSNEG = 12 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_NOT = 13 << D3DSP_SRCMOD_SHIFT,
-
- D3DSPSM_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_SRCMOD_TYPE;
-
-#define D3DPS_VERSION(major, minor) (0xFFFF0000 | ((major) << 8) | (minor))
-#define D3DVS_VERSION(major, minor) (0xFFFE0000 | ((major) << 8) | (minor))
-#define D3DSHADER_VERSION_MAJOR(version) (((version) >> 8) & 0xFF)
-#define D3DSHADER_VERSION_MINOR(version) (((version) >> 0) & 0xFF)
-
-#define D3DSI_COMMENTSIZE_SHIFT 16
-#define D3DSI_COMMENTSIZE_MASK (0x7FFF << D3DSI_COMMENTSIZE_SHIFT)
-
-#define D3DSHADER_COMMENT(commentSize) \
- ((((commentSize) << D3DSI_COMMENTSIZE_SHIFT) & D3DSI_COMMENTSIZE_MASK) | D3DSIO_COMMENT)
-
-#define D3DPS_END() 0x0000FFFF
-#define D3DVS_END() 0x0000FFFF
-
-
-/*****************************************************************************
- * Direct 3D v8 enumerated types
- */
-typedef enum _D3DBACKBUFFER_TYPE {
- D3DBACKBUFFER_TYPE_MONO = 0,
- D3DBACKBUFFER_TYPE_LEFT = 1,
- D3DBACKBUFFER_TYPE_RIGHT = 2,
-
- D3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
-} D3DBACKBUFFER_TYPE;
-
-#define D3DPRESENT_BACK_BUFFER_MAX 3L
-
-typedef enum _D3DBASISTYPE {
- D3DBASIS_BEZIER = 0,
- D3DBASIS_BSPLINE = 1,
- D3DBASIS_INTERPOLATE = 2,
-
- D3DBASIS_FORCE_DWORD = 0x7fffffff
-} D3DBASISTYPE;
-
-typedef enum _D3DBLEND {
- D3DBLEND_ZERO = 1,
- D3DBLEND_ONE = 2,
- D3DBLEND_SRCCOLOR = 3,
- D3DBLEND_INVSRCCOLOR = 4,
- D3DBLEND_SRCALPHA = 5,
- D3DBLEND_INVSRCALPHA = 6,
- D3DBLEND_DESTALPHA = 7,
- D3DBLEND_INVDESTALPHA = 8,
- D3DBLEND_DESTCOLOR = 9,
- D3DBLEND_INVDESTCOLOR = 10,
- D3DBLEND_SRCALPHASAT = 11,
- D3DBLEND_BOTHSRCALPHA = 12,
- D3DBLEND_BOTHINVSRCALPHA = 13,
- D3DBLEND_BLENDFACTOR = 14,
- D3DBLEND_INVBLENDFACTOR = 15,
- D3DBLEND_FORCE_DWORD = 0x7fffffff
-} D3DBLEND;
-
-typedef enum _D3DBLENDOP {
- D3DBLENDOP_ADD = 1,
- D3DBLENDOP_SUBTRACT = 2,
- D3DBLENDOP_REVSUBTRACT = 3,
- D3DBLENDOP_MIN = 4,
- D3DBLENDOP_MAX = 5,
-
- D3DBLENDOP_FORCE_DWORD = 0x7fffffff
-} D3DBLENDOP;
-
-typedef enum _D3DCMPFUNC {
- D3DCMP_NEVER = 1,
- D3DCMP_LESS = 2,
- D3DCMP_EQUAL = 3,
- D3DCMP_LESSEQUAL = 4,
- D3DCMP_GREATER = 5,
- D3DCMP_NOTEQUAL = 6,
- D3DCMP_GREATEREQUAL = 7,
- D3DCMP_ALWAYS = 8,
-
- D3DCMP_FORCE_DWORD = 0x7fffffff
-} D3DCMPFUNC;
-
-typedef enum _D3DCUBEMAP_FACES {
- D3DCUBEMAP_FACE_POSITIVE_X = 0,
- D3DCUBEMAP_FACE_NEGATIVE_X = 1,
- D3DCUBEMAP_FACE_POSITIVE_Y = 2,
- D3DCUBEMAP_FACE_NEGATIVE_Y = 3,
- D3DCUBEMAP_FACE_POSITIVE_Z = 4,
- D3DCUBEMAP_FACE_NEGATIVE_Z = 5,
-
- D3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
-} D3DCUBEMAP_FACES;
-
-typedef enum _D3DCULL {
- D3DCULL_NONE = 1,
- D3DCULL_CW = 2,
- D3DCULL_CCW = 3,
-
- D3DCULL_FORCE_DWORD = 0x7fffffff
-} D3DCULL;
-
-typedef enum _D3DDEBUGMONITORTOKENS {
- D3DDMT_ENABLE = 0,
- D3DDMT_DISABLE = 1,
-
- D3DDMT_FORCE_DWORD = 0x7fffffff
-} D3DDEBUGMONITORTOKENS;
-
-typedef enum _D3DDEGREETYPE {
- D3DDEGREE_LINEAR = 1,
- D3DDEGREE_QUADRATIC = 2,
- D3DDEGREE_CUBIC = 3,
- D3DDEGREE_QUINTIC = 5,
-
- D3DDEGREE_FORCE_DWORD = 0x7fffffff
-} D3DDEGREETYPE;
-
-typedef enum _D3DDEVTYPE {
- D3DDEVTYPE_HAL = 1,
- D3DDEVTYPE_REF = 2,
- D3DDEVTYPE_SW = 3,
- D3DDEVTYPE_NULLREF = 4,
-
- D3DDEVTYPE_FORCE_DWORD = 0xffffffff
-} D3DDEVTYPE;
-
-typedef enum _D3DFILLMODE {
- D3DFILL_POINT = 1,
- D3DFILL_WIREFRAME = 2,
- D3DFILL_SOLID = 3,
-
- D3DFILL_FORCE_DWORD = 0x7fffffff
-} D3DFILLMODE;
-
-typedef enum _D3DFOGMODE {
- D3DFOG_NONE = 0,
- D3DFOG_EXP = 1,
- D3DFOG_EXP2 = 2,
- D3DFOG_LINEAR = 3,
-
- D3DFOG_FORCE_DWORD = 0x7fffffff
-} D3DFOGMODE;
-
-typedef enum _D3DFORMAT {
- D3DFMT_UNKNOWN = 0,
-
- D3DFMT_R8G8B8 = 20,
- D3DFMT_A8R8G8B8 = 21,
- D3DFMT_X8R8G8B8 = 22,
- D3DFMT_R5G6B5 = 23,
- D3DFMT_X1R5G5B5 = 24,
- D3DFMT_A1R5G5B5 = 25,
- D3DFMT_A4R4G4B4 = 26,
- D3DFMT_R3G3B2 = 27,
- D3DFMT_A8 = 28,
- D3DFMT_A8R3G3B2 = 29,
- D3DFMT_X4R4G4B4 = 30,
- D3DFMT_A2B10G10R10 = 31,
- D3DFMT_A8B8G8R8 = 32,
- D3DFMT_X8B8G8R8 = 33,
- D3DFMT_G16R16 = 34,
- D3DFMT_A2R10G10B10 = 35,
- D3DFMT_A16B16G16R16 = 36,
-
-
- D3DFMT_A8P8 = 40,
- D3DFMT_P8 = 41,
-
- D3DFMT_L8 = 50,
- D3DFMT_A8L8 = 51,
- D3DFMT_A4L4 = 52,
-
- D3DFMT_V8U8 = 60,
- D3DFMT_L6V5U5 = 61,
- D3DFMT_X8L8V8U8 = 62,
- D3DFMT_Q8W8V8U8 = 63,
- D3DFMT_V16U16 = 64,
- D3DFMT_A2W10V10U10 = 67,
-
- D3DFMT_UYVY = MAKEFOURCC('U', 'Y', 'V', 'Y'),
- D3DFMT_YUY2 = MAKEFOURCC('Y', 'U', 'Y', '2'),
- D3DFMT_DXT1 = MAKEFOURCC('D', 'X', 'T', '1'),
- D3DFMT_DXT2 = MAKEFOURCC('D', 'X', 'T', '2'),
- D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3'),
- D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4'),
- D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5'),
- D3DFMT_MULTI2_ARGB8 = MAKEFOURCC('M', 'E', 'T', '1'),
- D3DFMT_G8R8_G8B8 = MAKEFOURCC('G', 'R', 'G', 'B'),
- D3DFMT_R8G8_B8G8 = MAKEFOURCC('R', 'G', 'B', 'G'),
-
- D3DFMT_D16_LOCKABLE = 70,
- D3DFMT_D32 = 71,
- D3DFMT_D15S1 = 73,
- D3DFMT_D24S8 = 75,
- D3DFMT_D24X8 = 77,
- D3DFMT_D24X4S4 = 79,
- D3DFMT_D16 = 80,
- D3DFMT_L16 = 81,
- D3DFMT_D32F_LOCKABLE = 82,
- D3DFMT_D24FS8 = 83,
-
- D3DFMT_VERTEXDATA = 100,
- D3DFMT_INDEX16 = 101,
- D3DFMT_INDEX32 = 102,
- D3DFMT_Q16W16V16U16 = 110,
- /* Floating point formats */
- D3DFMT_R16F = 111,
- D3DFMT_G16R16F = 112,
- D3DFMT_A16B16G16R16F = 113,
-
- /* IEEE formats */
- D3DFMT_R32F = 114,
- D3DFMT_G32R32F = 115,
- D3DFMT_A32B32G32R32F = 116,
-
- D3DFMT_CxV8U8 = 117,
-
-
- D3DFMT_FORCE_DWORD = 0xFFFFFFFF
-} D3DFORMAT;
-
-typedef enum _D3DLIGHTTYPE {
- D3DLIGHT_POINT = 1,
- D3DLIGHT_SPOT = 2,
- D3DLIGHT_DIRECTIONAL = 3,
-
- D3DLIGHT_FORCE_DWORD = 0x7fffffff
-} D3DLIGHTTYPE;
-
-typedef enum _D3DMATERIALCOLORSOURCE {
- D3DMCS_MATERIAL = 0,
- D3DMCS_COLOR1 = 1,
- D3DMCS_COLOR2 = 2,
-
- D3DMCS_FORCE_DWORD = 0x7fffffff
-} D3DMATERIALCOLORSOURCE;
-
-typedef enum _D3DMULTISAMPLE_TYPE {
- D3DMULTISAMPLE_NONE = 0,
- D3DMULTISAMPLE_NONMASKABLE = 1,
- D3DMULTISAMPLE_2_SAMPLES = 2,
- D3DMULTISAMPLE_3_SAMPLES = 3,
- D3DMULTISAMPLE_4_SAMPLES = 4,
- D3DMULTISAMPLE_5_SAMPLES = 5,
- D3DMULTISAMPLE_6_SAMPLES = 6,
- D3DMULTISAMPLE_7_SAMPLES = 7,
- D3DMULTISAMPLE_8_SAMPLES = 8,
- D3DMULTISAMPLE_9_SAMPLES = 9,
- D3DMULTISAMPLE_10_SAMPLES = 10,
- D3DMULTISAMPLE_11_SAMPLES = 11,
- D3DMULTISAMPLE_12_SAMPLES = 12,
- D3DMULTISAMPLE_13_SAMPLES = 13,
- D3DMULTISAMPLE_14_SAMPLES = 14,
- D3DMULTISAMPLE_15_SAMPLES = 15,
- D3DMULTISAMPLE_16_SAMPLES = 16,
-
- D3DMULTISAMPLE_FORCE_DWORD = 0x7fffffff
-} D3DMULTISAMPLE_TYPE;
-
-#if 0
-typedef enum _D3DORDERTYPE {
- D3DORDER_LINEAR = 1,
- D3DORDER_QUADRATIC = 2,
- D3DORDER_CUBIC = 3,
- D3DORDER_QUINTIC = 5,
-
- D3DORDER_FORCE_DWORD = 0x7fffffff
-} D3DORDERTYPE;
-#endif
-typedef enum _D3DPATCHEDGESTYLE {
- D3DPATCHEDGE_DISCRETE = 0,
- D3DPATCHEDGE_CONTINUOUS = 1,
-
- D3DPATCHEDGE_FORCE_DWORD = 0x7fffffff,
-} D3DPATCHEDGESTYLE;
-
-typedef enum _D3DPOOL {
- D3DPOOL_DEFAULT = 0,
- D3DPOOL_MANAGED = 1,
- D3DPOOL_SYSTEMMEM = 2,
- D3DPOOL_SCRATCH = 3,
-
- D3DPOOL_FORCE_DWORD = 0x7fffffff
-} D3DPOOL;
-
-typedef enum _D3DPRIMITIVETYPE {
- D3DPT_POINTLIST = 1,
- D3DPT_LINELIST = 2,
- D3DPT_LINESTRIP = 3,
- D3DPT_TRIANGLELIST = 4,
- D3DPT_TRIANGLESTRIP = 5,
- D3DPT_TRIANGLEFAN = 6,
-
- D3DPT_FORCE_DWORD = 0x7fffffff
-} D3DPRIMITIVETYPE;
-
-typedef enum _D3DRENDERSTATETYPE {
- D3DRS_ZENABLE = 7,
- D3DRS_FILLMODE = 8,
- D3DRS_SHADEMODE = 9,
- D3DRS_ZWRITEENABLE = 14,
- D3DRS_ALPHATESTENABLE = 15,
- D3DRS_LASTPIXEL = 16,
- D3DRS_SRCBLEND = 19,
- D3DRS_DESTBLEND = 20,
- D3DRS_CULLMODE = 22,
- D3DRS_ZFUNC = 23,
- D3DRS_ALPHAREF = 24,
- D3DRS_ALPHAFUNC = 25,
- D3DRS_DITHERENABLE = 26,
- D3DRS_ALPHABLENDENABLE = 27,
- D3DRS_FOGENABLE = 28,
- D3DRS_SPECULARENABLE = 29,
- D3DRS_FOGCOLOR = 34,
- D3DRS_FOGTABLEMODE = 35,
- D3DRS_FOGSTART = 36,
- D3DRS_FOGEND = 37,
- D3DRS_FOGDENSITY = 38,
- D3DRS_RANGEFOGENABLE = 48,
- D3DRS_STENCILENABLE = 52,
- D3DRS_STENCILFAIL = 53,
- D3DRS_STENCILZFAIL = 54,
- D3DRS_STENCILPASS = 55,
- D3DRS_STENCILFUNC = 56,
- D3DRS_STENCILREF = 57,
- D3DRS_STENCILMASK = 58,
- D3DRS_STENCILWRITEMASK = 59,
- D3DRS_TEXTUREFACTOR = 60,
- D3DRS_WRAP0 = 128,
- D3DRS_WRAP1 = 129,
- D3DRS_WRAP2 = 130,
- D3DRS_WRAP3 = 131,
- D3DRS_WRAP4 = 132,
- D3DRS_WRAP5 = 133,
- D3DRS_WRAP6 = 134,
- D3DRS_WRAP7 = 135,
- D3DRS_CLIPPING = 136,
- D3DRS_LIGHTING = 137,
- D3DRS_AMBIENT = 139,
- D3DRS_FOGVERTEXMODE = 140,
- D3DRS_COLORVERTEX = 141,
- D3DRS_LOCALVIEWER = 142,
- D3DRS_NORMALIZENORMALS = 143,
- D3DRS_DIFFUSEMATERIALSOURCE = 145,
- D3DRS_SPECULARMATERIALSOURCE = 146,
- D3DRS_AMBIENTMATERIALSOURCE = 147,
- D3DRS_EMISSIVEMATERIALSOURCE = 148,
- D3DRS_VERTEXBLEND = 151,
- D3DRS_CLIPPLANEENABLE = 152,
- D3DRS_POINTSIZE = 154,
- D3DRS_POINTSIZE_MIN = 155,
- D3DRS_POINTSPRITEENABLE = 156,
- D3DRS_POINTSCALEENABLE = 157,
- D3DRS_POINTSCALE_A = 158,
- D3DRS_POINTSCALE_B = 159,
- D3DRS_POINTSCALE_C = 160,
- D3DRS_MULTISAMPLEANTIALIAS = 161,
- D3DRS_MULTISAMPLEMASK = 162,
- D3DRS_PATCHEDGESTYLE = 163,
- D3DRS_DEBUGMONITORTOKEN = 165,
- D3DRS_POINTSIZE_MAX = 166,
- D3DRS_INDEXEDVERTEXBLENDENABLE = 167,
- D3DRS_COLORWRITEENABLE = 168,
- D3DRS_TWEENFACTOR = 170,
- D3DRS_BLENDOP = 171,
- D3DRS_POSITIONDEGREE = 172,
- D3DRS_NORMALDEGREE = 173,
- D3DRS_SCISSORTESTENABLE = 174,
- D3DRS_SLOPESCALEDEPTHBIAS = 175,
- D3DRS_ANTIALIASEDLINEENABLE = 176,
- D3DRS_MINTESSELLATIONLEVEL = 178,
- D3DRS_MAXTESSELLATIONLEVEL = 179,
- D3DRS_ADAPTIVETESS_X = 180,
- D3DRS_ADAPTIVETESS_Y = 181,
- D3DRS_ADAPTIVETESS_Z = 182,
- D3DRS_ADAPTIVETESS_W = 183,
- D3DRS_ENABLEADAPTIVETESSELLATION= 184,
- D3DRS_TWOSIDEDSTENCILMODE = 185,
- D3DRS_CCW_STENCILFAIL = 186,
- D3DRS_CCW_STENCILZFAIL = 187,
- D3DRS_CCW_STENCILPASS = 188,
- D3DRS_CCW_STENCILFUNC = 189,
- D3DRS_COLORWRITEENABLE1 = 190,
- D3DRS_COLORWRITEENABLE2 = 191,
- D3DRS_COLORWRITEENABLE3 = 192,
- D3DRS_BLENDFACTOR = 193,
- D3DRS_SRGBWRITEENABLE = 194,
- D3DRS_DEPTHBIAS = 195,
- D3DRS_WRAP8 = 198,
- D3DRS_WRAP9 = 199,
- D3DRS_WRAP10 = 200,
- D3DRS_WRAP11 = 201,
- D3DRS_WRAP12 = 202,
- D3DRS_WRAP13 = 203,
- D3DRS_WRAP14 = 204,
- D3DRS_WRAP15 = 205,
- D3DRS_SEPARATEALPHABLENDENABLE = 206,
- D3DRS_SRCBLENDALPHA = 207,
- D3DRS_DESTBLENDALPHA = 208,
- D3DRS_BLENDOPALPHA = 209,
-
- D3DRS_FORCE_DWORD = 0x7fffffff
-} D3DRENDERSTATETYPE;
-
-typedef enum _D3DRESOURCETYPE {
- D3DRTYPE_SURFACE = 1,
- D3DRTYPE_VOLUME = 2,
- D3DRTYPE_TEXTURE = 3,
- D3DRTYPE_VOLUMETEXTURE = 4,
- D3DRTYPE_CUBETEXTURE = 5,
- D3DRTYPE_VERTEXBUFFER = 6,
- D3DRTYPE_INDEXBUFFER = 7,
-
- D3DRTYPE_FORCE_DWORD = 0x7fffffff
-} D3DRESOURCETYPE;
-
-#define D3DRTYPECOUNT (D3DRTYPE_INDEXBUFFER+1)
-
-typedef enum _D3DSHADEMODE {
- D3DSHADE_FLAT = 1,
- D3DSHADE_GOURAUD = 2,
- D3DSHADE_PHONG = 3,
-
- D3DSHADE_FORCE_DWORD = 0x7fffffff
-} D3DSHADEMODE;
-
-typedef enum _D3DSTATEBLOCKTYPE {
- D3DSBT_ALL = 1,
- D3DSBT_PIXELSTATE = 2,
- D3DSBT_VERTEXSTATE = 3,
-
- D3DSBT_FORCE_DWORD = 0xffffffff
-} D3DSTATEBLOCKTYPE;
-
-typedef enum _D3DSTENCILOP {
- D3DSTENCILOP_KEEP = 1,
- D3DSTENCILOP_ZERO = 2,
- D3DSTENCILOP_REPLACE = 3,
- D3DSTENCILOP_INCRSAT = 4,
- D3DSTENCILOP_DECRSAT = 5,
- D3DSTENCILOP_INVERT = 6,
- D3DSTENCILOP_INCR = 7,
- D3DSTENCILOP_DECR = 8,
-
- D3DSTENCILOP_FORCE_DWORD = 0x7fffffff
-} D3DSTENCILOP;
-
-typedef enum _D3DSWAPEFFECT {
- D3DSWAPEFFECT_DISCARD = 1,
- D3DSWAPEFFECT_FLIP = 2,
- D3DSWAPEFFECT_COPY = 3,
- D3DSWAPEFFECT_FORCE_DWORD = 0xFFFFFFFF
-} D3DSWAPEFFECT;
-
-typedef enum _D3DTEXTUREADDRESS {
- D3DTADDRESS_WRAP = 1,
- D3DTADDRESS_MIRROR = 2,
- D3DTADDRESS_CLAMP = 3,
- D3DTADDRESS_BORDER = 4,
- D3DTADDRESS_MIRRORONCE = 5,
-
- D3DTADDRESS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREADDRESS;
-
-typedef enum _D3DTEXTUREFILTERTYPE {
- D3DTEXF_NONE = 0,
- D3DTEXF_POINT = 1,
- D3DTEXF_LINEAR = 2,
- D3DTEXF_ANISOTROPIC = 3,
- D3DTEXF_FLATCUBIC = 4,
- D3DTEXF_GAUSSIANCUBIC = 5,
- D3DTEXF_PYRAMIDALQUAD = 6,
- D3DTEXF_GAUSSIANQUAD = 7,
- D3DTEXF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREFILTERTYPE;
-
-typedef enum _D3DTEXTUREOP {
- D3DTOP_DISABLE = 1,
- D3DTOP_SELECTARG1 = 2,
- D3DTOP_SELECTARG2 = 3,
- D3DTOP_MODULATE = 4,
- D3DTOP_MODULATE2X = 5,
- D3DTOP_MODULATE4X = 6,
- D3DTOP_ADD = 7,
- D3DTOP_ADDSIGNED = 8,
- D3DTOP_ADDSIGNED2X = 9,
- D3DTOP_SUBTRACT = 10,
- D3DTOP_ADDSMOOTH = 11,
- D3DTOP_BLENDDIFFUSEALPHA = 12,
- D3DTOP_BLENDTEXTUREALPHA = 13,
- D3DTOP_BLENDFACTORALPHA = 14,
- D3DTOP_BLENDTEXTUREALPHAPM = 15,
- D3DTOP_BLENDCURRENTALPHA = 16,
- D3DTOP_PREMODULATE = 17,
- D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
- D3DTOP_MODULATECOLOR_ADDALPHA = 19,
- D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
- D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
- D3DTOP_BUMPENVMAP = 22,
- D3DTOP_BUMPENVMAPLUMINANCE = 23,
- D3DTOP_DOTPRODUCT3 = 24,
- D3DTOP_MULTIPLYADD = 25,
- D3DTOP_LERP = 26,
-
- D3DTOP_FORCE_DWORD = 0x7fffffff,
-} D3DTEXTUREOP;
-
-typedef enum _D3DTEXTURESTAGESTATETYPE {
- D3DTSS_COLOROP = 1,
- D3DTSS_COLORARG1 = 2,
- D3DTSS_COLORARG2 = 3,
- D3DTSS_ALPHAOP = 4,
- D3DTSS_ALPHAARG1 = 5,
- D3DTSS_ALPHAARG2 = 6,
- D3DTSS_BUMPENVMAT00 = 7,
- D3DTSS_BUMPENVMAT01 = 8,
- D3DTSS_BUMPENVMAT10 = 9,
- D3DTSS_BUMPENVMAT11 = 10,
- D3DTSS_TEXCOORDINDEX = 11,
- D3DTSS_BUMPENVLSCALE = 22,
- D3DTSS_BUMPENVLOFFSET = 23,
- D3DTSS_TEXTURETRANSFORMFLAGS = 24,
- D3DTSS_COLORARG0 = 26,
- D3DTSS_ALPHAARG0 = 27,
- D3DTSS_RESULTARG = 28,
- D3DTSS_CONSTANT = 32,
-
- D3DTSS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURESTAGESTATETYPE;
-
-typedef enum _D3DTEXTURETRANSFORMFLAGS {
- D3DTTFF_DISABLE = 0,
- D3DTTFF_COUNT1 = 1,
- D3DTTFF_COUNT2 = 2,
- D3DTTFF_COUNT3 = 3,
- D3DTTFF_COUNT4 = 4,
- D3DTTFF_PROJECTED = 256,
-
- D3DTTFF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURETRANSFORMFLAGS;
-
-typedef enum _D3DTRANSFORMSTATETYPE {
- D3DTS_VIEW = 2,
- D3DTS_PROJECTION = 3,
- D3DTS_TEXTURE0 = 16,
- D3DTS_TEXTURE1 = 17,
- D3DTS_TEXTURE2 = 18,
- D3DTS_TEXTURE3 = 19,
- D3DTS_TEXTURE4 = 20,
- D3DTS_TEXTURE5 = 21,
- D3DTS_TEXTURE6 = 22,
- D3DTS_TEXTURE7 = 23,
-
- D3DTS_FORCE_DWORD = 0x7fffffff
-} D3DTRANSFORMSTATETYPE;
-
-typedef enum _D3DVERTEXBLENDFLAGS {
- D3DVBF_DISABLE = 0,
- D3DVBF_1WEIGHTS = 1,
- D3DVBF_2WEIGHTS = 2,
- D3DVBF_3WEIGHTS = 3,
- D3DVBF_TWEENING = 255,
- D3DVBF_0WEIGHTS = 256
-} D3DVERTEXBLENDFLAGS;
-
-typedef enum _D3DZBUFFERTYPE {
- D3DZB_FALSE = 0,
- D3DZB_TRUE = 1,
- D3DZB_USEW = 2,
-
- D3DZB_FORCE_DWORD = 0x7fffffff
-} D3DZBUFFERTYPE;
-
-typedef enum _D3DSAMPLERSTATETYPE {
- D3DSAMP_ADDRESSU = 1,
- D3DSAMP_ADDRESSV = 2,
- D3DSAMP_ADDRESSW = 3,
- D3DSAMP_BORDERCOLOR = 4,
- D3DSAMP_MAGFILTER = 5,
- D3DSAMP_MINFILTER = 6,
- D3DSAMP_MIPFILTER = 7,
- D3DSAMP_MIPMAPLODBIAS = 8,
- D3DSAMP_MAXMIPLEVEL = 9,
- D3DSAMP_MAXANISOTROPY = 10,
- D3DSAMP_SRGBTEXTURE = 11,
- D3DSAMP_ELEMENTINDEX = 12,
- D3DSAMP_DMAPOFFSET = 13,
-
- D3DSAMP_FORCE_DWORD = 0x7fffffff,
-} D3DSAMPLERSTATETYPE;
-
-
-/*****************************************************************************
- * Direct 3D v9 typedefs
- */
-#ifndef D3DCOLOR_DEFINED
-typedef DWORD D3DCOLOR;
-#define D3DCOLOR_DEFINED
-#endif
-
-/*****************************************************************************
- * Direct 3D v9 structures
- */
-typedef struct _D3DADAPTER_IDENTIFIER9 {
- char Driver[MAX_DEVICE_IDENTIFIER_STRING];
- char Description[MAX_DEVICE_IDENTIFIER_STRING];
- char DeviceName[32];
- LARGE_INTEGER DriverVersion;
-
- DWORD VendorId;
- DWORD DeviceId;
- DWORD SubSysId;
- DWORD Revision;
-
- GUID DeviceIdentifier;
-
- DWORD WHQLLevel;
-} D3DADAPTER_IDENTIFIER9;
-
-typedef struct _D3DBOX {
- UINT Left;
- UINT Top;
- UINT Right;
- UINT Bottom;
- UINT Front;
- UINT Back;
-} D3DBOX;
-
-typedef struct _D3DCLIPSTATUS9 {
- DWORD ClipUnion;
- DWORD ClipIntersection;
-} D3DCLIPSTATUS9;
-
-#ifndef D3DCOLORVALUE_DEFINED
-typedef struct _D3DCOLORVALUE {
- float r;
- float g;
- float b;
- float a;
-} D3DCOLORVALUE;
-#define D3DCOLORVALUE_DEFINED
-#endif
-
-typedef struct _D3DDEVICE_CREATION_PARAMETERS {
- UINT AdapterOrdinal;
- D3DDEVTYPE DeviceType;
- HWND hFocusWindow;
- DWORD BehaviorFlags;
-} D3DDEVICE_CREATION_PARAMETERS;
-
-typedef struct _D3DDEVINFO_D3D9BANDWIDTHTIMINGS {
- float MaxBandwidthUtilized;
- float FrontEndUploadMemoryUtilizedPercent;
- float VertexRateUtilizedPercent;
- float TriangleSetupRateUtilizedPercent;
- float FillRateUtilizedPercent;
-} D3DDEVINFO_D3D9BANDWIDTHTIMINGS;
-
-typedef struct _D3DDEVINFO_D3D9CACHEUTILIZATION {
- float TextureCacheHitRate;
- float PostTransformVertexCacheHitRate;
-} D3DDEVINFO_D3D9CACHEUTILIZATION;
-
-typedef struct _D3DDEVINFO_D3D9INTERFACETIMINGS {
- float WaitingForGPUToUseApplicationResourceTimePercent;
- float WaitingForGPUToAcceptMoreCommandsTimePercent;
- float WaitingForGPUToStayWithinLatencyTimePercent;
- float WaitingForGPUExclusiveResourceTimePercent;
- float WaitingForGPUOtherTimePercent;
-} D3DDEVINFO_D3D9INTERFACETIMINGS;
-
-typedef struct _D3DDEVINFO_D3D9PIPELINETIMINGS {
- float VertexProcessingTimePercent;
- float PixelProcessingTimePercent;
- float OtherGPUProcessingTimePercent;
- float GPUIdleTimePercent;
-} D3DDEVINFO_D3D9PIPELINETIMINGS;
-
-typedef struct _D3DDEVINFO_D3D9STAGETIMINGS {
- float MemoryProcessingPercent;
- float ComputationProcessingPercent;
-} D3DDEVINFO_D3D9STAGETIMINGS;
-
-
-/* Vertex cache optimization hints. */
-typedef struct D3DDEVINFO_VCACHE {
- /* Must be a 4 char code FOURCC (e.g. CACH) */
- DWORD Pattern;
- /* 0 to get the longest strips, 1 vertex cache */
- DWORD OptMethod;
- /* Cache size to use (only valid if OptMethod==1) */
- DWORD CacheSize;
- /* internal for deciding when to restart strips, non user modifyable (only valid if OptMethod==1) */
- DWORD MagicNumber;
-} D3DDEVINFO_VCACHE;
-
-typedef struct D3DRESOURCESTATS {
- BOOL bThrashing;
- DWORD ApproxBytesDownloaded;
- DWORD NumEvicts;
- DWORD NumVidCreates;
- DWORD LastPri;
- DWORD NumUsed;
- DWORD NumUsedInVidMem;
- DWORD WorkingSet;
- DWORD WorkingSetBytes;
- DWORD TotalManaged;
- DWORD TotalBytes;
-} D3DRESOURCESTATS;
-
-typedef struct _D3DDEVINFO_D3DRESOURCEMANAGER {
- D3DRESOURCESTATS stats[D3DRTYPECOUNT];
-} D3DDEVINFO_D3DRESOURCEMANAGER;
-
-typedef struct _D3DDEVINFO_D3DVERTEXSTATS {
- DWORD NumRenderedTriangles;
- DWORD NumExtraClippingTriangles;
-} D3DDEVINFO_D3DVERTEXSTATS;
-
-typedef struct _D3DDISPLAYMODE {
- UINT Width;
- UINT Height;
- UINT RefreshRate;
- D3DFORMAT Format;
-} D3DDISPLAYMODE;
-
-typedef struct _D3DGAMMARAMP {
- WORD red [256];
- WORD green[256];
- WORD blue [256];
-} D3DGAMMARAMP;
-
-typedef struct _D3DINDEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
-} D3DINDEXBUFFER_DESC;
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- float x;
- float y;
- float z;
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-
-typedef struct _D3DLIGHT9 {
- D3DLIGHTTYPE Type;
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Ambient;
- D3DVECTOR Position;
- D3DVECTOR Direction;
- float Range;
- float Falloff;
- float Attenuation0;
- float Attenuation1;
- float Attenuation2;
- float Theta;
- float Phi;
-} D3DLIGHT9;
-
-typedef struct _D3DLINEPATTERN {
- WORD wRepeatFactor;
- WORD wLinePattern;
-} D3DLINEPATTERN;
-
-typedef struct _D3DLOCKED_BOX {
- INT RowPitch;
- INT SlicePitch;
- void* pBits;
-} D3DLOCKED_BOX;
-
-typedef struct _D3DLOCKED_RECT {
- INT Pitch;
- void* pBits;
-} D3DLOCKED_RECT;
-
-typedef struct _D3DMATERIAL9 {
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Ambient;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Emissive;
- float Power;
-} D3DMATERIAL9;
-
-#ifndef D3DMATRIX_DEFINED
-typedef struct _D3DMATRIX {
- union {
- struct {
- float _11, _12, _13, _14;
- float _21, _22, _23, _24;
- float _31, _32, _33, _34;
- float _41, _42, _43, _44;
- } DUMMYSTRUCTNAME;
- float m[4][4];
- } DUMMYUNIONNAME;
-} D3DMATRIX;
-#define D3DMATRIX_DEFINED
-#endif
-
-typedef struct _D3DPRESENT_PARAMETERS_ {
- UINT BackBufferWidth;
- UINT BackBufferHeight;
- D3DFORMAT BackBufferFormat;
- UINT BackBufferCount;
-
- D3DMULTISAMPLE_TYPE MultiSampleType;
- DWORD MultiSampleQuality;
-
- D3DSWAPEFFECT SwapEffect;
- HWND hDeviceWindow;
- BOOL Windowed;
- BOOL EnableAutoDepthStencil;
- D3DFORMAT AutoDepthStencilFormat;
- DWORD Flags;
-
- UINT FullScreen_RefreshRateInHz;
- UINT PresentationInterval;
-
-} D3DPRESENT_PARAMETERS;
-
-typedef struct _D3DRANGE {
- UINT Offset;
- UINT Size;
-} D3DRANGE;
-
-typedef struct _D3DRASTER_STATUS {
- BOOL InVBlank;
- UINT ScanLine;
-} D3DRASTER_STATUS;
-
-#ifndef D3DRECT_DEFINED
-typedef struct _D3DRECT {
- LONG x1;
- LONG y1;
- LONG x2;
- LONG y2;
-} D3DRECT;
-#define D3DRECT_DEFINED
-#endif
-
-typedef struct _D3DRECTPATCH_INFO {
- UINT StartVertexOffsetWidth;
- UINT StartVertexOffsetHeight;
- UINT Width;
- UINT Height;
- UINT Stride;
- D3DBASISTYPE Basis;
- D3DDEGREETYPE Degree;
-} D3DRECTPATCH_INFO;
-
-typedef struct _D3DSURFACE_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- D3DMULTISAMPLE_TYPE MultiSampleType;
- DWORD MultiSampleQuality;
- UINT Width;
- UINT Height;
-} D3DSURFACE_DESC;
-
-typedef struct _D3DTRIPATCH_INFO {
- UINT StartVertexOffset;
- UINT NumVertices;
- D3DBASISTYPE Basis;
- D3DDEGREETYPE Degree;
-} D3DTRIPATCH_INFO;
-
-typedef struct _D3DVERTEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- DWORD FVF;
-} D3DVERTEXBUFFER_DESC;
-
-typedef struct _D3DVIEWPORT9 {
- DWORD X;
- DWORD Y;
- DWORD Width;
- DWORD Height;
- float MinZ;
- float MaxZ;
-} D3DVIEWPORT9;
-
-typedef struct _D3DVOLUME_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
-
- UINT Width;
- UINT Height;
- UINT Depth;
-} D3DVOLUME_DESC;
-
-/* Parts added with d3d9ex */
-#if !defined(D3D_DISABLE_9EX)
-typedef enum D3DSCANLINEORDERING
-{
- D3DSCANLINEORDERING_UNKNOWN,
- D3DSCANLINEORDERING_PROGRESSIVE,
- D3DSCANLINEORDERING_INTERLACED,
-} D3DSCANLINEORDERING;
-
-
-typedef struct D3DDISPLAYMODEFILTER
-{
- UINT Size;
- D3DFORMAT Format;
- D3DSCANLINEORDERING ScanLineOrdering;
-} D3DDISPLAYMODEFILTER;
-
-typedef struct D3DDISPLAYMODEEX
-{
- UINT Size;
- UINT Width;
- UINT Height;
- UINT RefreshRate;
- D3DFORMAT Format;
- D3DSCANLINEORDERING ScanLineOrdering;
-} D3DDISPLAYMODEEX;
-
-typedef enum D3DDISPLAYROTATION
-{
- D3DDISPLAYROTATION_IDENTITY = 1,
- D3DDISPLAYROTATION_90,
- D3DDISPLAYROTATION_180,
- D3DDISPLAYROTATION_270
-} D3DDISPLAYROTATION;
-
-typedef enum _D3DCOMPOSERECTSOP{
- D3DCOMPOSERECTS_COPY = 1,
- D3DCOMPOSERECTS_OR,
- D3DCOMPOSERECTS_AND,
- D3DCOMPOSERECTS_NEG,
- D3DCOMPOSERECTS_FORCE_DWORD = 0x7fffffff
-} D3DCOMPOSERECTSOP;
-#endif /* D3D_DISABLE_9EX */
-
-typedef enum _D3DSHADER_COMPARISON
-{
- D3DSPC_RESERVED0 = 0,
- D3DSPC_GT,
- D3DSPC_EQ,
- D3DSPC_GE,
- D3DSPC_LT,
- D3DSPC_NE,
- D3DSPC_LE,
- D3DSPC_RESERVED1,
-} D3DSHADER_COMPARISON;
-
-#endif /* __WINE_D3D9TYPES_H */
+++ /dev/null
-/*
- * Copyright (C) 2000 Peter Hunnisett
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3DCAPS_H
-#define __WINE_D3DCAPS_H
-
-#include <ddraw.h>
-
-typedef struct _D3DTRANSFORMCAPS {
- DWORD dwSize;
- DWORD dwCaps;
-} D3DTRANSFORMCAPS, *LPD3DTRANSFORMCAPS;
-
-#define D3DTRANSFORMCAPS_CLIP 0x00000001L
-
-typedef struct _D3DLIGHTINGCAPS {
- DWORD dwSize;
- DWORD dwCaps;
- DWORD dwLightingModel;
- DWORD dwNumLights;
-} D3DLIGHTINGCAPS, *LPD3DLIGHTINGCAPS;
-
-#define D3DLIGHTINGMODEL_RGB 0x00000001
-#define D3DLIGHTINGMODEL_MONO 0x00000002
-
-#define D3DLIGHTCAPS_POINT 0x00000001
-#define D3DLIGHTCAPS_SPOT 0x00000002
-#define D3DLIGHTCAPS_DIRECTIONAL 0x00000004
-#define D3DLIGHTCAPS_PARALLELPOINT 0x00000008
-#define D3DLIGHTCAPS_GLSPOT 0x00000010
-
-typedef struct _D3dPrimCaps {
- DWORD dwSize;
- DWORD dwMiscCaps;
- DWORD dwRasterCaps;
- DWORD dwZCmpCaps;
- DWORD dwSrcBlendCaps;
- DWORD dwDestBlendCaps;
- DWORD dwAlphaCmpCaps;
- DWORD dwShadeCaps;
- DWORD dwTextureCaps;
- DWORD dwTextureFilterCaps;
- DWORD dwTextureBlendCaps;
- DWORD dwTextureAddressCaps;
- DWORD dwStippleWidth;
- DWORD dwStippleHeight;
-} D3DPRIMCAPS, *LPD3DPRIMCAPS;
-
-#define D3DPMISCCAPS_MASKPLANES 0x00000001
-#define D3DPMISCCAPS_MASKZ 0x00000002
-#define D3DPMISCCAPS_LINEPATTERNREP 0x00000004
-#define D3DPMISCCAPS_CONFORMANT 0x00000008
-#define D3DPMISCCAPS_CULLNONE 0x00000010
-#define D3DPMISCCAPS_CULLCW 0x00000020
-#define D3DPMISCCAPS_CULLCCW 0x00000040
-
-#define D3DPRASTERCAPS_DITHER 0x00000001
-#define D3DPRASTERCAPS_ROP2 0x00000002
-#define D3DPRASTERCAPS_XOR 0x00000004
-#define D3DPRASTERCAPS_PAT 0x00000008
-#define D3DPRASTERCAPS_ZTEST 0x00000010
-#define D3DPRASTERCAPS_SUBPIXEL 0x00000020
-#define D3DPRASTERCAPS_SUBPIXELX 0x00000040
-#define D3DPRASTERCAPS_FOGVERTEX 0x00000080
-#define D3DPRASTERCAPS_FOGTABLE 0x00000100
-#define D3DPRASTERCAPS_STIPPLE 0x00000200
-#define D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT 0x00000400
-#define D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT 0x00000800
-#define D3DPRASTERCAPS_ANTIALIASEDGES 0x00001000
-#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000
-#define D3DPRASTERCAPS_ZBIAS 0x00004000
-#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000
-#define D3DPRASTERCAPS_FOGRANGE 0x00010000
-#define D3DPRASTERCAPS_ANISOTROPY 0x00020000
-#define D3DPRASTERCAPS_WBUFFER 0x00040000
-#define D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT 0x00080000
-#define D3DPRASTERCAPS_WFOG 0x00100000
-#define D3DPRASTERCAPS_ZFOG 0x00200000
-
-#define D3DPCMPCAPS_NEVER 0x00000001
-#define D3DPCMPCAPS_LESS 0x00000002
-#define D3DPCMPCAPS_EQUAL 0x00000004
-#define D3DPCMPCAPS_LESSEQUAL 0x00000008
-#define D3DPCMPCAPS_GREATER 0x00000010
-#define D3DPCMPCAPS_NOTEQUAL 0x00000020
-#define D3DPCMPCAPS_GREATEREQUAL 0x00000040
-#define D3DPCMPCAPS_ALWAYS 0x00000080
-
-#define D3DPBLENDCAPS_ZERO 0x00000001
-#define D3DPBLENDCAPS_ONE 0x00000002
-#define D3DPBLENDCAPS_SRCCOLOR 0x00000004
-#define D3DPBLENDCAPS_INVSRCCOLOR 0x00000008
-#define D3DPBLENDCAPS_SRCALPHA 0x00000010
-#define D3DPBLENDCAPS_INVSRCALPHA 0x00000020
-#define D3DPBLENDCAPS_DESTALPHA 0x00000040
-#define D3DPBLENDCAPS_INVDESTALPHA 0x00000080
-#define D3DPBLENDCAPS_DESTCOLOR 0x00000100
-#define D3DPBLENDCAPS_INVDESTCOLOR 0x00000200
-#define D3DPBLENDCAPS_SRCALPHASAT 0x00000400
-#define D3DPBLENDCAPS_BOTHSRCALPHA 0x00000800
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
-
-#define D3DPSHADECAPS_COLORFLATMONO 0x00000001
-#define D3DPSHADECAPS_COLORFLATRGB 0x00000002
-#define D3DPSHADECAPS_COLORGOURAUDMONO 0x00000004
-#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00000008
-#define D3DPSHADECAPS_COLORPHONGMONO 0x00000010
-#define D3DPSHADECAPS_COLORPHONGRGB 0x00000020
-
-#define D3DPSHADECAPS_SPECULARFLATMONO 0x00000040
-#define D3DPSHADECAPS_SPECULARFLATRGB 0x00000080
-#define D3DPSHADECAPS_SPECULARGOURAUDMONO 0x00000100
-#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200
-#define D3DPSHADECAPS_SPECULARPHONGMONO 0x00000400
-#define D3DPSHADECAPS_SPECULARPHONGRGB 0x00000800
-
-#define D3DPSHADECAPS_ALPHAFLATBLEND 0x00001000
-#define D3DPSHADECAPS_ALPHAFLATSTIPPLED 0x00002000
-#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x00004000
-#define D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x00008000
-#define D3DPSHADECAPS_ALPHAPHONGBLEND 0x00010000
-#define D3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x00020000
-
-#define D3DPSHADECAPS_FOGFLAT 0x00040000
-#define D3DPSHADECAPS_FOGGOURAUD 0x00080000
-#define D3DPSHADECAPS_FOGPHONG 0x00100000
-
-#define D3DPTEXTURECAPS_PERSPECTIVE 0x00000001
-#define D3DPTEXTURECAPS_POW2 0x00000002
-#define D3DPTEXTURECAPS_ALPHA 0x00000004
-#define D3DPTEXTURECAPS_TRANSPARENCY 0x00000008
-#define D3DPTEXTURECAPS_BORDER 0x00000010
-#define D3DPTEXTURECAPS_SQUAREONLY 0x00000020
-#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040
-#define D3DPTEXTURECAPS_ALPHAPALETTE 0x00000080
-#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100L
-/* yes actually 0x00000200 is unused - or at least unreleased */
-#define D3DPTEXTURECAPS_PROJECTED 0x00000400
-#define D3DPTEXTURECAPS_CUBEMAP 0x00000800
-#define D3DPTEXTURECAPS_COLORKEYBLEND 0x00001000
-
-#define D3DPTFILTERCAPS_NEAREST 0x00000001
-#define D3DPTFILTERCAPS_LINEAR 0x00000002
-#define D3DPTFILTERCAPS_MIPNEAREST 0x00000004
-#define D3DPTFILTERCAPS_MIPLINEAR 0x00000008
-#define D3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010
-#define D3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020
-/* yes - missing numbers */
-#define D3DPTFILTERCAPS_MINFPOINT 0x00000100
-#define D3DPTFILTERCAPS_MINFLINEAR 0x00000200
-#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400
-/* yes - missing numbers */
-#define D3DPTFILTERCAPS_MIPFPOINT 0x00010000
-#define D3DPTFILTERCAPS_MIPFLINEAR 0x00020000
-/* yes - missing numbers */
-#define D3DPTFILTERCAPS_MAGFPOINT 0x01000000
-#define D3DPTFILTERCAPS_MAGFLINEAR 0x02000000
-#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000
-#define D3DPTFILTERCAPS_MAGFAFLATCUBIC 0x08000000
-#define D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC 0x10000000
-
-#define D3DPTBLENDCAPS_DECAL 0x00000001
-#define D3DPTBLENDCAPS_MODULATE 0x00000002
-#define D3DPTBLENDCAPS_DECALALPHA 0x00000004
-#define D3DPTBLENDCAPS_MODULATEALPHA 0x00000008
-#define D3DPTBLENDCAPS_DECALMASK 0x00000010
-#define D3DPTBLENDCAPS_MODULATEMASK 0x00000020
-#define D3DPTBLENDCAPS_COPY 0x00000040
-#define D3DPTBLENDCAPS_ADD 0x00000080
-
-#define D3DPTADDRESSCAPS_WRAP 0x00000001
-#define D3DPTADDRESSCAPS_MIRROR 0x00000002
-#define D3DPTADDRESSCAPS_CLAMP 0x00000004
-#define D3DPTADDRESSCAPS_BORDER 0x00000008
-#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x00000010
-
-
-typedef struct _D3DDeviceDesc {
- DWORD dwSize;
- DWORD dwFlags;
- D3DCOLORMODEL dcmColorModel;
- DWORD dwDevCaps;
- D3DTRANSFORMCAPS dtcTransformCaps;
- BOOL bClipping;
- D3DLIGHTINGCAPS dlcLightingCaps;
- D3DPRIMCAPS dpcLineCaps;
- D3DPRIMCAPS dpcTriCaps;
- DWORD dwDeviceRenderBitDepth;
- DWORD dwDeviceZBufferBitDepth;
- DWORD dwMaxBufferSize;
- DWORD dwMaxVertexCount;
-
- DWORD dwMinTextureWidth,dwMinTextureHeight;
- DWORD dwMaxTextureWidth,dwMaxTextureHeight;
- DWORD dwMinStippleWidth,dwMaxStippleWidth;
- DWORD dwMinStippleHeight,dwMaxStippleHeight;
-
- DWORD dwMaxTextureRepeat;
- DWORD dwMaxTextureAspectRatio;
- DWORD dwMaxAnisotropy;
-
- D3DVALUE dvGuardBandLeft;
- D3DVALUE dvGuardBandTop;
- D3DVALUE dvGuardBandRight;
- D3DVALUE dvGuardBandBottom;
-
- D3DVALUE dvExtentsAdjust;
- DWORD dwStencilCaps;
-
- DWORD dwFVFCaps;
- DWORD dwTextureOpCaps;
- WORD wMaxTextureBlendStages;
- WORD wMaxSimultaneousTextures;
-} D3DDEVICEDESC,*LPD3DDEVICEDESC;
-#define D3DDEVICEDESCSIZE (sizeof(D3DDEVICEDESC))
-
-typedef struct _D3DDeviceDesc7 {
- DWORD dwDevCaps;
- D3DPRIMCAPS dpcLineCaps;
- D3DPRIMCAPS dpcTriCaps;
- DWORD dwDeviceRenderBitDepth;
- DWORD dwDeviceZBufferBitDepth;
-
- DWORD dwMinTextureWidth, dwMinTextureHeight;
- DWORD dwMaxTextureWidth, dwMaxTextureHeight;
-
- DWORD dwMaxTextureRepeat;
- DWORD dwMaxTextureAspectRatio;
- DWORD dwMaxAnisotropy;
-
- D3DVALUE dvGuardBandLeft;
- D3DVALUE dvGuardBandTop;
- D3DVALUE dvGuardBandRight;
- D3DVALUE dvGuardBandBottom;
-
- D3DVALUE dvExtentsAdjust;
- DWORD dwStencilCaps;
- DWORD dwFVFCaps;
- DWORD dwTextureOpCaps;
- WORD wMaxTextureBlendStages;
- WORD wMaxSimultaneousTextures;
-
- DWORD dwMaxActiveLights;
- D3DVALUE dvMaxVertexW;
- GUID deviceGUID;
-
- WORD wMaxUserClipPlanes;
- WORD wMaxVertexBlendMatrices;
-
- DWORD dwVertexProcessingCaps;
-
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwReserved4;
-} D3DDEVICEDESC7, *LPD3DDEVICEDESC7;
-#define D3DDEVICEDESC7SIZE (sizeof(D3DDEVICEDESC7))
-
-#define D3DDD_COLORMODEL 0x00000001
-#define D3DDD_DEVCAPS 0x00000002
-#define D3DDD_TRANSFORMCAPS 0x00000004
-#define D3DDD_LIGHTINGCAPS 0x00000008
-#define D3DDD_BCLIPPING 0x00000010
-#define D3DDD_LINECAPS 0x00000020
-#define D3DDD_TRICAPS 0x00000040
-#define D3DDD_DEVICERENDERBITDEPTH 0x00000080
-#define D3DDD_DEVICEZBUFFERBITDEPTH 0x00000100
-#define D3DDD_MAXBUFFERSIZE 0x00000200
-#define D3DDD_MAXVERTEXCOUNT 0x00000400
-
-#define D3DDEVCAPS_FLOATTLVERTEX 0x00000001
-#define D3DDEVCAPS_SORTINCREASINGZ 0x00000002
-#define D3DDEVCAPS_SORTDECREASINGZ 0X00000004
-#define D3DDEVCAPS_SORTEXACT 0x00000008
-#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x00000010
-#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x00000020
-#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x00000040
-#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x00000080
-#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x00000100
-#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x00000200
-#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x00000400
-#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x00000800
-#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x00001000
-#define D3DDEVCAPS_DRAWPRIMITIVES2 0x00002000
-#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x00004000
-#define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x00008000
-#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x00010000
-#define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x00020000
-#define D3DDEVCAPS_HWRASTERIZATION 0x00080000
-
-#define D3DSTENCILCAPS_KEEP 0x00000001
-#define D3DSTENCILCAPS_ZERO 0x00000002
-#define D3DSTENCILCAPS_REPLACE 0x00000004
-#define D3DSTENCILCAPS_INCRSAT 0x00000008
-#define D3DSTENCILCAPS_DECRSAT 0x00000010
-#define D3DSTENCILCAPS_INVERT 0x00000020
-#define D3DSTENCILCAPS_INCR 0x00000040
-#define D3DSTENCILCAPS_DECR 0x00000080
-
-#define D3DTEXOPCAPS_DISABLE 0x00000001
-#define D3DTEXOPCAPS_SELECTARG1 0x00000002
-#define D3DTEXOPCAPS_SELECTARG2 0x00000004
-#define D3DTEXOPCAPS_MODULATE 0x00000008
-#define D3DTEXOPCAPS_MODULATE2X 0x00000010
-#define D3DTEXOPCAPS_MODULATE4X 0x00000020
-#define D3DTEXOPCAPS_ADD 0x00000040
-#define D3DTEXOPCAPS_ADDSIGNED 0x00000080
-#define D3DTEXOPCAPS_ADDSIGNED2X 0x00000100
-#define D3DTEXOPCAPS_SUBTRACT 0x00000200
-#define D3DTEXOPCAPS_ADDSMOOTH 0x00000400
-#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x00000800
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x00001000
-#define D3DTEXOPCAPS_BLENDFACTORALPHA 0x00002000
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x00004000
-#define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x00008000
-#define D3DTEXOPCAPS_PREMODULATE 0x00010000
-#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x00020000
-#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x00040000
-#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x00080000
-#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x00100000
-#define D3DTEXOPCAPS_BUMPENVMAP 0x00200000
-#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x00400000
-#define D3DTEXOPCAPS_DOTPRODUCT3 0x00800000
-
-#define D3DFVFCAPS_TEXCOORDCOUNTMASK 0x0000FFFF
-#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x00080000
-
-#define D3DVTXPCAPS_TEXGEN 0x00000001
-#define D3DVTXPCAPS_MATERIALSOURCE7 0x00000002
-#define D3DVTXPCAPS_VERTEXFOG 0x00000004
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008
-#define D3DVTXPCAPS_POSITIONALLIGHTS 0x00000010
-#define D3DVTXPCAPS_LOCALVIEWER 0x00000020
-
-typedef HRESULT (CALLBACK *LPD3DENUMDEVICESCALLBACK)(LPGUID lpGuid,LPSTR lpDeviceDescription,LPSTR lpDeviceName,LPD3DDEVICEDESC,LPD3DDEVICEDESC,LPVOID);
-typedef HRESULT (CALLBACK *LPD3DENUMDEVICESCALLBACK7)(LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC7, LPVOID);
-
-#define D3DFDS_COLORMODEL 0x00000001
-#define D3DFDS_GUID 0x00000002
-#define D3DFDS_HARDWARE 0x00000004
-#define D3DFDS_TRIANGLES 0x00000008
-#define D3DFDS_LINES 0x00000010
-#define D3DFDS_MISCCAPS 0x00000020
-#define D3DFDS_RASTERCAPS 0x00000040
-#define D3DFDS_ZCMPCAPS 0x00000080
-#define D3DFDS_ALPHACMPCAPS 0x00000100
-#define D3DFDS_SRCBLENDCAPS 0x00000200
-#define D3DFDS_DSTBLENDCAPS 0x00000400
-#define D3DFDS_SHADECAPS 0x00000800
-#define D3DFDS_TEXTURECAPS 0x00001000
-#define D3DFDS_TEXTUREFILTERCAPS 0x00002000
-#define D3DFDS_TEXTUREBLENDCAPS 0x00004000
-#define D3DFDS_TEXTUREADDRESSCAPS 0x00008000
-
-typedef struct _D3DFINDDEVICESEARCH {
- DWORD dwSize;
- DWORD dwFlags;
- BOOL bHardware;
- D3DCOLORMODEL dcmColorModel;
- GUID guid;
- DWORD dwCaps;
- D3DPRIMCAPS dpcPrimCaps;
-} D3DFINDDEVICESEARCH,*LPD3DFINDDEVICESEARCH;
-
-typedef struct _D3DFINDDEVICERESULT {
- DWORD dwSize;
- GUID guid;
- D3DDEVICEDESC ddHwDesc;
- D3DDEVICEDESC ddSwDesc;
-} D3DFINDDEVICERESULT,*LPD3DFINDDEVICERESULT;
-
-typedef struct _D3DExecuteBufferDesc {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwCaps;
- DWORD dwBufferSize;
- LPVOID lpData;
-} D3DEXECUTEBUFFERDESC, *LPD3DEXECUTEBUFFERDESC;
-
-#define D3DDEB_BUFSIZE 0x00000001
-#define D3DDEB_CAPS 0x00000002
-#define D3DDEB_LPDATA 0x00000004
-
-#define D3DDEBCAPS_SYSTEMMEMORY 0x00000001
-#define D3DDEBCAPS_VIDEOMEMORY 0x00000002
-#define D3DDEBCAPS_MEM (D3DDEBCAPS_SYSTEMMEMORY|D3DDEBCAPS_VIDEOMEMORY) /* = 0x3 */
-
-typedef struct _D3DDEVINFO_TEXTUREMANAGER {
- BOOL bThrashing;
- DWORD dwApproxBytesDownloaded;
- DWORD dwNumEvicts;
- DWORD dwNumVidCreates;
- DWORD dwNumTexturesUsed;
- DWORD dwNumUsedTexInVid;
- DWORD dwWorkingSet;
- DWORD dwWorkingSetBytes;
- DWORD dwTotalManaged;
- DWORD dwTotalBytes;
- DWORD dwLastPri;
-} D3DDEVINFO_TEXTUREMANAGER, *LPD3DDEVINFO_TEXTUREMANAGER;
-
-typedef struct _D3DDEVINFO_TEXTURING {
- DWORD dwNumLoads;
- DWORD dwApproxBytesLoaded;
- DWORD dwNumPreLoads;
- DWORD dwNumSet;
- DWORD dwNumCreates;
- DWORD dwNumDestroys;
- DWORD dwNumSetPriorities;
- DWORD dwNumSetLODs;
- DWORD dwNumLocks;
- DWORD dwNumGetDCs;
-} D3DDEVINFO_TEXTURING, *LPD3DDEVINFO_TEXTURING;
-
-
-
-#endif
+++ /dev/null
-/*
- * Direct3D driver interface
- * (DirectX 7 version)
- *
- * Copyright (C) 2001 Ove Kaaven
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef _D3DHAL_H_
-#define _D3DHAL_H_
-
-#include <_mingw_dxhelper.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <d3d.h>
-
-/*****************************************************************************
- * device info structures
- */
-typedef struct _D3DDeviceDesc_V1 {
- DWORD dwSize;
- DWORD dwFlags;
- D3DCOLORMODEL dcmColorModel;
- DWORD dwDevCaps;
- D3DTRANSFORMCAPS dtcTransformCaps;
- WINBOOL bClipping;
- D3DLIGHTINGCAPS dlcLightingCaps;
- D3DPRIMCAPS dpcLineCaps;
- D3DPRIMCAPS dpcTriCaps;
- DWORD dwDeviceRenderBitDepth;
- DWORD dwDeviceZBufferBitDepth;
- DWORD dwMaxBufferSize;
- DWORD dwMaxVertexCount;
-} D3DDEVICEDESC_V1,*LPD3DDEVICEDESC_V1;
-
-/* this is to allow keeping the bulk of our OpenGL code out of x11drv */
-#define D3DDD_WINE_OPENGL_DEVICE 0x00008000
-
-typedef struct _D3DHAL_GLOBALDRIVERDATA {
- DWORD dwSize;
- D3DDEVICEDESC_V1 hwCaps;
- DWORD dwNumVertices;
- DWORD dwNumClipVertices;
- DWORD dwNumTextureFormats;
- LPDDSURFACEDESC lpTextureFormats;
-} D3DHAL_GLOBALDRIVERDATA;
-
-#ifndef D3DHAL_GLOBALDRIVERDATA_DEFINED
-typedef D3DHAL_GLOBALDRIVERDATA *LPD3DHAL_GLOBALDRIVERDATA;
-#define D3DHAL_GLOBALDRIVERDATA_DEFINED
-#endif
-
-typedef struct _D3DHAL_D3DEXTENDEDCAPS {
- DWORD dwSize;
- /* DirectX 5 */
- DWORD dwMinTextureWidth, dwMaxTextureWidth;
- DWORD dwMinTextureHeight, dwMaxTextureHeight;
- DWORD dwMinStippleWidth, dwMaxStippleWidth;
- DWORD dwMinStippleHeight, dwMaxStippleHeight;
- /* DirectX 6 */
- DWORD dwMaxTextureRepeat;
- DWORD dwMaxTextureAspectRatio;
- DWORD dwMaxAnisotropy;
- D3DVALUE dvGuardBandLeft;
- D3DVALUE dvGuardBandTop;
- D3DVALUE dvGuardBandRight;
- D3DVALUE dvGuardBandBottom;
- D3DVALUE dvExtentsAdjust;
- DWORD dwStencilCaps;
- DWORD dwFVFCaps;
- DWORD dwTextureOpCaps;
- WORD wMaxTextureBlendStages;
- WORD wMaxSimultaneousTextures;
- /* DirectX 7 */
- DWORD dwMaxActiveLights;
- D3DVALUE dvMaxVertexW;
- WORD wMaxUserClipPlanes;
- WORD wMaxVertexBlendMatrices;
- DWORD dwVertexProcessingCaps;
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwReserved4;
-} D3DHAL_D3DEXTENDEDCAPS,*LPD3DHAL_D3DEXTENDEDCAPS;
-
-/*****************************************************************************
- * d3d->driver callbacks
- */
-typedef struct _D3DHAL_CONTEXTCREATEDATA *LPD3DHAL_CONTEXTCREATEDATA;
-typedef struct _D3DHAL_CONTEXTDESTROYDATA *LPD3DHAL_CONTEXTDESTROYDATA;
-typedef struct _D3DHAL_CONTEXTDESTROYALLDATA *LPD3DHAL_CONTEXTDESTROYALLDATA;
-typedef struct _D3DHAL_SCENECAPTUREDATA *LPD3DHAL_SCENECAPTUREDATA;
-typedef struct _D3DHAL_RENDERSTATEDATA *LPD3DHAL_RENDERSTATEDATA;
-typedef struct _D3DHAL_RENDERPRIMITIVEDATA *LPD3DHAL_RENDERPRIMITIVEDATA;
-typedef struct _D3DHAL_TEXTURECREATEDATA *LPD3DHAL_TEXTURECREATEDATA;
-typedef struct _D3DHAL_TEXTUREDESTROYDATA *LPD3DHAL_TEXTUREDESTROYDATA;
-typedef struct _D3DHAL_TEXTURESWAPDATA *LPD3DHAL_TEXTURESWAPDATA;
-typedef struct _D3DHAL_TEXTUREGETSURFDATA *LPD3DHAL_TEXTUREGETSURFDATA;
-typedef struct _D3DHAL_GETSTATEDATA *LPD3DHAL_GETSTATEDATA;
-
-typedef DWORD (PASCAL *LPD3DHAL_CONTEXTCREATECB) (LPD3DHAL_CONTEXTCREATEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYCB) (LPD3DHAL_CONTEXTDESTROYDATA);
-typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYALLCB)(LPD3DHAL_CONTEXTDESTROYALLDATA);
-typedef DWORD (PASCAL *LPD3DHAL_SCENECAPTURECB) (LPD3DHAL_SCENECAPTUREDATA);
-typedef DWORD (PASCAL *LPD3DHAL_RENDERSTATECB) (LPD3DHAL_RENDERSTATEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_RENDERPRIMITIVECB) (LPD3DHAL_RENDERPRIMITIVEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_TEXTURECREATECB) (LPD3DHAL_TEXTURECREATEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_TEXTUREDESTROYCB) (LPD3DHAL_TEXTUREDESTROYDATA);
-typedef DWORD (PASCAL *LPD3DHAL_TEXTURESWAPCB) (LPD3DHAL_TEXTURESWAPDATA);
-typedef DWORD (PASCAL *LPD3DHAL_TEXTUREGETSURFCB) (LPD3DHAL_TEXTUREGETSURFDATA);
-typedef DWORD (PASCAL *LPD3DHAL_GETSTATECB) (LPD3DHAL_GETSTATEDATA);
-
-typedef struct _D3DHAL_CALLBACKS {
- DWORD dwSize;
- LPD3DHAL_CONTEXTCREATECB ContextCreate;
- LPD3DHAL_CONTEXTDESTROYCB ContextDestroy;
- LPD3DHAL_CONTEXTDESTROYALLCB ContextDestroyAll;
- LPD3DHAL_SCENECAPTURECB SceneCapture;
- LPVOID lpReserved10;
- LPVOID lpReserved11;
- LPD3DHAL_RENDERSTATECB RenderState;
- LPD3DHAL_RENDERPRIMITIVECB RenderPrimitive;
- DWORD dwReserved;
- LPD3DHAL_TEXTURECREATECB TextureCreate;
- LPD3DHAL_TEXTUREDESTROYCB TextureDestroy;
- LPD3DHAL_TEXTURESWAPCB TextureSwap;
- LPD3DHAL_TEXTUREGETSURFCB TextureGetSurf;
- /* now why did MS create CALLBACKS2 and CALLBACKS3 structures if
- * all these reserved fields were available? we may never know */
- LPVOID lpReserved12;
- LPVOID lpReserved13;
- LPVOID lpReserved14;
- LPVOID lpReserved15;
- LPVOID lpReserved16;
- LPVOID lpReserved17;
- LPVOID lpReserved18;
- LPVOID lpReserved19;
- LPVOID lpReserved20;
- LPVOID lpReserved21;
- LPD3DHAL_GETSTATECB GetState;
- DWORD dwReserved0;
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwReserved4;
- DWORD dwReserved5;
- DWORD dwReserved6;
- DWORD dwReserved7;
- DWORD dwReserved8;
- DWORD dwReserved9;
-} D3DHAL_CALLBACKS;
-
-#ifndef D3DHAL_CALLBACKS_DEFINED
-typedef D3DHAL_CALLBACKS *LPD3DHAL_CALLBACKS;
-#define D3DHAL_CALLBACKS_DEFINED
-#endif
-
-typedef struct _D3DHAL_SETRENDERTARGETDATA *LPD3DHAL_SETRENDERTARGETDATA;
-typedef struct _D3DHAL_CLEARDATA *LPD3DHAL_CLEARDATA;
-typedef struct _D3DHAL_DRAWONEPRIMITIVEDATA *LPD3DHAL_DRAWONEPRIMITIVEDATA;
-typedef struct _D3DHAL_DRAWONEINDEXEDPRIMITIVEDATA *LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA;
-typedef struct _D3DHAL_DRAWPRIMITIVESDATA *LPD3DHAL_DRAWPRIMITIVESDATA;
-
-typedef DWORD (PASCAL *LPD3DHAL_SETRENDERTARGETCB) (LPD3DHAL_SETRENDERTARGETDATA);
-typedef DWORD (PASCAL *LPD3DHAL_CLEARCB) (LPD3DHAL_CLEARDATA);
-typedef DWORD (PASCAL *LPD3DHAL_DRAWONEPRIMITIVECB) (LPD3DHAL_DRAWONEPRIMITIVEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB)(LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVESCB) (LPD3DHAL_DRAWPRIMITIVESDATA);
-
-typedef struct _D3DHAL_CALLBACKS2 {
- DWORD dwSize;
- DWORD dwFlags;
- LPD3DHAL_SETRENDERTARGETCB SetRenderTarget;
- LPD3DHAL_CLEARCB Clear;
- LPD3DHAL_DRAWONEPRIMITIVECB DrawOnePrimitive;
- LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB DrawOneIndexedPrimitive;
- LPD3DHAL_DRAWPRIMITIVESCB DrawPrimitives;
-} D3DHAL_CALLBACKS2,*LPD3DHAL_CALLBACKS2;
-
-typedef struct _D3DHAL_CLEAR2DATA *LPD3DHAL_CLEAR2DATA;
-typedef struct _D3DHAL_VALIDATETEXTURESTAGESTATEDATA *LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA;
-typedef struct _D3DHAL_DRAWPRIMITIVES2DATA *LPD3DHAL_DRAWPRIMITIVES2DATA;
-
-typedef DWORD (PASCAL *LPD3DHAL_CLEAR2CB) (LPD3DHAL_CLEAR2DATA);
-typedef DWORD (PASCAL *LPD3DHAL_VALIDATETEXTURESTAGESTATECB)(LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVES2CB) (LPD3DHAL_DRAWPRIMITIVES2DATA);
-
-typedef struct _D3DHAL_CALLBACKS3 {
- DWORD dwSize;
- DWORD dwFlags;
- LPD3DHAL_CLEAR2CB Clear2;
- LPVOID lpvReserved;
- LPD3DHAL_VALIDATETEXTURESTAGESTATECB ValidateTextureStageState;
- LPD3DHAL_DRAWPRIMITIVES2CB DrawPrimitives2;
-} D3DHAL_CALLBACKS3,*LPD3DHAL_CALLBACKS3;
-
-/*****************************************************************************
- * parameter structures
- */
-typedef struct _D3DHAL_CONTEXTCREATEDATA {
- union {
- LPDDRAWI_DIRECTDRAW_GBL lpDDGbl; /* pre-DirectX 7 */
- LPDDRAWI_DIRECTDRAW_LCL lpDDLcl; /* DirectX 7 */
- } DUMMYUNIONNAME1;
- union {
- LPDIRECTDRAWSURFACE lpDDS;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl; /* DirectX 7 */
- } DUMMYUNIONNAME2;
- union {
- LPDIRECTDRAWSURFACE lpDDSZ;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl; /* DirectX 7 */
- } DUMMYUNIONNAME3;
- union {
- DWORD dwPID;
- ULONG_PTR dwrstates;
- } DUMMYUNIONNAME4;
- ULONG_PTR dwhContext;
- HRESULT ddrval;
-} D3DHAL_CONTEXTCREATEDATA;
-
-typedef struct _D3DHAL_CONTEXTDESTROYDATA {
- ULONG_PTR dwhContext;
- HRESULT ddrval;
-} D3DHAL_CONTEXTDESTROYDATA;
-
-typedef struct _D3DHAL_CONTEXTDESTROYALLDATA {
- DWORD dwPID;
- HRESULT ddrval;
-} D3DHAL_CONTEXTDESTROYALLDATA;
-
-typedef struct _D3DHAL_SCENECAPTUREDATA {
- ULONG_PTR dwhContext;
- DWORD dwFlag;
- HRESULT ddrval;
-} D3DHAL_SCENECAPTUREDATA;
-
-#define D3DHAL_SCENE_CAPTURE_START 0x00000000
-#define D3DHAL_SCENE_CAPTURE_END 0x00000001
-
-typedef struct _D3DHAL_SETRENDERTARGETDATA {
- ULONG_PTR dwhContext;
- union {
- LPDIRECTDRAWSURFACE lpDDS;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl;
- } DUMMYUNIONNAME1;
- union {
- LPDIRECTDRAWSURFACE lpDDSZ;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl;
- } DUMMYUNIONNAME2;
- HRESULT ddrval;
-} D3DHAL_SETRENDERTARGETDATA;
-
-typedef struct _D3DHAL_DRAWPRIMITIVES2DATA {
- ULONG_PTR dwhContext;
- DWORD dwFlags;
- DWORD dwVertexType;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDCommands;
- DWORD dwCommandOffset;
- DWORD dwCommandLength;
- union {
- LPDDRAWI_DDRAWSURFACE_LCL lpDDVertex;
- LPVOID lpVertices;
- } DUMMYUNIONNAME1;
- DWORD dwVertexOffset;
- DWORD dwVertexLength;
- DWORD dwReqVertexBufSize;
- DWORD dwReqCommandBufSize;
- LPDWORD lpdwRStates;
- union {
- DWORD dwVertexSize;
- HRESULT ddrval;
- } DUMMYUNIONNAME2;
- DWORD dwErrorOffset;
-} D3DHAL_DRAWPRIMITIVES2DATA;
-
-#define D3DHALDP2_USERMEMVERTICES 0x00000001
-#define D3DHALDP2_EXECUTEBUFFER 0x00000002
-#define D3DHALDP2_SWAPVERTEXBUFFER 0x00000004
-#define D3DHALDP2_SWAPCOMMANDBUFFER 0x00000008
-#define D3DHALDP2_REQVERTEXBUFSIZE 0x00000010
-#define D3DHALDP2_REQCOMMANDBUFSIZE 0x00000020
-#define D3DHALDP2_VIDMEMVERTEXBUF 0x00000040
-#define D3DHALDP2_VIDMEMCOMMANDBUF 0x00000080
-
-/*****************************************************************************
- * DrawPrimitives2 command structures
- */
-typedef struct _D3DHAL_DP2COMMAND {
- BYTE bCommand;
- BYTE bReserved;
- union {
- WORD wPrimitiveCount;
- WORD wStateCount;
- } DUMMYUNIONNAME;
-} D3DHAL_DP2COMMAND,*LPD3DHAL_DP2COMMAND;
-
-typedef enum _D3DHAL_DP2OPERATION {
- D3DDP2OP_POINTS = 1,
- D3DDP2OP_INDEXEDLINELIST = 2,
- D3DDP2OP_INDEXEDTRIANGLELIST = 3,
- D3DDP2OP_RENDERSTATE = 8,
- D3DDP2OP_LINELIST = 15,
- D3DDP2OP_LINESTRIP = 16,
- D3DDP2OP_INDEXEDLINESTRIP = 17,
- D3DDP2OP_TRIANGLELIST = 18,
- D3DDP2OP_TRIANGLESTRIP = 19,
- D3DDP2OP_INDEXEDTRIANGLESTRIP = 20,
- D3DDP2OP_TRIANGLEFAN = 21,
- D3DDP2OP_INDEXEDTRIANGLEFAN = 22,
- D3DDP2OP_TRIANGLEFAN_IMM = 23,
- D3DDP2OP_LINELIST_IMM = 24,
- D3DDP2OP_TEXTURESTAGESTATE = 25,
- D3DDP2OP_INDEXEDTRIANGLELIST2 = 26,
- D3DDP2OP_INDEXEDLINELIST2 = 27,
- D3DDP2OP_VIEWPORTINFO = 28,
- D3DDP2OP_WINFO = 29,
- /* pre-DirectX 7 interfaces */
- D3DDP2OP_SETPALETTE = 30,
- D3DDP2OP_UPDATEPALETTE = 31,
- /* DirectX 7 interfaces */
- D3DDP2OP_ZRANGE = 32,
- D3DDP2OP_SETMATERIAL = 33,
- D3DDP2OP_SETLIGHT = 34,
- D3DDP2OP_CREATELIGHT = 35,
- D3DDP2OP_SETTRANSFORM = 36,
- D3DDP2OP_TEXBLT = 38,
- D3DDP2OP_STATESET = 39,
- D3DDP2OP_SETPRIORITY = 40,
- /* all interfaces */
- D3DDP2OP_SETRENDERTARGET = 41,
- D3DDP2OP_CLEAR = 42,
- /* DirectX 7 interfaces */
- D3DDP2OP_SETTEXLOD = 43,
- D3DPP2OP_SETCLIPPLANE = 44,
-} D3DHAL_DP2OPERATION;
-
-/* point primitives */
-
-typedef struct _D3DHAL_POINTS {
- WORD wCount;
- WORD wVStart;
-} D3DHAL_DP2POINTS,*LPD3DHAL_DP2POINTS;
-
-/* line primitives */
-
-typedef struct _D3DHAL_DP2STARTVERTEX {
- WORD wVStart;
-} D3DHAL_DP2STARTVERTEX,*LPD3DHAL_DP2STARTVERTEX;
-
-typedef struct _D3DHAL_DP2LINELIST {
- WORD wVStart;
-} D3DHAL_DP2LINELIST,*LPD3DHAL_DP2LINELIST;
-
-typedef struct _D3DHAL_DP2INDEXEDLINELIST {
- WORD wV1;
- WORD wV2;
-} D3DHAL_DP2INDEXEDLINELIST,*LPD3DHAL_DP2INDEXEDLINELIST;
-
-typedef struct _D3DHAL_DP2LINESTRIP {
- WORD wVStart;
-} D3DHAL_DP2LINESTRIP,*LPD3DHAL_DP2LINESTRIP;
-
-typedef struct _D3DHAL_DP2INDEXEDLINESTRIP {
- WORD wV[2];
-} D3DHAL_DP2INDEXEDLINESTRIP,*LPD3DHAL_DP2INDEXEDLINESTRIP;
-
-/* triangle primitives */
-
-typedef struct _D3DHAL_DP2TRIANGLELIST {
- WORD wVStart;
-} D3DHAL_DP2TRIANGLELIST,*LPD3DHAL_DP2TRIANGLELIST;
-
-typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST {
- WORD wV1;
- WORD wV2;
- WORD wV3;
- WORD wFlags;
-} D3DHAL_DP2INDEXEDTRIANGLELIST,*LPD3DHAL_DP2INDEXEDTRIANGLELIST;
-
-typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST2 {
- WORD wV1;
- WORD wV2;
- WORD wV3;
-} D3DHAL_DP2INDEXEDTRIANGLELIST2,*LPD3DHAL_DP2INDEXEDTRIANGLELIST2;
-
-typedef struct _D3DHAL_DP2TRIANGLESTRIP {
- WORD wVStart;
-} D3DHAL_DP2TRIANGLESTRIP,*LPD3DHAL_DP2TRIANGLESTRIP;
-
-typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
- WORD wV[3];
-} D3DHAL_DP2INDEXEDTRIANGLESTRIP,*LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;
-
-typedef struct _D3DHAL_DP2TRIANGLEFAN {
- WORD wVStart;
-} D3DHAL_DP2TRIANGLEFAN,*LPD3DHAL_DP2TRIANGLEFAN;
-
-typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
- WORD wV[3];
-} D3DHAL_DP2INDEXEDTRIANGLEFAN,*LPD3DHAL_DP2INDEXEDTRIANGLEFAN;
-
-typedef struct _D3DHAL_DP2TRIANGLEFAN_IMM {
- DWORD dwEdgeFlags;
-} D3DHAL_DP2TRIANGLEFAN_IMM,*LPD3DHAL_DP2TRIANGLEFAN_IMM;
-
-/* render states */
-typedef struct _D3DHAL_DP2RENDERSTATE {
- D3DRENDERSTATETYPE RenderState;
- union {
- D3DVALUE dvState;
- DWORD dwState;
- } DUMMYUNIONNAME;
-} D3DHAL_DP2RENDERSTATE,*LPD3DHAL_DP2RENDERSTATE;
-
-typedef struct _D3DHAL_DP2TEXTURESTAGESTATE {
- WORD wStage;
- WORD TSState;
- DWORD dwValue;
-} D3DHAL_DP2TEXTURESTAGESTATE,*LPD3DHAL_DP2TEXTURESTAGESTATE;
-
-#define D3DTSS_TEXTUREMAP 0
-
-typedef struct _D3DHAL_DP2VIEWPORTINFO {
- DWORD dwX;
- DWORD dwY;
- DWORD dwWidth;
- DWORD dwHeight;
-} D3DHAL_DP2VIEWPORTINFO,*LPD3DHAL_DP2VIEWPORTINFO;
-
-typedef struct _D3DHAL_DP2WINFO {
- D3DVALUE dwWNear;
- D3DVALUE dwWFar;
-} D3DHAL_DP2WINFO,*LPD3DHAL_DP2WINFO;
-
-typedef struct _D3DHAL_DP2SETPALETTE {
- DWORD dwPaletteHandle;
- DWORD dwPaletteFlags;
- DWORD dwSurfaceHandle;
-} D3DHAL_DP2SETPALETTE,*LPD3DHAL_DP2SETPALETTE;
-
-typedef struct _D3DHAL_DP2UPDATEPALETTE {
- DWORD dwPaletteHandle;
- WORD wStartIndex;
- WORD wNumEntries;
-} D3DHAL_DP2UPDATEPALETTE,*LPD3DHAL_DP2UPDATEPALETTE;
-
-typedef struct _D3DHAL_DP2ZRANGE {
- D3DVALUE dvMinZ;
- D3DVALUE dvMaxZ;
-} D3DHAL_DP2ZRANGE,*LPD3DHAL_DP2ZRANGE;
-
-typedef D3DMATERIAL7 D3DHAL_DP2SETMATERIAL,*LPD3DHAL_DP2SETMATERIAL;
-
-typedef struct _D3DHAL_DP2SETLIGHT {
- DWORD dwIndex;
- DWORD dwDataType;
-} D3DHAL_DP2SETLIGHT,*LPD3DHAL_DP2SETLIGHT;
-
-#define D3DHAL_SETLIGHT_ENABLE 0
-#define D3DHAL_SETLIGHT_DISABLE 1
-#define D3DHAL_SETLIGHT_DATA 2
-
-typedef struct _D3DHAL_DP2CREATELIGHT {
- DWORD dwIndex;
-} D3DHAL_DP2CREATELIGHT,*LPD3DHAL_DP2CREATELIGHT;
-
-typedef struct _D3DHAL_DP2SETTRANSFORM {
- D3DTRANSFORMSTATETYPE xfrmType;
- D3DMATRIX matrix;
-} D3DHAL_DP2SETTRANSFORM,*LPD3DHAL_DP2SETTRANSFORM;
-
-typedef struct _D3DHAL_DP2TEXBLT {
- DWORD dwDDDestSurface;
- DWORD dwDDSrcSurface;
- POINT pDest;
- RECTL rSrc;
- DWORD dwFlags;
-} D3DHAL_DP2TEXBLT,*LPD3DHAL_DP2TEXBLT;
-
-typedef struct _D3DHAL_DP2STATESET {
- DWORD dwOperation;
- DWORD dwParam;
- D3DSTATEBLOCKTYPE sbType;
-} D3DHAL_DP2STATESET,*LPD3DHAL_DP2STATESET;
-
-#define D3DHAL_STATESETBEGIN 0
-#define D3DHAL_STATESETEND 1
-#define D3DHAL_STATESETDELETE 2
-#define D3DHAL_STATESETEXECUTE 3
-#define D3DHAL_STATESETCAPTURE 4
-
-typedef struct _D3DHAL_DP2SETPRIORITY {
- DWORD dwDDSurface;
- DWORD dwPriority;
-} D3DHAL_DP2SETPRIORITY,*LPD3DHAL_DP2SETPRIORITY;
-
-typedef struct _D3DHAL_DP2SETRENDERTARGET {
- DWORD hRenderTarget;
- DWORD hZBuffer;
-} D3DHAL_DP2SETRENDERTARGET,*LPD3DHAL_DP2SETRENDERTARGET;
-
-typedef struct _D3DHAL_DP2CLEAR {
- DWORD dwFlags;
- DWORD dwFillColor;
- D3DVALUE dvFillDepth;
- DWORD dwFillStencil;
- RECT Rects[1];
-} D3DHAL_DP2CLEAR,*LPD3DHAL_DP2CLEAR;
-
-typedef struct _D3DHAL_DP2SETTEXLOD {
- DWORD dwDDSurface;
- DWORD dwLOD;
-} D3DHAL_DP2SETTEXLOD,*LPD3DHAL_DP2SETTEXLOD;
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* _D3DHAL_H_ */
+++ /dev/null
-/*
- * Copyright (C) 2005 Peter Berg Larsen
- * Copyright (C) 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DRM_H__
-#define __D3DRM_H__
-
-#include <ddraw.h>
-
-typedef struct IDirect3DRM *LPDIRECT3DRM;
-
-#include <d3drmobj.h>
-
-
-/* Direct3DRM Object CLSID */
-DEFINE_GUID(CLSID_CDirect3DRM, 0x4516ec41, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-
-/* Direct3DRM Interface GUIDs */
-DEFINE_GUID(IID_IDirect3DRM, 0x2bc49361, 0x8327, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRM2, 0x4516ecc8, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRM3, 0x4516ec83, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-
-HRESULT WINAPI Direct3DRMCreate(LPDIRECT3DRM* ppDirect3DRM);
-
-/*****************************************************************************
- * IDirect3DRMObject interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRM
-DECLARE_INTERFACE_(IDirect3DRM,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRM methods ***/
- STDMETHOD(CreateObject)(THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(CreateFrame)(THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH *) PURE;
- STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER *) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE *) PURE;
- STDMETHOD(CreateAnimation)(THIS_ LPDIRECT3DRMANIMATION *) PURE;
- STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET *) PURE;
- STDMETHOD(CreateTexture)(THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(CreateLight)(THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateLightRGB)(THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateMaterial)(THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL *) PURE;
- STDMETHOD(CreateDevice)(THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(CreateDeviceFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack,
- LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(CreateDeviceFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev, LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(CreateDeviceFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height,
- LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(CreateShadow)(THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT, D3DVALUE px, D3DVALUE py, D3DVALUE pz,
- D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, LPDIRECT3DRMVISUAL *) PURE;
- STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE pDDS, LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD, DWORD, DWORD,
- LPDIRECT3DRMVIEWPORT *) PURE;
- STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
- D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov,
- D3DVALUE su, D3DVALUE sv, LPDIRECT3DRMWRAP *) PURE;
- STDMETHOD(CreateUserVisual)(THIS_ D3DRMUSERVISUALCALLBACK, LPVOID pArg, LPDIRECT3DRMUSERVISUAL *) PURE;
- STDMETHOD(LoadTexture)(THIS_ const char *, LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(LoadTextureFromResource)(THIS_ HRSRC rs, LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(SetSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(AddSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetSearchPath)(THIS_ DWORD *size_return, LPSTR path_return) PURE;
- STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
- STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
- STDMETHOD(GetDevices)(THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
- STDMETHOD(GetNamedObject)(THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
- STDMETHOD(EnumerateObjects)(THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
- STDMETHOD(Load)(THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS, D3DRMLOADCALLBACK, LPVOID,
- D3DRMLOADTEXTURECALLBACK, LPVOID, LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRM_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRM_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRM_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRM methods ***/
-#define IDirect3DRM_CreateObject(p,a,b,c,d) (p)->lpVtbl->CreateObject(p,a,b,d)
-#define IDirect3DRM_CreateFrame(p,a,b) (p)->lpVtbl->CreateFrame(p,a,b)
-#define IDirect3DRM_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRM_CreateMeshBuilder(p,a) (p)->lpVtbl->CreateMeshBuilder(p,a)
-#define IDirect3DRM_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRM_CreateAnimation(p,a) (p)->lpVtbl->CreateAnimation(p,a)
-#define IDirect3DRM_CreateAnimationSet(p,a) (p)->lpVtbl->CreateAnimationSet(p,a)
-#define IDirect3DRM_CreateTexture(p,a,b) (p)->lpVtbl->CreateTexture(p,a,b)
-#define IDirect3DRM_CreateLight(p,a,b,c) (p)->lpVtbl->CreateLight(p,a,b,c)
-#define IDirect3DRM_CreateLightRGB(p,a,b,c,d,e) (p)->lpVtbl->CreateLightRGB(p,a,b,c,d,e)
-#define IDirect3DRM_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3DRM_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirect3DRM_CreateDeviceFromSurface(p,a,b,c,d) (p)->lpVtbl->CreateDeviceFromSurface(p,a,b,c,d)
-#define IDirect3DRM_CreateDeviceFromD3D(p,a,b,c) (p)->lpVtbl->CreateDeviceFromD3D(p,a,b,c)
-#define IDirect3DRM_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->lpVtbl->CreateDeviceFromClipper(p,a,b,c,d,e)
-#define IDirect3DRM_CreateTextureFromSurface(p,a,b) (p)->lpVtbl->CreateTextureFromSurface(p,a,b)
-#define IDirect3DRM_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateShadow(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM_CreateViewport(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateViewport(p,a,b,c,d,e,f,g)
-#define IDirect3DRM_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->lpVtbl->CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
-#define IDirect3DRM_CreateUserVisual(p,a,b,c) (p)->lpVtbl->CreateUserVisual(p,a,b,c)
-#define IDirect3DRM_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
-#define IDirect3DRM_LoadTextureFromResource(p,a,b) (p)->lpVtbl->LoadTextureFromResource(p,a,b)
-#define IDirect3DRM_SetSearchPath(p,a) (p)->lpVtbl->SetSearchPath(p,a)
-#define IDirect3DRM_AddSearchPath(p,a) (p)->lpVtbl->AddSearchPath(p,a)
-#define IDirect3DRM_GetSearchPath(p,a,b) (p)->lpVtbl->GetSearchPath(p,a,b)
-#define IDirect3DRM_SetDefaultTextureColors(p,a) (p)->lpVtbl->SetDefaultTextureColors(p,a)
-#define IDirect3DRM_SetDefaultTextureShades(p,a) (p)->lpVtbl->SetDefaultTextureShades(p,a)
-#define IDirect3DRM_GetDevices(p,a) (p)->lpVtbl->GetDevices(p,a)
-#define IDirect3DRM_GetNamedObject(p,a,b) (p)->lpVtbl->GetNamedObject(p,a,b)
-#define IDirect3DRM_EnumerateObjects(p,a,b) (p)->lpVtbl->EnumerateObjects(p,a,b)
-#define IDirect3DRM_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM_Tick(p,a) (p)->lpVtbl->Tick(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRM_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRM_AddRef(p) (p)->AddRef()
-#define IDirect3DRM_Release(p) (p)->Release()
-/*** IDirect3DRM methods ***/
-#define IDirect3DRM_CreateObject(p,a,b,c,d) (p)->CreateObject(a,b,d)
-#define IDirect3DRM_CreateFrame(p,a,b) (p)->CreateFrame(a,b)
-#define IDirect3DRM_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRM_CreateMeshBuilder(p,a) (p)->CreateMeshBuilder(a)
-#define IDirect3DRM_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRM_CreateAnimation(p,a) (p)->CreateAnimation(a)
-#define IDirect3DRM_CreateAnimationSet(p,a) (p)->CreateAnimationSet(a)
-#define IDirect3DRM_CreateTexture(p,a,b) (p)->CreateTexture(a,b)
-#define IDirect3DRM_CreateLight(p,a,b,c) (p)->CreateLight(a,b,c)
-#define IDirect3DRM_CreateLightRGB(p,a,b,c,d,e) (p)->CreateLightRGB(a,b,c,d,e)
-#define IDirect3DRM_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3DRM_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirect3DRM_CreateDeviceFromSurface(p,a,b,c,d) (p)->CreateDeviceFromSurface(a,b,c,d)
-#define IDirect3DRM_CreateDeviceFromD3D(p,a,b,c) (p)->CreateDeviceFromD3D(a,b,c)
-#define IDirect3DRM_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->CreateDeviceFromClipper(a,b,c,d,e)
-#define IDirect3DRM_CreateTextureFromSurface(p,a,b) (p)->CreateTextureFromSurface(a,b)
-#define IDirect3DRM_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->CreateShadow(a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM_CreateViewport(p,a,b,c,d,e,f,g) (p)->CreateViewport(a,b,c,d,e,f,g)
-#define IDirect3DRM_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) (p)->CreateWrap(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
-#define IDirect3DRM_CreateUserVisual(p,a,b,c) (p)->CreateUserVisual(a,b,c)
-#define IDirect3DRM_LoadTexture(p,a,b) (p)->LoadTexture(a,b)
-#define IDirect3DRM_LoadTextureFromResource(p,a,b) (p)->LoadTextureFromResource(a,b)
-#define IDirect3DRM_SetSearchPath(p,a) (p)->SetSearchPath(a)
-#define IDirect3DRM_AddSearchPath(p,a) (p)->AddSearchPath(a)
-#define IDirect3DRM_GetSearchPath(p,a,b) (p)->GetSearchPath(a,b)
-#define IDirect3DRM_SetDefaultTextureColors(p,a) (p)->SetDefaultTextureColors(a)
-#define IDirect3DRM_SetDefaultTextureShades(p,a) (p)->SetDefaultTextureShades(a)
-#define IDirect3DRM_GetDevices(p,a) (p)->GetDevices(a)
-#define IDirect3DRM_GetNamedObject(p,a,b) (p)->GetNamedObject(a,b)
-#define IDirect3DRM_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
-#define IDirect3DRM_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM_Tick(p,a) (p)->Tick(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRM2 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRM2
-DECLARE_INTERFACE_(IDirect3DRM2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRM2 methods ***/
- STDMETHOD(CreateObject)(THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(CreateFrame)(THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME2 *) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH *) PURE;
- STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER2 *) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE *) PURE;
- STDMETHOD(CreateAnimation)(THIS_ LPDIRECT3DRMANIMATION *) PURE;
- STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET *) PURE;
- STDMETHOD(CreateTexture)(THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE2 *) PURE;
- STDMETHOD(CreateLight)(THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateLightRGB)(THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateMaterial)(THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL *) PURE;
- STDMETHOD(CreateDevice)(THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE2 *) PURE;
- STDMETHOD(CreateDeviceFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack,
- LPDIRECT3DRMDEVICE2 *) PURE;
- STDMETHOD(CreateDeviceFromD3D)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev, LPDIRECT3DRMDEVICE2 *) PURE;
- STDMETHOD(CreateDeviceFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height,
- LPDIRECT3DRMDEVICE2 *) PURE;
- STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE pDDS, LPDIRECT3DRMTEXTURE2 *) PURE;
- STDMETHOD(CreateShadow)(THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT, D3DVALUE px, D3DVALUE py, D3DVALUE pz,
- D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, LPDIRECT3DRMVISUAL *) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD, DWORD, DWORD,
- LPDIRECT3DRMVIEWPORT *) PURE;
- STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
- D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov,
- D3DVALUE su, D3DVALUE sv, LPDIRECT3DRMWRAP *) PURE;
- STDMETHOD(CreateUserVisual)(THIS_ D3DRMUSERVISUALCALLBACK, LPVOID pArg, LPDIRECT3DRMUSERVISUAL *) PURE;
- STDMETHOD(LoadTexture)(THIS_ const char *, LPDIRECT3DRMTEXTURE2 *) PURE;
- STDMETHOD(LoadTextureFromResource)(THIS_ HMODULE hModule, LPCSTR /* LPCTSTR */ strName, LPCSTR /* LPCTSTR */ strType, LPDIRECT3DRMTEXTURE2 *) PURE;
- STDMETHOD(SetSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(AddSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetSearchPath)(THIS_ DWORD *size_return, LPSTR path_return) PURE;
- STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
- STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
- STDMETHOD(GetDevices)(THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
- STDMETHOD(GetNamedObject)(THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
- STDMETHOD(EnumerateObjects)(THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
- STDMETHOD(Load)(THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS, D3DRMLOADCALLBACK, LPVOID,
- D3DRMLOADTEXTURECALLBACK, LPVOID, LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
- STDMETHOD(CreateProgressiveMesh)(THIS_ LPDIRECT3DRMPROGRESSIVEMESH) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRM2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRM2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRM2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRM2 methods ***/
-#define IDirect3DRM2_CreateObject(p,a,b,c,d) (p)->lpVtbl->CreateObject(p,a,b,d)
-#define IDirect3DRM2_CreateFrame(p,a,b) (p)->lpVtbl->CreateFrame(p,a,b)
-#define IDirect3DRM2_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRM2_CreateMeshBuilder(p,a) (p)->lpVtbl->CreateMeshBuilder(p,a)
-#define IDirect3DRM2_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRM2_CreateAnimation(p,a) (p)->lpVtbl->CreateAnimation(p,a)
-#define IDirect3DRM2_CreateAnimationSet(p,a) (p)->lpVtbl->CreateAnimationSet(p,a)
-#define IDirect3DRM2_CreateTexture(p,a,b) (p)->lpVtbl->CreateTexture(p,a,b)
-#define IDirect3DRM2_CreateLight(p,a,b,c) (p)->lpVtbl->CreateLight(p,a,b,c)
-#define IDirect3DRM2_CreateLightRGB(p,a,b,c,d,e) (p)->lpVtbl->CreateLightRGB(p,a,b,c,d,e)
-#define IDirect3DRM2_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3DRM2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirect3DRM2_CreateDeviceFromSurface(p,a,b,c,d) (p)->lpVtbl->CreateDeviceFromSurface(p,a,b,c,d)
-#define IDirect3DRM2_CreateDeviceFromD3D(p,a,b,c) (p)->lpVtbl->CreateDeviceFromD3D(p,a,b,c)
-#define IDirect3DRM2_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->lpVtbl->CreateDeviceFromClipper(p,a,b,c,d,e)
-#define IDirect3DRM2_CreateTextureFromSurface(p,a,b) (p)->lpVtbl->CreateTextureFromSurface(p,a,b)
-#define IDirect3DRM2_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateShadow(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM2_CreateViewport(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateViewport(p,a,b,c,d,e,f,g)
-#define IDirect3DRM2_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->lpVtbl->CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
-#define IDirect3DRM2_CreateUserVisual(p,a,b,c) (p)->lpVtbl->CreateUserVisual(p,a,b,c)
-#define IDirect3DRM2_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
-#define IDirect3DRM2_LoadTextureFromResource(p,a,b,c,d) (p)->lpVtbl->LoadTextureFromResource(p,a,b,c,d)
-#define IDirect3DRM2_SetSearchPath(p,a) (p)->lpVtbl->SetSearchPath(p,a)
-#define IDirect3DRM2_AddSearchPath(p,a) (p)->lpVtbl->AddSearchPath(p,a)
-#define IDirect3DRM2_GetSearchPath(p,a,b) (p)->lpVtbl->GetSearchPath(p,a,b)
-#define IDirect3DRM2_SetDefaultTextureColors(p,a) (p)->lpVtbl->SetDefaultTextureColors(p,a)
-#define IDirect3DRM2_SetDefaultTextureShades(p,a) (p)->lpVtbl->SetDefaultTextureShades(p,a)
-#define IDirect3DRM2_GetDevices(p,a) (p)->lpVtbl->GetDevices(p,a)
-#define IDirect3DRM2_GetNamedObject(p,a,b) (p)->lpVtbl->GetNamedObject(p,a,b)
-#define IDirect3DRM2_EnumerateObjects(p,a,b) (p)->lpVtbl->EnumerateObjects(p,a,b)
-#define IDirect3DRM2_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM2_Tick(p,a) (p)->lpVtbl->Tick(p,a)
-#define IDirect3DRM2_CreateProgressiveMesh(p,a) (p)->lpVtbl->CreateProgressiveMesh(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRM2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRM2_AddRef(p) (p)->AddRef()
-#define IDirect3DRM2_Release(p) (p)->Release()
-/*** IDirect3DRM2 methods ***/
-#define IDirect3DRM2_CreateObject(p,a,b,c,d) (p)->CreateObject(a,b,d)
-#define IDirect3DRM2_CreateFrame(p,a,b) (p)->CreateFrame(a,b)
-#define IDirect3DRM2_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRM2_CreateMeshBuilder(p,a) (p)->CreateMeshBuilder(a)
-#define IDirect3DRM2_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRM2_CreateAnimation(p,a) (p)->CreateAnimation(a)
-#define IDirect3DRM2_CreateAnimationSet(p,a) (p)->CreateAnimationSet(a)
-#define IDirect3DRM2_CreateTexture(p,a,b) (p)->CreateTexture(a,b)
-#define IDirect3DRM2_CreateLight(p,a,b,c) (p)->CreateLight(a,b,c)
-#define IDirect3DRM2_CreateLightRGB(p,a,b,c,d,e) (p)->CreateLightRGB(a,b,c,d,e)
-#define IDirect3DRM2_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3DRM2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirect3DRM2_CreateDeviceFromSurface(p,a,b,c,d) (p)->CreateDeviceFromSurface(a,b,c,d)
-#define IDirect3DRM2_CreateDeviceFromD3D(p,a,b,c) (p)->CreateDeviceFromD3D(a,b,c)
-#define IDirect3DRM2_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->CreateDeviceFromClipper(a,b,c,d,e)
-#define IDirect3DRM2_CreateTextureFromSurface(p,a,b) (p)->CreateTextureFromSurface(a,b)
-#define IDirect3DRM2_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->CreateShadow(a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM2_CreateViewport(p,a,b,c,d,e,f,g) (p)->CreateViewport(a,b,c,d,e,f,g)
-#define IDirect3DRM2_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) (p)->CreateWrap(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
-#define IDirect3DRM2_CreateUserVisual(p,a,b,c) (p)->CreateUserVisual(a,b,c)
-#define IDirect3DRM2_LoadTexture(p,a,b) (p)->LoadTexture(a,b)
-#define IDirect3DRM2_LoadTextureFromResource(p,a,b) (p)->LoadTextureFromResource(a,b)
-#define IDirect3DRM2_SetSearchPath(p,a) (p)->SetSearchPath(a)
-#define IDirect3DRM2_AddSearchPath(p,a) (p)->AddSearchPath(a)
-#define IDirect3DRM2_GetSearchPath(p,a,b) (p)->GetSearchPath(a,b)
-#define IDirect3DRM2_SetDefaultTextureColors(p,a) (p)->SetDefaultTextureColors(a)
-#define IDirect3DRM2_SetDefaultTextureShades(p,a) (p)->SetDefaultTextureShades(a)
-#define IDirect3DRM2_GetDevices(p,a) (p)->GetDevices(a)
-#define IDirect3DRM2_GetNamedObject(p,a,b) (p)->GetNamedObject(a,b)
-#define IDirect3DRM2_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
-#define IDirect3DRM2_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM2_Tick(p,a) (p)->Tick(a)
-#define IDirect3DRM2_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(p,a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRM3 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRM3
-DECLARE_INTERFACE_(IDirect3DRM3,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRM2 methods ***/
- STDMETHOD(CreateObject)(THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(CreateFrame)(THIS_ LPDIRECT3DRMFRAME3, LPDIRECT3DRMFRAME3 *) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH *) PURE;
- STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3 *) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE2 *) PURE;
- STDMETHOD(CreateAnimation)(THIS_ LPDIRECT3DRMANIMATION2 *) PURE;
- STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET2 *) PURE;
- STDMETHOD(CreateTexture)(THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(CreateLight)(THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateLightRGB)(THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateMaterial)(THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL2 *) PURE;
- STDMETHOD(CreateDevice)(THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(CreateDeviceFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack,
- LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(CreateDeviceFromD3D)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev, LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(CreateDeviceFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height,
- LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE pDDS, LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(CreateShadow)(THIS_ LPUNKNOWN, LPDIRECT3DRMLIGHT, D3DVALUE px, D3DVALUE py, D3DVALUE pz,
- D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, LPDIRECT3DRMSHADOW2 *) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DRMDEVICE3, LPDIRECT3DRMFRAME3, DWORD, DWORD, DWORD, DWORD,
- LPDIRECT3DRMVIEWPORT2 *) PURE;
- STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME3, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
- D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov,
- D3DVALUE su, D3DVALUE sv, LPDIRECT3DRMWRAP *) PURE;
- STDMETHOD(CreateUserVisual)(THIS_ D3DRMUSERVISUALCALLBACK, LPVOID pArg, LPDIRECT3DRMUSERVISUAL *) PURE;
- STDMETHOD(LoadTexture)(THIS_ const char *, LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(LoadTextureFromResource)(THIS_ HMODULE hModule, LPCSTR /* LPCTSTR */ strName, LPCSTR /* LPCTSTR */ strType, LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(SetSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(AddSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetSearchPath)(THIS_ DWORD *size_return, LPSTR path_return) PURE;
- STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
- STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
- STDMETHOD(GetDevices)(THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
- STDMETHOD(GetNamedObject)(THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
- STDMETHOD(EnumerateObjects)(THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
- STDMETHOD(Load)(THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS, D3DRMLOADCALLBACK, LPVOID,
- D3DRMLOADTEXTURECALLBACK, LPVOID, LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
- STDMETHOD(CreateProgressiveMesh)(THIS_ LPDIRECT3DRMPROGRESSIVEMESH) PURE;
- STDMETHOD(RegisterClient)(THIS_ REFGUID rguid, LPDWORD lpdwID) PURE;
- STDMETHOD(UnregisterClient)(THIS_ REFGUID rguid) PURE;
- STDMETHOD(CreateClippedVisual)(THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMCLIPPEDVISUAL *) PURE;
- STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
- STDMETHOD(GetOptions)(THIS_ LPDWORD) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRM3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRM3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRM3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRM3 methods ***/
-#define IDirect3DRM3_CreateObject(p,a,b,c,d) (p)->lpVtbl->CreateObject(p,a,b,d)
-#define IDirect3DRM3_CreateFrame(p,a,b) (p)->lpVtbl->CreateFrame(p,a,b)
-#define IDirect3DRM3_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRM3_CreateMeshBuilder(p,a) (p)->lpVtbl->CreateMeshBuilder(p,a)
-#define IDirect3DRM3_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRM3_CreateAnimation(p,a) (p)->lpVtbl->CreateAnimation(p,a)
-#define IDirect3DRM3_CreateAnimationSet(p,a) (p)->lpVtbl->CreateAnimationSet(p,a)
-#define IDirect3DRM3_CreateTexture(p,a,b) (p)->lpVtbl->CreateTexture(p,a,b)
-#define IDirect3DRM3_CreateLight(p,a,b,c) (p)->lpVtbl->CreateLight(p,a,b,c)
-#define IDirect3DRM3_CreateLightRGB(p,a,b,c,d,e) (p)->lpVtbl->CreateLightRGB(p,a,b,c,d,e)
-#define IDirect3DRM3_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3DRM3_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirect3DRM3_CreateDeviceFromSurface(p,a,b,c,d) (p)->lpVtbl->CreateDeviceFromSurface(p,a,b,c,d)
-#define IDirect3DRM3_CreateDeviceFromD3D(p,a,b,c) (p)->lpVtbl->CreateDeviceFromD3D(p,a,b,c)
-#define IDirect3DRM3_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->lpVtbl->CreateDeviceFromClipper(p,a,b,c,d,e)
-#define IDirect3DRM3_CreateTextureFromSurface(p,a,b) (p)->lpVtbl->CreateTextureFromSurface(p,a,b)
-#define IDirect3DRM3_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateShadow(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM3_CreateViewport(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateViewport(p,a,b,c,d,e,f,g)
-#define IDirect3DRM3_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->lpVtbl->CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
-#define IDirect3DRM3_CreateUserVisual(p,a,b,c) (p)->lpVtbl->CreateUserVisual(p,a,b,c)
-#define IDirect3DRM3_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
-#define IDirect3DRM3_LoadTextureFromResource(p,a,b,c,d) (p)->lpVtbl->LoadTextureFromResource(p,a,b,c,d)
-#define IDirect3DRM3_SetSearchPath(p,a) (p)->lpVtbl->SetSearchPath(p,a)
-#define IDirect3DRM3_AddSearchPath(p,a) (p)->lpVtbl->AddSearchPath(p,a)
-#define IDirect3DRM3_GetSearchPath(p,a,b) (p)->lpVtbl->GetSearchPath(p,a,b)
-#define IDirect3DRM3_SetDefaultTextureColors(p,a) (p)->lpVtbl->SetDefaultTextureColors(p,a)
-#define IDirect3DRM3_SetDefaultTextureShades(p,a) (p)->lpVtbl->SetDefaultTextureShades(p,a)
-#define IDirect3DRM3_GetDevices(p,a) (p)->lpVtbl->GetDevices(p,a)
-#define IDirect3DRM3_GetNamedObject(p,a,b) (p)->lpVtbl->GetNamedObject(p,a,b)
-#define IDirect3DRM3_EnumerateObjects(p,a,b) (p)->lpVtbl->EnumerateObjects(p,a,b)
-#define IDirect3DRM3_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM3_Tick(p,a) (p)->lpVtbl->Tick(p,a)
-#define IDirect3DRM3_CreateProgressiveMesh(p,a) (p)->lpVtbl->CreateProgressiveMesh(p,a)
-#define IDirect3DRM3_RegisterClient(p,a,b) (p)->lpVtbl->RegisterClient(p,a,b)
-#define IDirect3DRM3_UnregisterClient(p,a) (p)->lpVtbl->UnregisterClient(p,a)
-#define IDirect3DRM3_CreateClippedVisual(p,ab) (p)->lpVtbl->CreateClippedVisual(p,a,b)
-#define IDirect3DRM3_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
-#define IDirect3DRM3_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRM3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRM3_AddRef(p) (p)->AddRef()
-#define IDirect3DRM3_Release(p) (p)->Release()
-/*** IDirect3DRM3 methods ***/
-#define IDirect3DRM3_CreateObject(p,a,b,c,d) (p)->CreateObject(a,b,d)
-#define IDirect3DRM3_CreateFrame(p,a,b) (p)->CreateFrame(a,b)
-#define IDirect3DRM3_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRM3_CreateMeshBuilder(p,a) (p)->CreateMeshBuilder(a)
-#define IDirect3DRM3_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRM3_CreateAnimation(p,a) (p)->CreateAnimation(a)
-#define IDirect3DRM3_CreateAnimationSet(p,a) (p)->CreateAnimationSet(a)
-#define IDirect3DRM3_CreateTexture(p,a,b) (p)->CreateTexture(a,b)
-#define IDirect3DRM3_CreateLight(p,a,b,c) (p)->CreateLight(a,b,c)
-#define IDirect3DRM3_CreateLightRGB(p,a,b,c,d,e) (p)->CreateLightRGB(a,b,c,d,e)
-#define IDirect3DRM3_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3DRM3_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirect3DRM3_CreateDeviceFromSurface(p,a,b,c,d) (p)->CreateDeviceFromSurface(a,b,c,d)
-#define IDirect3DRM3_CreateDeviceFromD3D(p,a,b,c) (p)->CreateDeviceFromD3D(a,b,c)
-#define IDirect3DRM3_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->CreateDeviceFromClipper(a,b,c,d,e)
-#define IDirect3DRM3_CreateTextureFromSurface(p,a,b) (p)->CreateTextureFromSurface(a,b)
-#define IDirect3DRM3_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->CreateShadow(a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM3_CreateViewport(p,a,b,c,d,e,f,g) (p)->CreateViewport(a,b,c,d,e,f,g)
-#define IDirect3DRM3_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) (p)->CreateWrap(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
-#define IDirect3DRM3_CreateUserVisual(p,a,b,c) (p)->CreateUserVisual(a,b,c)
-#define IDirect3DRM3_LoadTexture(p,a,b) (p)->LoadTexture(a,b)
-#define IDirect3DRM3_LoadTextureFromResource(p,a,b,c,d) (p)->LoadTextureFromResource(a,b,c,d)
-#define IDirect3DRM3_SetSearchPath(p,a) (p)->SetSearchPath(a)
-#define IDirect3DRM3_AddSearchPath(p,a) (p)->AddSearchPath(a)
-#define IDirect3DRM3_GetSearchPath(p,a,b) (p)->GetSearchPath(a,b)
-#define IDirect3DRM3_SetDefaultTextureColors(p,a) (p)->SetDefaultTextureColors(a)
-#define IDirect3DRM3_SetDefaultTextureShades(p,a) (p)->SetDefaultTextureShades(a)
-#define IDirect3DRM3_GetDevices(p,a) (p)->GetDevices(a)
-#define IDirect3DRM3_GetNamedObject(p,a,b) (p)->GetNamedObject(a,b)
-#define IDirect3DRM3_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
-#define IDirect3DRM3_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM3_Tick(p,a) (p)->Tick(a)
-#define IDirect3DRM3_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(p,a)
-#define IDirect3DRM3_RegisterClient(p,a,b) (p)->RegisterClient(p,a,b)
-#define IDirect3DRM3_UnregisterClient(p,a) (p)->UnregisterClient(p,a)
-#define IDirect3DRM3_CreateClippedVisual(p,ab) (p)->CreateClippedVisual(p,a,b)
-#define IDirect3DRM3_SetOptions(p,a) (p)->SetOptions(p,a)
-#define IDirect3DRM3_GetOptions(p,a) (p)->GetOptions(p,a)
-#endif
-
-#define D3DRM_OK DD_OK
-#define D3DRMERR_BADOBJECT MAKE_DDHRESULT(781)
-#define D3DRMERR_BADTYPE MAKE_DDHRESULT(782)
-#define D3DRMERR_BADALLOC MAKE_DDHRESULT(783)
-#define D3DRMERR_FACEUSED MAKE_DDHRESULT(784)
-#define D3DRMERR_NOTFOUND MAKE_DDHRESULT(785)
-#define D3DRMERR_NOTDONEYET MAKE_DDHRESULT(786)
-#define D3DRMERR_FILENOTFOUND MAKE_DDHRESULT(787)
-#define D3DRMERR_BADFILE MAKE_DDHRESULT(788)
-#define D3DRMERR_BADDEVICE MAKE_DDHRESULT(789)
-#define D3DRMERR_BADVALUE MAKE_DDHRESULT(790)
-#define D3DRMERR_BADMAJORVERSION MAKE_DDHRESULT(791)
-#define D3DRMERR_BADMINORVERSION MAKE_DDHRESULT(792)
-#define D3DRMERR_UNABLETOEXECUTE MAKE_DDHRESULT(793)
-#define D3DRMERR_LIBRARYNOTFOUND MAKE_DDHRESULT(794)
-#define D3DRMERR_INVALIDLIBRARY MAKE_DDHRESULT(795)
-#define D3DRMERR_PENDING MAKE_DDHRESULT(796)
-#define D3DRMERR_NOTENOUGHDATA MAKE_DDHRESULT(797)
-#define D3DRMERR_REQUESTTOOLARGE MAKE_DDHRESULT(798)
-#define D3DRMERR_REQUESTTOOSMALL MAKE_DDHRESULT(799)
-#define D3DRMERR_CONNECTIONLOST MAKE_DDHRESULT(800)
-#define D3DRMERR_LOADABORTED MAKE_DDHRESULT(801)
-#define D3DRMERR_NOINTERNET MAKE_DDHRESULT(802)
-#define D3DRMERR_BADCACHEFILE MAKE_DDHRESULT(803)
-#define D3DRMERR_BOXNOTSET MAKE_DDHRESULT(804)
-#define D3DRMERR_BADPMDATA MAKE_DDHRESULT(805)
-#define D3DRMERR_CLIENTNOTREGISTERED MAKE_DDHRESULT(806)
-#define D3DRMERR_NOTCREATEDFROMDDS MAKE_DDHRESULT(807)
-#define D3DRMERR_NOSUCHKEY MAKE_DDHRESULT(808)
-#define D3DRMERR_INCOMPATABLEKEY MAKE_DDHRESULT(809)
-#define D3DRMERR_ELEMENTINUSE MAKE_DDHRESULT(810)
-#define D3DRMERR_TEXTUREFORMATNOTFOUND MAKE_DDHRESULT(811)
-#define D3DRMERR_NOTAGGREGATED MAKE_DDHRESULT(812)
-
-#endif /* __D3DRM_H__ */
+++ /dev/null
-/*
- * Copyright 2007 Vijay Kiran Kamuju
- * Copyright 2007 David ADAM
- * Copyright 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DRMDEFS_H__
-#define __D3DRMDEFS_H__
-
-#include <stddef.h>
-#include <d3dtypes.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-typedef struct _D3DRMVECTOR4D
-{
- D3DVALUE x;
- D3DVALUE y;
- D3DVALUE z;
- D3DVALUE w;
-} D3DRMVECTOR4D, *LPD3DRMVECTOR4D;
-
-typedef D3DVALUE D3DRMMATRIX4D[4][4];
-
-typedef struct _D3DRMQUATERNION {
- D3DVALUE s;
- D3DVECTOR v;
-} D3DRMQUATERNION, *LPD3DRMQUATERNION;
-
-typedef struct _D3DRMRAY {
- D3DVECTOR dvDir;
- D3DVECTOR dvPos;
-} D3DRMRAY, *LPD3DRMRAY;
-
-typedef struct _D3DRMBOX {
- D3DVECTOR min;
- D3DVECTOR max;
-} D3DRMBOX, *LPD3DRMBOX;
-
-typedef enum _D3DRMLIGHTTYPE {
- D3DRMLIGHT_AMBIENT,
- D3DRMLIGHT_POINT,
- D3DRMLIGHT_SPOT,
- D3DRMLIGHT_DIRECTIONAL,
- D3DRMLIGHT_PARALLELPOINT
-} D3DRMLIGHTTYPE, *LPD3DRMLIGHTTYPE;
-
-typedef DWORD D3DRMRENDERQUALITY, *LPD3DRMRENDERQUALITY;
-
-typedef enum _D3DRMTEXTUREQUALITY {
- D3DRMTEXTURE_NEAREST,
- D3DRMTEXTURE_LINEAR,
- D3DRMTEXTURE_MIPNEAREST,
- D3DRMTEXTURE_MIPLINEAR,
- D3DRMTEXTURE_LINEARMIPNEAREST,
- D3DRMTEXTURE_LINEARMIPLINEAR
-} D3DRMTEXTUREQUALITY, *LPD3DRMTEXTUREQUALITY;
-
-typedef enum _D3DRMCOMBINETYPE {
- D3DRMCOMBINE_REPLACE,
- D3DRMCOMBINE_BEFORE,
- D3DRMCOMBINE_AFTER
-} D3DRMCOMBINETYPE, *LPD3DRMCOMBINETYPE;
-
-typedef struct _D3DRMPALETTEENTRY {
- unsigned char red;
- unsigned char green;
- unsigned char blue;
- unsigned char flags;
-} D3DRMPALETTEENTRY, *LPD3DRMPALETTEENTRY;
-
-typedef struct _D3DRMIMAGE {
- int width;
- int height;
- int aspectx;
- int aspecty;
- int depth;
- int rgb;
- int bytes_per_line;
- void* buffer1;
- void* buffer2;
- unsigned long red_mask;
- unsigned long green_mask;
- unsigned long blue_mask;
- unsigned long alpha_mask;
- int palette_size;
- D3DRMPALETTEENTRY* palette;
-} D3DRMIMAGE, *LPD3DRMIMAGE;
-
-typedef enum _D3DRMWRAPTYPE {
- D3DRMWRAP_FLAT,
- D3DRMWRAP_CYLINDER,
- D3DRMWRAP_SPHERE,
- D3DRMWRAP_CHROME,
- D3DRMWRAP_SHEET,
- D3DRMWRAP_BOX
-} D3DRMWRAPTYPE, *LPD3DRMWRAPTYPE;
-
-typedef enum _D3DRMPROJECTIONTYPE
-{
- D3DRMPROJECT_PERSPECTIVE,
- D3DRMPROJECT_ORTHOGRAPHIC,
- D3DRMPROJECT_RIGHTHANDPERSPECTIVE,
- D3DRMPROJECT_RIGHTHANDORTHOGRAPHIC
-} D3DRMPROJECTIONTYPE, *LPD3DRMPROJECTIONTYPE;
-
-typedef enum _D3DRMXOFFORMAT {
- D3DRMXOF_BINARY,
- D3DRMXOF_COMPRESSED,
- D3DRMXOF_TEXT
-} D3DRMXOFFORMAT, *LPD3DRMXOFFORMAT;
-
-typedef DWORD D3DRMSAVEOPTIONS;
-
-typedef enum _D3DRMCOLORSOURCE {
- D3DRMCOLOR_FROMFACE,
- D3DRMCOLOR_FROMVERTEX
-} D3DRMCOLORSOURCE, *LPD3DRMCOLORSOURCE;
-
-typedef enum _D3DRMFRAMECONSTRAINT {
- D3DRMCONSTRAIN_Z,
- D3DRMCONSTRAIN_Y,
- D3DRMCONSTRAIN_X
-} D3DRMFRAMECONSTRAINT, *LPD3DRMFRAMECONSTRAINT;
-
-typedef enum _D3DRMMATERIALMODE {
- D3DRMMATERIAL_FROMMESH,
- D3DRMMATERIAL_FROMPARENT,
- D3DRMMATERIAL_FROMFRAME
-} D3DRMMATERIALMODE, *LPD3DRMMATERIALMODE;
-
-typedef enum _D3DRMFOGMODE {
- D3DRMFOG_LINEAR,
- D3DRMFOG_EXPONENTIAL,
- D3DRMFOG_EXPONENTIALSQUARED
-} D3DRMFOGMODE, *LPD3DRMFOGMODE;
-
-typedef enum _D3DRMZBUFFERMODE {
- D3DRMZBUFFER_FROMPARENT,
- D3DRMZBUFFER_ENABLE,
- D3DRMZBUFFER_DISABLE
-} D3DRMZBUFFERMODE, *LPD3DRMZBUFFERMODE;
-
-typedef enum _D3DRMSORTMODE {
- D3DRMSORT_FROMPARENT,
- D3DRMSORT_NONE,
- D3DRMSORT_FRONTTOBACK,
- D3DRMSORT_BACKTOFRONT
-} D3DRMSORTMODE, *LPD3DRMSORTMODE;
-
-typedef struct _D3DRMMATERIALOVERRIDE {
- DWORD dwSize;
- DWORD dwFlags;
- D3DCOLORVALUE dcDiffuse;
- D3DCOLORVALUE dcAmbient;
- D3DCOLORVALUE dcEmissive;
- D3DCOLORVALUE dcSpecular;
- D3DVALUE dvPower;
- LPUNKNOWN lpD3DRMTex;
-} D3DRMMATERIALOVERRIDE, *LPD3DRMMATERIALOVERRIDE;
-
-typedef DWORD D3DRMLOADOPTIONS;
-
-#define D3DRMLOAD_FROMFILE 0x000L
-#define D3DRMLOAD_FROMRESOURCE 0x001L
-#define D3DRMLOAD_FROMMEMORY 0x002L
-#define D3DRMLOAD_FROMSTREAM 0x004L
-#define D3DRMLOAD_FROMURL 0x008L
-
-#define D3DRMLOAD_BYNAME 0x010L
-#define D3DRMLOAD_BYPOSITION 0x020L
-#define D3DRMLOAD_BYGUID 0x040L
-#define D3DRMLOAD_FIRST 0x080L
-
-#define D3DRMLOAD_INSTANCEBYREFERENCE 0x100L
-#define D3DRMLOAD_INSTANCEBYCOPYING 0x200L
-
-#define D3DRMLOAD_ASYNCHRONOUS 0x400L
-
-typedef struct _D3DRMLOADRESOURCE {
- HMODULE hModule;
- LPCSTR /*LPCTSTR*/ lpName;
- LPCSTR /*LPCTSTR*/ lpType;
-} D3DRMLOADRESOURCE, *LPD3DRMLOADRESOURCE;
-
-typedef struct _D3DRMLOADMEMORY {
- LPVOID lpMemory;
- DWORD dSize;
-} D3DRMLOADMEMORY, *LPD3DRMLOADMEMORY;
-
-typedef struct _D3DRMPMESHLOADSTATUS {
- DWORD dwSize;
- DWORD dwPMeshSize;
- DWORD dwBaseMeshSize;
- DWORD dwBytesLoaded;
- DWORD dwVerticesLoaded;
- DWORD dwFacesLoaded;
- HRESULT dwLoadResult;
- DWORD dwFlags;
-} D3DRMPMESHLOADSTATUS, *LPD3DRMPMESHLOADSTATUS;
-
-typedef enum _D3DRMUSERVISUALREASON {
- D3DRMUSERVISUAL_CANSEE,
- D3DRMUSERVISUAL_RENDER
-} D3DRMUSERVISUALREASON, *LPD3DRMUSERVISUALREASON;
-
-typedef DWORD D3DRMMAPPING;
-
-typedef struct _D3DRMVERTEX {
- D3DVECTOR position;
- D3DVECTOR normal;
- D3DVALUE tu;
- D3DVALUE tv;
- D3DCOLOR color;
-} D3DRMVERTEX, *LPD3DRMVERTEX;
-
-typedef LONG D3DRMGROUPINDEX;
-
-void WINAPI D3DRMMatrixFromQuaternion(D3DRMMATRIX4D, LPD3DRMQUATERNION);
-
-LPD3DRMQUATERNION WINAPI D3DRMQuaternionFromRotation(LPD3DRMQUATERNION ,LPD3DVECTOR,D3DVALUE);
-LPD3DRMQUATERNION WINAPI D3DRMQuaternionMultiply(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION);
-LPD3DRMQUATERNION WINAPI D3DRMQuaternionSlerp(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION, D3DVALUE);
-
-LPD3DVECTOR WINAPI D3DRMVectorAdd(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorCrossProduct(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
-D3DVALUE WINAPI D3DRMVectorDotProduct(LPD3DVECTOR, LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorNormalize(LPD3DVECTOR);
-
-#define D3DRMVectorNormalise D3DRMVectorNormalize
-
-D3DVALUE WINAPI D3DRMVectorModulus(LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorRandom(LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorRotate(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR, D3DVALUE);
-LPD3DVECTOR WINAPI D3DRMVectorReflect(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorScale(LPD3DVECTOR, LPD3DVECTOR, D3DVALUE);
-LPD3DVECTOR WINAPI D3DRMVectorSubtract(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
-
-D3DCOLOR WINAPI D3DRMCreateColorRGB(D3DVALUE, D3DVALUE, D3DVALUE);
-D3DCOLOR WINAPI D3DRMCreateColorRGBA(D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE);
-D3DVALUE WINAPI D3DRMColorGetAlpha(D3DCOLOR);
-D3DVALUE WINAPI D3DRMColorGetBlue(D3DCOLOR);
-D3DVALUE WINAPI D3DRMColorGetGreen(D3DCOLOR);
-D3DVALUE WINAPI D3DRMColorGetRed(D3DCOLOR);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2008 Vijay Kiran Kamuju
- * Copyright (C) 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DRMOBJ_H__
-#define __D3DRMOBJ_H__
-
-#include <objbase.h>
-#define VIRTUAL
-#include <d3drmdef.h>
-#include <d3d.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-
-DEFINE_GUID(IID_IDirect3DRMObject, 0xeb16cb00, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMObject2, 0x4516ec7c, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMDevice, 0xe9e19280, 0x6e05, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMDevice2, 0x4516ec78, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMDevice3, 0x549f498b, 0xbfeb, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82);
-DEFINE_GUID(IID_IDirect3DRMViewport, 0xeb16cb02, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMViewport2, 0x4a1b1be6, 0xbfed, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82);
-DEFINE_GUID(IID_IDirect3DRMFrame, 0xeb16cb03, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMFrame2, 0xc3dfbd60, 0x3988, 0x11d0, 0x9e, 0xc2, 0x00, 0x00, 0xc0, 0x29, 0x1a, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMFrame3, 0xff6b7f70, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMVisual, 0xeb16cb04, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMesh, 0xa3a80d01, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMeshBuilder, 0xa3a80d02, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMeshBuilder2, 0x4516ec77, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMMeshBuilder3, 0x4516ec82, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMFace, 0xeb16cb07, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMFace2, 0x4516ec81, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMLight, 0xeb16cb08, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMTexture, 0xeb16cb09, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMTexture2, 0x120f30c0, 0x1629, 0x11d0, 0x94, 0x1c, 0x00, 0x80, 0xc8, 0x0c, 0xfa, 0x7b);
-DEFINE_GUID(IID_IDirect3DRMTexture3, 0xff6b7f73, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMWrap, 0xeb16cb0a, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMaterial, 0xeb16cb0b, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMaterial2, 0xff6b7f75, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMAnimation, 0xeb16cb0d, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMAnimation2, 0xff6b7f77, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMAnimationSet, 0xeb16cb0e, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMAnimationSet2, 0xff6b7f79, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMObjectArray, 0x242f6bc2, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMDeviceArray, 0xeb16cb10, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMViewportArray, 0xeb16cb11, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMFrameArray, 0xeb16cb12, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMVisualArray, 0xeb16cb13, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMLightArray, 0xeb16cb14, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMPickedArray, 0xeb16cb16, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMFaceArray, 0xeb16cb17, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMAnimationArray, 0xd5f1cae0, 0x4bd7, 0x11d1, 0xb9, 0x74, 0x00, 0x60, 0x08, 0x3e, 0x45, 0xf3);
-DEFINE_GUID(IID_IDirect3DRMUserVisual, 0x59163de0, 0x6d43, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMShadow, 0xaf359780, 0x6ba3, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMShadow2, 0x86b44e25, 0x9c82, 0x11d1, 0xbb, 0x0b, 0x00, 0xa0, 0xc9, 0x81, 0xa0, 0xa6);
-DEFINE_GUID(IID_IDirect3DRMInterpolator, 0x242f6bc1, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMProgressiveMesh, 0x4516ec79, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMPicked2Array, 0x4516ec7b, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMClippedVisual, 0x5434e733, 0x6d66, 0x11d1, 0xbb, 0x0b, 0x00, 0x00, 0xf8, 0x75, 0x86, 0x5a);
-
-typedef struct IDirect3DRMObject *LPDIRECT3DRMOBJECT, **LPLPDIRECT3DRMOBJECT;
-typedef struct IDirect3DRMObject2 *LPDIRECT3DRMOBJECT2, **LPLPDIRECT3DRMOBJECT2;
-typedef struct IDirect3DRMDevice *LPDIRECT3DRMDEVICE, **LPLPDIRECT3DRMDEVICE;
-typedef struct IDirect3DRMDevice2 *LPDIRECT3DRMDEVICE2, **LPLPDIRECT3DRMDEVICE2;
-typedef struct IDirect3DRMDevice3 *LPDIRECT3DRMDEVICE3, **LPLPDIRECT3DRMDEVICE3;
-typedef struct IDirect3DRMViewport *LPDIRECT3DRMVIEWPORT, **LPLPDIRECT3DRMVIEWPORT;
-typedef struct IDirect3DRMViewport2 *LPDIRECT3DRMVIEWPORT2, **LPLPDIRECT3DRMVIEWPORT2;
-typedef struct IDirect3DRMFrame *LPDIRECT3DRMFRAME, **LPLPDIRECT3DRMFRAME;
-typedef struct IDirect3DRMFrame2 *LPDIRECT3DRMFRAME2, **LPLPDIRECT3DRMFRAME2;
-typedef struct IDirect3DRMFrame3 *LPDIRECT3DRMFRAME3, **LPLPDIRECT3DRMFRAME3;
-typedef struct IDirect3DRMVisual *LPDIRECT3DRMVISUAL, **LPLPDIRECT3DRMVISUAL;
-typedef struct IDirect3DRMMesh *LPDIRECT3DRMMESH, **LPLPDIRECT3DRMMESH;
-typedef struct IDirect3DRMMeshBuilder *LPDIRECT3DRMMESHBUILDER, **LPLPDIRECT3DRMMESHBUILDER;
-typedef struct IDirect3DRMMeshBuilder2 *LPDIRECT3DRMMESHBUILDER2, **LPLPDIRECT3DRMMESHBUILDER2;
-typedef struct IDirect3DRMMeshBuilder3 *LPDIRECT3DRMMESHBUILDER3, **LPLPDIRECT3DRMMESHBUILDER3;
-typedef struct IDirect3DRMFace *LPDIRECT3DRMFACE, **LPLPDIRECT3DRMFACE;
-typedef struct IDirect3DRMFace2 *LPDIRECT3DRMFACE2, **LPLPDIRECT3DRMFACE2;
-typedef struct IDirect3DRMLight *LPDIRECT3DRMLIGHT, **LPLPDIRECT3DRMLIGHT;
-typedef struct IDirect3DRMTexture *LPDIRECT3DRMTEXTURE, **LPLPDIRECT3DRMTEXTURE;
-typedef struct IDirect3DRMTexture2 *LPDIRECT3DRMTEXTURE2, **LPLPDIRECT3DRMTEXTURE2;
-typedef struct IDirect3DRMTexture3 *LPDIRECT3DRMTEXTURE3, **LPLPDIRECT3DRMTEXTURE3;
-typedef struct IDirect3DRMWrap *LPDIRECT3DRMWRAP, **LPLPDIRECT3DRMWRAP;
-typedef struct IDirect3DRMMaterial *LPDIRECT3DRMMATERIAL, **LPLPDIRECT3DRMMATERIAL;
-typedef struct IDirect3DRMMaterial2 *LPDIRECT3DRMMATERIAL2, **LPLPDIRECT3DRMMATERIAL2;
-typedef struct IDirect3DRMAnimation *LPDIRECT3DRMANIMATION, **LPLPDIRECT3DRMANIMATION;
-typedef struct IDirect3DRMAnimation2 *LPDIRECT3DRMANIMATION2, **LPLPDIRECT3DRMANIMATION2;
-typedef struct IDirect3DRMAnimationSet *LPDIRECT3DRMANIMATIONSET, **LPLPDIRECT3DRMANIMATIONSET;
-typedef struct IDirect3DRMAnimationSet2 *LPDIRECT3DRMANIMATIONSET2, **LPLPDIRECT3DRMANIMATIONSET2;
-typedef struct IDirect3DRMUserVisual *LPDIRECT3DRMUSERVISUAL, **LPLPDIRECT3DRMUSERVISUAL;
-typedef struct IDirect3DRMShadow *LPDIRECT3DRMSHADOW, **LPLPDIRECT3DRMSHADOW;
-typedef struct IDirect3DRMShadow2 *LPDIRECT3DRMSHADOW2, **LPLPDIRECT3DRMSHADOW2;
-typedef struct IDirect3DRMArray *LPDIRECT3DRMARRAY, **LPLPDIRECT3DRMARRAY;
-typedef struct IDirect3DRMObjectArray *LPDIRECT3DRMOBJECTARRAY, **LPLPDIRECT3DRMOBJECTARRAY;
-typedef struct IDirect3DRMDeviceArray *LPDIRECT3DRMDEVICEARRAY, **LPLPDIRECT3DRMDEVICEARRAY;
-typedef struct IDirect3DRMFaceArray *LPDIRECT3DRMFACEARRAY, **LPLPDIRECT3DRMFACEARRAY;
-typedef struct IDirect3DRMViewportArray *LPDIRECT3DRMVIEWPORTARRAY, **LPLPDIRECT3DRMVIEWPORTARRAY;
-typedef struct IDirect3DRMFrameArray *LPDIRECT3DRMFRAMEARRAY, **LPLPDIRECT3DRMFRAMEARRAY;
-typedef struct IDirect3DRMAnimationArray *LPDIRECT3DRMANIMATIONARRAY, **LPLPDIRECT3DRMANIMATIONARRAY;
-typedef struct IDirect3DRMVisualArray *LPDIRECT3DRMVISUALARRAY, **LPLPDIRECT3DRMVISUALARRAY;
-typedef struct IDirect3DRMPickedArray *LPDIRECT3DRMPICKEDARRAY, **LPLPDIRECT3DRMPICKEDARRAY;
-typedef struct IDirect3DRMPicked2Array *LPDIRECT3DRMPICKED2ARRAY, **LPLPDIRECT3DRMPICKED2ARRAY;
-typedef struct IDirect3DRMLightArray *LPDIRECT3DRMLIGHTARRAY, **LPLPDIRECT3DRMLIGHTARRAY;
-typedef struct IDirect3DRMProgressiveMesh *LPDIRECT3DRMPROGRESSIVEMESH, **LPLPDIRECT3DRMPROGRESSIVEMESH;
-typedef struct IDirect3DRMClippedVisual *LPDIRECT3DRMCLIPPEDVISUAL, **LPLPDIRECT3DRMCLIPPEDVISUAL;
-
-/* ********************************************************************
- Types and structures
- ******************************************************************** */
-
-typedef void (__cdecl *D3DRMOBJECTCALLBACK)(LPDIRECT3DRMOBJECT obj, LPVOID arg);
-typedef void (__cdecl *D3DRMFRAMEMOVECALLBACK)(LPDIRECT3DRMFRAME obj, LPVOID arg, D3DVALUE delta);
-typedef void (__cdecl *D3DRMFRAME3MOVECALLBACK)(LPDIRECT3DRMFRAME3 obj, LPVOID arg, D3DVALUE delta);
-typedef void (__cdecl *D3DRMUPDATECALLBACK)(LPDIRECT3DRMDEVICE obj, LPVOID arg, int, LPD3DRECT);
-typedef int (__cdecl *D3DRMUSERVISUALCALLBACK)(LPDIRECT3DRMUSERVISUAL obj, LPVOID arg,
- D3DRMUSERVISUALREASON reason, LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMVIEWPORT view);
-typedef HRESULT (__cdecl *D3DRMLOADTEXTURECALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE *);
-typedef HRESULT (__cdecl *D3DRMLOADTEXTURE3CALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE3 *);
-typedef void (__cdecl *D3DRMLOADCALLBACK)(LPDIRECT3DRMOBJECT object, REFIID objectguid, LPVOID arg);
-
-typedef struct _D3DRMPICKDESC
-{
- ULONG ulFaceIdx;
- LONG lGroupIdx;
- D3DVECTOR vPosition;
-} D3DRMPICKDESC, *LPD3DRMPICKDESC;
-
-typedef struct _D3DRMPICKDESC2
-{
- ULONG ulFaceIdx;
- LONG lGroupIdx;
- D3DVECTOR vPosition;
- D3DVALUE tu;
- D3DVALUE tv;
- D3DVECTOR dvNormal;
- D3DCOLOR dcColor;
-} D3DRMPICKDESC2, *LPD3DRMPICKDESC2;
-
-/*****************************************************************************
- * IDirect3DRMObject interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMObject
-DECLARE_INTERFACE_(IDirect3DRMObject,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMObject_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMObject_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMObject_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMObject_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMObject_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMObject_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMObject_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMObject_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMObject_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMObject_AddRef(p) (p)->AddRef()
-#define IDirect3DRMObject_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMObject_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMObject_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMObject_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMObject_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMObject_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMObject_GetClassName(p,a,b) (p)->GetClassName(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMObject2 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMObject2
-DECLARE_INTERFACE_(IDirect3DRMObject2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject2 methods ***/
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(GetClientData)(THIS_ DWORD id, LPVOID* ppData) PURE;
- STDMETHOD(GetDirect3DRM)(THIS_ LPDIRECT3DRM* ppDirect3DRM) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD pSize, LPSTR pName) PURE;
- STDMETHOD(SetClientData)(THIS_ DWORD id, LPVOID pData, DWORD flags) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR pName) PURE;
- STDMETHOD(GetAge)(THIS_ DWORD flags, LPDWORD pAge) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMObject2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject2 methods ***/
-#define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMObject2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMObject2_GetClientData(p,a,b) (p)->lpVtbl->SetClientData(p,a,b)
-#define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->lpVtbl->GetDirect3DRM(p,a)
-#define IDirect3DRMObject2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->lpVtbl->SetClientData(p,a,b,c)
-#define IDirect3DRMObject2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMObject2_GetAge(p,a,b) (p)->lpVtbl->GetAge(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMObject2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMObject2_Release(p) (p)->Release()
-/*** IDirect3DRMObject2 methods ***/
-#define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMObject2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMObject2_GetClientData(p,a,b) (p)->SetClientData(a,b)
-#define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->GetDirect3DRM(a)
-#define IDirect3DRMObject2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->SetClientData(a,b,c)
-#define IDirect3DRMObject2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMObject2_GetAge(p,a,b) (p)->GetAge(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMVisual interface
- */
-#define INTERFACE IDirect3DRMVisual
-DECLARE_INTERFACE_(IDirect3DRMVisual,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMVisual_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMVisual_AddRef(p) (p)->AddRef()
-#define IDirect3DRMVisual_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMVisual_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMVisual_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMVisual_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMVisual_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMDevice interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMDevice
-DECLARE_INTERFACE_(IDirect3DRMDevice,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMDevice methods ***/
- STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
- STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
- STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
- STDMETHOD(Update)(THIS) PURE;
- STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
- STDMETHOD(SetDither)(THIS_ BOOL) PURE;
- STDMETHOD(SetShades)(THIS_ DWORD) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
- STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
- STDMETHOD_(BOOL, GetDither)(THIS) PURE;
- STDMETHOD_(DWORD, GetShades)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
- STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
- STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMDevice_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMDevice_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMDevice_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMDevice_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMDevice_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMDevice_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
-#define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice_Update(p) (p)->lpVtbl->Update(p)
-#define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
-#define IDirect3DRMDevice_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
-#define IDirect3DRMDevice_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
-#define IDirect3DRMDevice_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
-#define IDirect3DRMDevice_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
-#define IDirect3DRMDevice_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
-#define IDirect3DRMDevice_GetDither(p) (p)->lpVtbl->GetDither(p)
-#define IDirect3DRMDevice_GetShades(p) (p)->lpVtbl->GetShades(p)
-#define IDirect3DRMDevice_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMDevice_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
-#define IDirect3DRMDevice_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMDevice_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
-#define IDirect3DRMDevice_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
-#define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMDevice_AddRef(p) (p)->AddRef()
-#define IDirect3DRMDevice_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMDevice_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMDevice_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMDevice_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMDevice_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMDevice_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice_Init(p,a,b) (p)->Init(p,a,b)
-#define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice_Update(p) (p)->Update(p)
-#define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
-#define IDirect3DRMDevice_GetBufferCount(p) (p)->GetBufferCount(p)
-#define IDirect3DRMDevice_SetDither(p,a) (p)->SetDither(p,a)
-#define IDirect3DRMDevice_SetShades(p,a) (p)->SetShades(p,a)
-#define IDirect3DRMDevice_SetQuality(p,a) (p)->SetQuality(p,a)
-#define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
-#define IDirect3DRMDevice_GetViewports(p,a) (p)->GetViewports(p,a)
-#define IDirect3DRMDevice_GetDither(p) (p)->GetDither(p)
-#define IDirect3DRMDevice_GetShades(p) (p)->GetShades(p)
-#define IDirect3DRMDevice_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMDevice_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
-#define IDirect3DRMDevice_GetQuality(p) (p)->GetQuality(p)
-#define IDirect3DRMDevice_GetColorModel(p) (p)->GetColorModel(p)
-#define IDirect3DRMDevice_GetTextureQuality(p) (p)->GetTextureQuality(p)
-#define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMDevice2 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMDevice2
-DECLARE_INTERFACE_(IDirect3DRMDevice2,IDirect3DRMDevice)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMDevice methods ***/
- STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
- STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
- STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
- STDMETHOD(Update)(THIS) PURE;
- STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
- STDMETHOD(SetDither)(THIS_ BOOL) PURE;
- STDMETHOD(SetShades)(THIS_ DWORD) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
- STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
- STDMETHOD_(BOOL, GetDither)(THIS) PURE;
- STDMETHOD_(DWORD, GetShades)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
- STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
- STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
- /*** IDirect3DRMDevice2 methods ***/
- STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
- STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
- STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
- STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMDevice2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMDevice2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMDevice2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMDevice2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMDevice2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice2_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
-#define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice2_Update(p) (p)->lpVtbl->Update(p)
-#define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
-#define IDirect3DRMDevice2_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
-#define IDirect3DRMDevice2_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
-#define IDirect3DRMDevice2_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
-#define IDirect3DRMDevice2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
-#define IDirect3DRMDevice2_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
-#define IDirect3DRMDevice2_GetDither(p) (p)->lpVtbl->GetDither(p)
-#define IDirect3DRMDevice2_GetShades(p) (p)->lpVtbl->GetShades(p)
-#define IDirect3DRMDevice2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMDevice2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
-#define IDirect3DRMDevice2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMDevice2_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
-#define IDirect3DRMDevice2_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
-#define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
-/*** IDirect3DRMDevice2 methods ***/
-#define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
-#define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
-#define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
-#define IDirect3DRMDevice2_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
-#define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMDevice2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMDevice2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMDevice2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMDevice2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMDevice2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMDevice2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice2_Init(p,a,b) (p)->Init(p,a,b)
-#define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice2_Update(p) (p)->Update(p)
-#define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
-#define IDirect3DRMDevice2_GetBufferCount(p) (p)->GetBufferCount(p)
-#define IDirect3DRMDevice2_SetDither(p,a) (p)->SetDither(p,a)
-#define IDirect3DRMDevice2_SetShades(p,a) (p)->SetShades(p,a)
-#define IDirect3DRMDevice2_SetQuality(p,a) (p)->SetQuality(p,a)
-#define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
-#define IDirect3DRMDevice2_GetViewports(p,a) (p)->GetViewports(p,a)
-#define IDirect3DRMDevice2_GetDither(p) (p)->GetDither(p)
-#define IDirect3DRMDevice2_GetShades(p) (p)->GetShades(p)
-#define IDirect3DRMDevice2_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMDevice2_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
-#define IDirect3DRMDevice2_GetQuality(p) (p)->GetQuality(p)
-#define IDirect3DRMDevice2_GetColorModel(p) (p)->GetColorModel(p)
-#define IDirect3DRMDevice2_GetTextureQuality(p) (p)->GetTextureQuality(p)
-#define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
-/*** IDirect3DRMDevice2 methods ***/
-#define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
-#define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
-#define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->SetRenderMode(a)
-#define IDirect3DRMDevice2_GetRenderMode(p) (p)->GetRenderMode()
-#define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMDevice3 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMDevice3
-DECLARE_INTERFACE_(IDirect3DRMDevice3,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMDevice methods ***/
- STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
- STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
- STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
- STDMETHOD(Update)(THIS) PURE;
- STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
- STDMETHOD(SetDither)(THIS_ BOOL) PURE;
- STDMETHOD(SetShades)(THIS_ DWORD) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
- STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
- STDMETHOD_(BOOL, GetDither)(THIS) PURE;
- STDMETHOD_(DWORD, GetShades)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
- STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
- STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
- /*** IDirect3DRMDevice2 methods ***/
- STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
- STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
- STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
- STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE;
- /*** IDirect3DRMDevice3 methods ***/
- STDMETHOD(FindPreferredTextureFormat)(THIS_ DWORD BitDepths, DWORD flags, LPDDPIXELFORMAT pDDPF) PURE;
- STDMETHOD(RenderStateChange)(THIS_ D3DRENDERSTATETYPE drsType, DWORD val, DWORD flags) PURE;
- STDMETHOD(LightStateChange)(THIS_ D3DLIGHTSTATETYPE drsType, DWORD val, DWORD flags) PURE;
- STDMETHOD(GetStateChangeOptions)(THIS_ DWORD StateClass, DWORD StateNum, LPDWORD pFlags) PURE;
- STDMETHOD(SetStateChangeOptions)(THIS_ DWORD StateClass, DWORD StateNum, DWORD flags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMDevice3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMDevice3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMDevice3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMDevice3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMDevice3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice3_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
-#define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice3_Update(p) (p)->lpVtbl->Update(p)
-#define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
-#define IDirect3DRMDevice3_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
-#define IDirect3DRMDevice3_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
-#define IDirect3DRMDevice3_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
-#define IDirect3DRMDevice3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
-#define IDirect3DRMDevice3_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
-#define IDirect3DRMDevice3_GetDither(p) (p)->lpVtbl->GetDither(p)
-#define IDirect3DRMDevice3_GetShades(p) (p)->lpVtbl->GetShades(p)
-#define IDirect3DRMDevice3_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMDevice3_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
-#define IDirect3DRMDevice3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMDevice3_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
-#define IDirect3DRMDevice3_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
-#define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
-/*** IDirect3DRMDevice2 methods ***/
-#define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
-#define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
-#define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
-#define IDirect3DRMDevice3_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
-#define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
-/*** IDirect3DRMDevice3 methods ***/
-#define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->lpVtbl->FindPreferredTextureFormat(p,a,b)
-#define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->lpVtbl->RenderStateChange(p,a,b)
-#define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->lpVtbl->LightStateChange(p,a,b)
-#define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->lpVtbl->GetStateChangeOptions(p,a,b)
-#define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->lpVtbl->SetStateChangeOptions(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMDevice3_AddRef(p) (p)->AddRef()
-#define IDirect3DRMDevice3_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMDevice3_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMDevice3_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMDevice3_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMDevice3_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice3_Init(p,a,b) (p)->Init(p,a,b)
-#define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice3_Update(p) (p)->Update(p)
-#define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
-#define IDirect3DRMDevice3_GetBufferCount(p) (p)->GetBufferCount(p)
-#define IDirect3DRMDevice3_SetDither(p,a) (p)->SetDither(p,a)
-#define IDirect3DRMDevice3_SetShades(p,a) (p)->SetShades(p,a)
-#define IDirect3DRMDevice3_SetQuality(p,a) (p)->SetQuality(p,a)
-#define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
-#define IDirect3DRMDevice3_GetViewports(p,a) (p)->GetViewports(p,a)
-#define IDirect3DRMDevice3_GetDither(p) (p)->GetDither(p)
-#define IDirect3DRMDevice3_GetShades(p) (p)->GetShades(p)
-#define IDirect3DRMDevice3_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMDevice3_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
-#define IDirect3DRMDevice3_GetQuality(p) (p)->GetQuality(p)
-#define IDirect3DRMDevice3_GetColorModel(p) (p)->GetColorModel(p)
-#define IDirect3DRMDevice3_GetTextureQuality(p) (p)->GetTextureQuality(p)
-#define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
-/*** IDirect3DRMDevice2 methods ***/
-#define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
-#define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
-#define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->SetRenderMode(a)
-#define IDirect3DRMDevice3_GetRenderMode(p) (p)->GetRenderMode()
-#define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
-/*** IDirect3DRMDevice3 methods ***/
-#define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->FindPreferredTextureFormat(a,b,c)
-#define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->RenderStateChange(a,b,c)
-#define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->LightStateChange(a,b,c)
-#define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->GetStateChangeOptions(a,b,c)
-#define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->SetStateChangeOptions(a,b,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMViewport interface
- */
-#define INTERFACE IDirect3DRMViewport
-DECLARE_INTERFACE_(IDirect3DRMViewport,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMViewport methods ***/
- STDMETHOD(Init) (THIS_ LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMFRAME camera, DWORD xpos, DWORD ypos,
- DWORD width, DWORD height) PURE;
- STDMETHOD(Clear)(THIS) PURE;
- STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetField)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE;
- STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE;
- STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE;
- STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE;
- STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE;
- STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE;
- STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE;
- STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE;
- STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE;
- STDMETHOD_(LONG, GetX)(THIS) PURE;
- STDMETHOD_(LONG, GetY)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetField)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE;
- STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE;
- STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMViewport_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMViewport_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMViewport_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMViewport_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMViewport_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMViewport_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMViewport_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMViewport methods ***/
-#define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
-#define IDirect3DRMViewport_Clear(p) (p)->lpVtbl->Clear(p)
-#define IDirect3DRMViewport_Render(p,a) (p)->lpVtbl->Render(p,a)
-#define IDirect3DRMViewport_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
-#define IDirect3DRMViewport_SetBack(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport_SetField(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
-#define IDirect3DRMViewport_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
-#define IDirect3DRMViewport_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
-#define IDirect3DRMViewport_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-#define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
-#define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
-#define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
-#define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport_GetCamera(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
-#define IDirect3DRMViewport_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
-#define IDirect3DRMViewport_GetX(p) (p)->lpVtbl->GetX(p)
-#define IDirect3DRMViewport_GetY(p) (p)->lpVtbl->GetY(p)
-#define IDirect3DRMViewport_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMViewport_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMViewport_GetField(p) (p)->lpVtbl->GetField(p)
-#define IDirect3DRMViewport_GetBack(p) (p)->lpVtbl->GetBack(p)
-#define IDirect3DRMViewport_GetFront(p) (p)->lpVtbl->GetFront(p)
-#define IDirect3DRMViewport_GetProjection(p) (p)->lpVtbl->GetProjection(p)
-#define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMViewport_AddRef(p) (p)->AddRef()
-#define IDirect3DRMViewport_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMViewport_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMViewport_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMViewport_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMViewport_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMViewport_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMViewport_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMViewport methods ***/
-#define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
-#define IDirect3DRMViewport_Clear(p) (p)->Clear(p)
-#define IDirect3DRMViewport_Render(p,a) (p)->Render(p,a)
-#define IDirect3DRMViewport_SetFront(p,a) (p)->SetFront(p,a)
-#define IDirect3DRMViewport_SetBack(p,a) (p)->(p,a)
-#define IDirect3DRMViewport_SetField(p,a) (p)->(p,a)
-#define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
-#define IDirect3DRMViewport_SetCamera(p,a) (p)->SetCamera(p,a)
-#define IDirect3DRMViewport_SetProjection(p,a) (p)->SetProjection(p,a)
-#define IDirect3DRMViewport_Transform(p,a,b) (p)->Transform(p,a,b)
-#define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->(p,a,b)
-#define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
-#define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
-#define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport_GetCamera(p,a) (p)->GetCamera(p,a)
-#define IDirect3DRMViewport_GetDevice(p,a) (p)->GetDevice(p,a)
-#define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
-#define IDirect3DRMViewport_GetUniformScaling(p) (p)->GetUniformScaling(p)
-#define IDirect3DRMViewport_GetX(p) (p)->GetX(p)
-#define IDirect3DRMViewport_GetY(p) (p)->GetY(p)
-#define IDirect3DRMViewport_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMViewport_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMViewport_GetField(p) (p)->GetField(p)
-#define IDirect3DRMViewport_GetBack(p) (p)->GetBack(p)
-#define IDirect3DRMViewport_GetFront(p) (p)->GetFront(p)
-#define IDirect3DRMViewport_GetProjection(p) (p)->GetProjection(p)
-#define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMViewport2 interface
- */
-#define INTERFACE IDirect3DRMViewport2
-DECLARE_INTERFACE_(IDirect3DRMViewport2,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMViewport2 methods ***/
- STDMETHOD(Init) (THIS_ LPDIRECT3DRMDEVICE3 dev, LPDIRECT3DRMFRAME3 camera, DWORD xpos, DWORD ypos,
- DWORD width, DWORD height) PURE;
- STDMETHOD(Clear)(THIS_ DWORD flags) PURE;
- STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetField)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE;
- STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE;
- STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE;
- STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE;
- STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE;
- STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE;
- STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE;
- STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE;
- STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE;
- STDMETHOD_(LONG, GetX)(THIS) PURE;
- STDMETHOD_(LONG, GetY)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetField)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE;
- STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE;
- STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE;
- STDMETHOD(TransformVectors)(THIS_ DWORD NumVectors, LPD3DRMVECTOR4D pDstVectors,
- LPD3DVECTOR pSrcVectors) PURE;
- STDMETHOD(InverseTransformVectors)(THIS_ DWORD NumVectors, LPD3DVECTOR pDstVectors,
- LPD3DRMVECTOR4D pSrcVectors) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMViewport2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMViewport_2Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMViewport2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMViewport2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMViewport2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMViewport2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMViewport2 methods ***/
-#define IDirect3DRMViewport2_Init(p,a,b,c,d,e,f) (p)->lpVtbl->Init(p,a,b,c,d,e,f)
-#define IDirect3DRMViewport2_Clear(p,a) (p)->lpVtbl->Clear(p,a)
-#define IDirect3DRMViewport2_Render(p,a) (p)->lpVtbl->Render(p,a)
-#define IDirect3DRMViewport2_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
-#define IDirect3DRMViewport2_SetBack(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport2_SetField(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
-#define IDirect3DRMViewport2_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
-#define IDirect3DRMViewport2_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
-#define IDirect3DRMViewport2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-#define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
-#define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
-#define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
-#define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport2_GetCamera(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport2_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
-#define IDirect3DRMViewport2_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
-#define IDirect3DRMViewport2_GetX(p) (p)->lpVtbl->GetX(p)
-#define IDirect3DRMViewport2_GetY(p) (p)->lpVtbl->GetY(p)
-#define IDirect3DRMViewport2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMViewport2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMViewport2_GetField(p) (p)->lpVtbl->GetField(p)
-#define IDirect3DRMViewport2_GetBack(p) (p)->lpVtbl->GetBack(p)
-#define IDirect3DRMViewport2_GetFront(p) (p)->lpVtbl->GetFront(p)
-#define IDirect3DRMViewport2_GetProjection(p) (p)->lpVtbl->GetProjection(p)
-#define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
-#define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->lpVtbl->TransformVectors(p,a,b,c)
-#define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->lpVtbl->InverseTransformVectors(p,ab,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMViewport2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMViewport2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMViewport2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMViewport2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMViewport2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMViewport2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMViewport2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMViewport2 methods ***/
-#define IDirect3DRMViewport2_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
-#define IDirect3DRMViewport2_Clear(p) (p)->Clear(p)
-#define IDirect3DRMViewport2_Render(p,a) (p)->Render(p,a)
-#define IDirect3DRMViewport2_SetFront(p,a) (p)->SetFront(p,a)
-#define IDirect3DRMViewport2_SetBack(p,a) (p)->(p,a)
-#define IDirect3DRMViewport2_SetField(p,a) (p)->(p,a)
-#define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
-#define IDirect3DRMViewport2_SetCamera(p,a) (p)->SetCamera(p,a)
-#define IDirect3DRMViewport2_SetProjection(p,a) (p)->SetProjection(p,a)
-#define IDirect3DRMViewport2_Transform(p,a,b) (p)->Transform(p,a,b)
-#define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->(p,a,b)
-#define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
-#define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
-#define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport2_GetCamera(p,a) (p)->GetCamera(p,a)
-#define IDirect3DRMViewport2_GetDevice(p,a) (p)->GetDevice(p,a)
-#define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
-#define IDirect3DRMViewport2_GetUniformScaling(p) (p)->GetUniformScaling(p)
-#define IDirect3DRMViewport2_GetX(p) (p)->GetX(p)
-#define IDirect3DRMViewport2_GetY(p) (p)->GetY(p)
-#define IDirect3DRMViewport2_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMViewport2_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMViewport2_GetField(p) (p)->GetField(p)
-#define IDirect3DRMViewport2_GetBack(p) (p)->GetBack(p)
-#define IDirect3DRMViewport2_GetFront(p) (p)->GetFront(p)
-#define IDirect3DRMViewport2_GetProjection(p) (p)->GetProjection(p)
-#define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
-#define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->TransformVectors(a,b,c)
-#define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->InverseTransformVectors(ab,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFrame interface
- */
-#define INTERFACE IDirect3DRMFrame
-DECLARE_INTERFACE_(IDirect3DRMFrame,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFrame methods ***/
- STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE;
- STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
- STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
- STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
- STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
- STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE;
- STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
- STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE;
- STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
- STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE;
- STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK,
- LPVOID pArg)PURE;
- STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE;
- STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
- STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
- STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
- STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
- STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
- STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE;
- STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
- STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
- STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
- STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
- D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
- STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE;
- STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
- STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFrame_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFrame_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFrame_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFrame_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFrame_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFrame_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFrame methods ***/
-#define IDirect3DRMFrame_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
-#define IDirect3DRMFrame_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
-#define IDirect3DRMFrame_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
-#define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
-#define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
-#define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
-#define IDirect3DRMFrame_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
-#define IDirect3DRMFrame_GetColor(p) (p)->lpVtbl->GetColor(p)
-#define IDirect3DRMFrame_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
-#define IDirect3DRMFrame_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
-#define IDirect3DRMFrame_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-#define IDirect3DRMFrame_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
-#define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
-#define IDirect3DRMFrame_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
-#define IDirect3DRMFrame_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
-#define IDirect3DRMFrame_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFrame_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
-#define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
-#define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
-#define IDirect3DRMFrame_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
-#define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
-#define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
-#define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
-#define IDirect3DRMFrame_Move(p,a) (p)->lpVtbl->Move(p,a)
-#define IDirect3DRMFrame_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
-#define IDirect3DRMFrame_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
-#define IDirect3DRMFrame_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
-#define IDirect3DRMFrame_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
-#define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
-#define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
-#define IDirect3DRMFrame_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
-#define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
-#define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
-#define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
-#define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
-#define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
-#define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
-#define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFrame_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
-#define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
-#define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
-#define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
-#define IDirect3DRMFrame_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
-#define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
-#define IDirect3DRMFrame_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFrame_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFrame_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFrame_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFrame_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFrame_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFrame_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFrame_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFrame methods ***/
-#define IDirect3DRMFrame_AddChild(p,a) (p)->AddChild(a)
-#define IDirect3DRMFrame_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
-#define IDirect3DRMFrame_AddTransform(p,a,b) (p)->AddTransform(a,b)
-#define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
-#define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
-#define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
-#define IDirect3DRMFrame_AddVisual(p,a) (p)->AddVisual(a)
-#define IDirect3DRMFrame_GetChildren(p,a) (p)->GetChildren(a)
-#define IDirect3DRMFrame_GetColor(p) (p)->GetColor()
-#define IDirect3DRMFrame_GetLights(p,a) (p)->GetLights(a)
-#define IDirect3DRMFrame_GetMaterialMode(p) (p)->GetMaterialMode()
-#define IDirect3DRMFrame_GetParent(p,a) (p)->GetParent(a)
-#define IDirect3DRMFrame_GetPosition(p,a,b) (p)->GetPosition(a,b)
-#define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
-#define IDirect3DRMFrame_GetScene(p,a) (p)->GetScene(a)
-#define IDirect3DRMFrame_GetSortMode(p) (p)->GetSortMode()
-#define IDirect3DRMFrame_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFrame_GetTransform(p,a) (p)->GetTransform(a)
-#define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
-#define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
-#define IDirect3DRMFrame_GetVisuals(p,a) (p)->GetVisuals(a)
-#define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
-#define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
-#define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
-#define IDirect3DRMFrame_Move(p,a) (p)->Move(a)
-#define IDirect3DRMFrame_DeleteChild(p,a) (p)->DeleteChild(a)
-#define IDirect3DRMFrame_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
-#define IDirect3DRMFrame_DeleteVisual(p,a) (p)->DeleteVisual(a)
-#define IDirect3DRMFrame_GetSceneBackground(p) (p)->GetSceneBackground()
-#define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame_GetSceneFogColor(p) (p)->GetSceneFogColor()
-#define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
-#define IDirect3DRMFrame_GetSceneFogMode(p) (p)->GetSceneFogMode()
-#define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
-#define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
-#define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
-#define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
-#define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
-#define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
-#define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFrame_GetZbufferMode(p) (p)->GetZbufferMode()
-#define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
-#define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
-#define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
-#define IDirect3DRMFrame_SetSortMode(p,a) (p)->SetSortMode(a)
-#define IDirect3DRMFrame_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
-#define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
-#define IDirect3DRMFrame_Transform(p,a,b) (p)->Transform(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFrame2 interface
- */
-#define INTERFACE IDirect3DRMFrame2
-DECLARE_INTERFACE_(IDirect3DRMFrame2,IDirect3DRMFrame)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFrame methods ***/
- STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE;
- STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
- STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
- STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
- STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
- STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE;
- STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
- STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE;
- STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
- STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE;
- STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK,
- LPVOID pArg)PURE;
- STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE;
- STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
- STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
- STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
- STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
- STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
- STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE;
- STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
- STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
- STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
- STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
- D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
- STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE;
- STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
- STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- /*** IDirect3DRMFrame2 methods ***/
- STDMETHOD(AddMoveCallback2)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg, DWORD flags) PURE;
- STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE;
- STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up);
- STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE;
- STDMETHOD_(BOOL, GetInheritAxes)(THIS);
- STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz);
- STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent);
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
- STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME reference, D3DRMQUATERNION *q) PURE;
- STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DRMRAY ray, DWORD flags,
- LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE;
- STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, D3DRMSAVEOPTIONS d3dSaveFlags);
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFrame2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFrame2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFrame2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFrame2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFrame2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFrame2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFrame methods ***/
-#define IDirect3DRMFrame2_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
-#define IDirect3DRMFrame2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
-#define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
-#define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
-#define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
-#define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame2_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
-#define IDirect3DRMFrame2_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
-#define IDirect3DRMFrame2_GetColor(p) (p)->lpVtbl->GetColor(p)
-#define IDirect3DRMFrame2_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
-#define IDirect3DRMFrame2_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
-#define IDirect3DRMFrame2_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-#define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
-#define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
-#define IDirect3DRMFrame2_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
-#define IDirect3DRMFrame2_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
-#define IDirect3DRMFrame2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFrame2_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
-#define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
-#define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
-#define IDirect3DRMFrame2_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
-#define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
-#define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
-#define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
-#define IDirect3DRMFrame2_Move(p,a) (p)->lpVtbl->Move(p,a)
-#define IDirect3DRMFrame2_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
-#define IDirect3DRMFrame2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
-#define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
-#define IDirect3DRMFrame2_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
-#define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
-#define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
-#define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
-#define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
-#define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
-#define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
-#define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
-#define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
-#define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
-#define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFrame2_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
-#define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
-#define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
-#define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame2_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
-#define IDirect3DRMFrame2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
-#define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
-#define IDirect3DRMFrame2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-/*** IDirect3DRMFrame2 methods ***/
-#define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->lpVtbl->AddMoveCallback2(p,a,b,c)
-#define IDirect3DRMFrame2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMFrame2_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
-#define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
-#define IDirect3DRMFrame2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->lpVtbl->GetInheritAxes(p,a,b)
-#define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
-#define IDirect3DRMFrame2_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
-#define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
-#define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
-#define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
-#define IDirect3DRMFrame2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
-#define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
-#define IDirect3DRMFrame2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFrame2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFrame2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFrame2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFrame2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFrame2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFrame2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFrame methods ***/
-#define IDirect3DRMFrame2_AddChild(p,a) (p)->AddChild(a)
-#define IDirect3DRMFrame2_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
-#define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->AddTransform(a,b)
-#define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
-#define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
-#define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
-#define IDirect3DRMFrame2_AddVisual(p,a) (p)->AddVisual(a)
-#define IDirect3DRMFrame2_GetChildren(p,a) (p)->GetChildren(a)
-#define IDirect3DRMFrame2_GetColor(p) (p)->GetColor()
-#define IDirect3DRMFrame2_GetLights(p,a) (p)->GetLights(a)
-#define IDirect3DRMFrame2_GetMaterialMode(p) (p)->GetMaterialMode()
-#define IDirect3DRMFrame2_GetParent(p,a) (p)->GetParent(a)
-#define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->GetPosition(a,b)
-#define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
-#define IDirect3DRMFrame2_GetScene(p,a) (p)->GetScene(a)
-#define IDirect3DRMFrame2_GetSortMode(p) (p)->GetSortMode()
-#define IDirect3DRMFrame2_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFrame2_GetTransform(p,a) (p)->GetTransform(a)
-#define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
-#define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
-#define IDirect3DRMFrame2_GetVisuals(p,a) (p)->GetVisuals(a)
-#define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
-#define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
-#define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
-#define IDirect3DRMFrame2_Move(p,a) (p)->Move(a)
-#define IDirect3DRMFrame2_DeleteChild(p,a) (p)->DeleteChild(a)
-#define IDirect3DRMFrame2_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
-#define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->DeleteVisual(a)
-#define IDirect3DRMFrame2_GetSceneBackground(p) (p)->GetSceneBackground()
-#define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->GetSceneFogColor()
-#define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
-#define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->GetSceneFogMode()
-#define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
-#define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
-#define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
-#define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
-#define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
-#define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
-#define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame2_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFrame2_GetZbufferMode(p) (p)->GetZbufferMode()
-#define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
-#define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
-#define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
-#define IDirect3DRMFrame2_SetSortMode(p,a) (p)->SetSortMode(a)
-#define IDirect3DRMFrame2_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
-#define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
-#define IDirect3DRMFrame2_Transform(p,a,b) (p)->Transform(a,b)
-/*** IDirect3DRMFrame2 methods ***/
-#define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->AddMoveCallback2(a,b,c)
-#define IDirect3DRMFrame2_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMFrame2_GetBoxEnable(p) (p)->GetBoxEnable()
-#define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->GetAxes(a,b)
-#define IDirect3DRMFrame2_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->GetInheritAxes(a,b)
-#define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
-#define IDirect3DRMFrame2_SetBox(p,a) (p)->SetBox(a)
-#define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
-#define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
-#define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
-#define IDirect3DRMFrame2_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
-#define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
-#define IDirect3DRMFrame2_Save(p,a,b,c) (p)->Save(a,b,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFrame3 interface
- */
-#define INTERFACE IDirect3DRMFrame3
-DECLARE_INTERFACE_(IDirect3DRMFrame3,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFrame3 methods ***/
- STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME3 child) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg, DWORD flags) PURE;
- STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(AddVisual)(THIS_ LPUNKNOWN) PURE;
- STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
- STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
- STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
- STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
- STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_position) PURE;
- STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
- STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
- STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(GetTransform)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMMATRIX4D rmMatrix) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_velocity,
- BOOL with_rotation) PURE;
- STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
- STDMETHOD(GetVisuals)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags,
- D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
- STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME3 target, LPDIRECT3DRMFRAME3 reference, D3DRMFRAMECONSTRAINT) PURE;
- STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
- STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(DeleteVisual)(THIS_ LPUNKNOWN) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
- STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
- STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
- STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
- STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end,
- D3DVALUE *return_density) PURE;
- STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
- STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
- STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
- STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
- STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
- D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
- STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
- D3DVALUE theta) PURE;
- STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
- STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
- BOOL with_rotation) PURE;
- STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
- STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE;
- STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up);
- STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
- STDMETHOD_(BOOL, GetInheritAxes)(THIS);
- STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz);
- STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent);
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
- STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMQUATERNION *q) PURE;
- STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DRMRAY ray, DWORD flags,
- LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE;
- STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, D3DRMSAVEOPTIONS d3dSaveFlags);
- STDMETHOD(TransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
- LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
- STDMETHOD(InverseTransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
- LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
- STDMETHOD(SetTraversalOptions)(THIS_ DWORD flags) PURE;
- STDMETHOD(GetTraversalOptions)(THIS_ LPDWORD pFlags) PURE;
- STDMETHOD(SetSceneFogMethod)(THIS_ DWORD flags) PURE;
- STDMETHOD(GetSceneFogMethod)(THIS_ LPDWORD pFlags) PURE;
- STDMETHOD(SetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
- STDMETHOD(GetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFrame3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFrame3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFrame3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFrame3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFrame3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFrame3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFrame3 methods ***/
-#define IDirect3DRMFrame3_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
-#define IDirect3DRMFrame3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->lpVtbl->AddMoveCallback(p,a,b,c)
-#define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
-#define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
-#define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
-#define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame3_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
-#define IDirect3DRMFrame3_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
-#define IDirect3DRMFrame3_GetColor(p) (p)->lpVtbl->GetColor(p)
-#define IDirect3DRMFrame3_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
-#define IDirect3DRMFrame3_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
-#define IDirect3DRMFrame3_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-#define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
-#define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
-#define IDirect3DRMFrame3_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
-#define IDirect3DRMFrame3_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
-#define IDirect3DRMFrame3_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
-#define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
-#define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->lpVtbl->GetVisuals(p,a,b)
-#define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
-#define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
-#define IDirect3DRMFrame3_Move(p,a) (p)->lpVtbl->Move(p,a)
-#define IDirect3DRMFrame3_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
-#define IDirect3DRMFrame3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
-#define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
-#define IDirect3DRMFrame3_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
-#define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
-#define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
-#define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
-#define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
-#define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
-#define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
-#define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
-#define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
-#define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
-#define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFrame3_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
-#define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
-#define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
-#define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame3_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
-#define IDirect3DRMFrame3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
-#define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
-#define IDirect3DRMFrame3_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-#define IDirect3DRMFrame3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMFrame3_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
-#define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
-#define IDirect3DRMFrame3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DRMFrame3_GetInheritAxes(p) (p)->lpVtbl->GetInheritAxes(p)
-#define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
-#define IDirect3DRMFrame3_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
-#define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
-#define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
-#define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
-#define IDirect3DRMFrame3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
-#define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
-#define IDirect3DRMFrame3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->lpVtbl->TransformVectors(p,a,b,c,d)
-#define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->lpVtbl->InverseTransformVectors(p,a,b,c,d)
-#define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->lpVtbl->SetTraversalOptions(p,a)
-#define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->lpVtbl->GetTraversalOptions(p,a)
-#define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->lpVtbl->SetSceneFogMethod(p,a)
-#define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->lpVtbl->GetSceneFogMethod(p,a)
-#define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->lpVtbl->SetMaterialOverride(p,a)
-#define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->lpVtbl->GetMaterialOverride(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFrame3_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFrame3_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFrame3_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFrame3_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFrame3_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFrame3_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFrame3 methods ***/
-#define IDirect3DRMFrame3_AddChild(p,a) (p)->AddChild(a)
-#define IDirect3DRMFrame3_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->AddMoveCallback(a,b,c)
-#define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->AddTransform(a,b)
-#define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
-#define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
-#define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
-#define IDirect3DRMFrame3_AddVisual(p,a) (p)->AddVisual(a)
-#define IDirect3DRMFrame3_GetChildren(p,a) (p)->GetChildren(a)
-#define IDirect3DRMFrame3_GetColor(p) (p)->GetColor()
-#define IDirect3DRMFrame3_GetLights(p,a) (p)->GetLights(a)
-#define IDirect3DRMFrame3_GetMaterialMode(p) (p)->GetMaterialMode()
-#define IDirect3DRMFrame3_GetParent(p,a) (p)->GetParent(a)
-#define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->GetPosition(a,b)
-#define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
-#define IDirect3DRMFrame3_GetScene(p,a) (p)->GetScene(a)
-#define IDirect3DRMFrame3_GetSortMode(p) (p)->GetSortMode()
-#define IDirect3DRMFrame3_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
-#define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
-#define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->GetVisuals(a,b)
-#define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
-#define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
-#define IDirect3DRMFrame3_Move(p,a) (p)->Move(a)
-#define IDirect3DRMFrame3_DeleteChild(p,a) (p)->DeleteChild(a)
-#define IDirect3DRMFrame3_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
-#define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->DeleteVisual(a)
-#define IDirect3DRMFrame3_GetSceneBackground(p) (p)->GetSceneBackground()
-#define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->GetSceneFogColor()
-#define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
-#define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->GetSceneFogMode()
-#define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
-#define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
-#define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
-#define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
-#define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
-#define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
-#define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame3_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFrame3_GetZbufferMode(p) (p)->GetZbufferMode()
-#define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
-#define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
-#define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
-#define IDirect3DRMFrame3_SetSortMode(p,a) (p)->SetSortMode(a)
-#define IDirect3DRMFrame3_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
-#define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
-#define IDirect3DRMFrame3_Transform(p,a,b) (p)->Transform(a,b)
-#define IDirect3DRMFrame3_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMFrame3_GetBoxEnable(p) (p)->GetBoxEnable()
-#define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->GetAxes(a,b)
-#define IDirect3DRMFrame3_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DRMFrame3_GetInheritAxes(p) (p)->GetInheritAxes()
-#define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
-#define IDirect3DRMFrame3_SetBox(p,a) (p)->SetBox(a)
-#define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
-#define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
-#define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
-#define IDirect3DRMFrame3_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
-#define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
-#define IDirect3DRMFrame3_Save(p,a,b,c) (p)->Save(a,b,c)
-#define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->TransformVectors(a,b,c,d)
-#define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->InverseTransformVectors(a,b,c,d)
-#define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->SetTraversalOptions(a)
-#define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->GetTraversalOptions(a)
-#define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->SetSceneFogMethod(a)
-#define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->GetSceneFogMethod(a)
-#define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->SetMaterialOverride(a)
-#define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->GetMaterialOverride(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMMesh interface
- */
-#define INTERFACE IDirect3DRMMesh
-DECLARE_INTERFACE_(IDirect3DRMMesh,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMMesh methods ***/
- STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
- STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
- STDMETHOD(AddGroup)(THIS_ unsigned vCount, unsigned fCount, unsigned vPerFace, unsigned *fData,
- D3DRMGROUPINDEX *returnId) PURE;
- STDMETHOD(SetVertices)(THIS_ D3DRMGROUPINDEX id, unsigned index, unsigned count,
- D3DRMVERTEX *values) PURE;
- STDMETHOD(SetGroupColor)(THIS_ D3DRMGROUPINDEX id, D3DCOLOR value) PURE;
- STDMETHOD(SetGroupColorRGB)(THIS_ D3DRMGROUPINDEX id, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetGroupMapping)(THIS_ D3DRMGROUPINDEX id, D3DRMMAPPING value) PURE;
- STDMETHOD(SetGroupQuality)(THIS_ D3DRMGROUPINDEX id, D3DRMRENDERQUALITY value) PURE;
- STDMETHOD(SetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL value) PURE;
- STDMETHOD(SetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE value) PURE;
- STDMETHOD_(unsigned, GetGroupCount)(THIS) PURE;
- STDMETHOD(GetGroup)(THIS_ D3DRMGROUPINDEX id, unsigned *vCount, unsigned *fCount, unsigned *vPerFace,
- DWORD *fDataSize, unsigned *fData) PURE;
- STDMETHOD(GetVertices)(THIS_ D3DRMGROUPINDEX id, DWORD index, DWORD count, D3DRMVERTEX *returnPtr) PURE;
- STDMETHOD_(D3DCOLOR, GetGroupColor)(THIS_ D3DRMGROUPINDEX id) PURE;
- STDMETHOD_(D3DRMMAPPING, GetGroupMapping)(THIS_ D3DRMGROUPINDEX id) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetGroupQuality)(THIS_ D3DRMGROUPINDEX id) PURE;
- STDMETHOD(GetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL *returnPtr) PURE;
- STDMETHOD(GetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE *returnPtr) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMMesh_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMMesh methods ***/
-#define IDirect3DRMMesh_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define IDirect3DRMMesh_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
-#define IDirect3DRMMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->lpVtbl->AddGroup(p,a,b,c,d,e)
-#define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->lpVtbl->SetVertices(p,a,b,c,d)
-#define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->lpVtbl->SetGroupColor(p,a,b)
-#define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->lpVtbl->SetGroupColorRGB(p,a,b,c,d)
-#define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->lpVtbl->SetGroupMapping(p,a,b)
-#define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->lpVtbl->SetGroupQuality(p,a,b)
-#define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->lpVtbl->SetGroupMaterial(p,a,b)
-#define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->lpVtbl->SetGroupTexture(p,a,b)
-#define IDirect3DRMMesh_GetGroupCount(p) (p)->lpVtbl->GetGroupCount(p)
-#define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->lpVtbl->GetGroup(p,a,b,c,d,e,f)
-#define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->lpVtbl->GetVertices(p,a,b,c,d)
-#define IDirect3DRMMesh_GetGroupColor(p,a) (p)->lpVtbl->GetGroupColor(p,a)
-#define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->lpVtbl->GetGroupMapping(p,a)
-#define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->lpVtbl->GetGroupQuality(p,a)
-#define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(p,a,b)
-#define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMMesh_AddRef(p) (p)->AddRef()
-#define IDirect3DRMMesh_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMMesh_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMMesh_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMMesh_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMMesh_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMMesh methods ***/
-#define IDirect3DRMMesh_Scale(p,a,b,c) (p)->Scale(a,b,c)
-#define IDirect3DRMMesh_Translate(p,a,b,c) (p)->Translate(a,b,c)
-#define IDirect3DRMMesh_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->AddGroup(a,b,c,d,e)
-#define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->SetVertices(a,b,c,d)
-#define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->SetGroupColor(a,b)
-#define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->SetGroupColorRGB(a,b,c,d)
-#define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->SetGroupMapping(a,b)
-#define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->SetGroupQuality(a,b)
-#define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->SetGroupMaterial(a,b)
-#define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->SetGroupTexture(a,b)
-#define IDirect3DRMMesh_GetGroupCount(p) (p)->GetGroupCount()
-#define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->GetGroup(a,b,c,d,e,f)
-#define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->GetVertices(a,b,c,d)
-#define IDirect3DRMMesh_GetGroupColor(p,a) (p)->GetGroupColor(a)
-#define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->GetGroupMapping(a)
-#define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->GetGroupQuality(a)
-#define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(a,b)
-#define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMProgressiveMesh interface
- */
-#define INTERFACE IDirect3DRMProgressiveMesh
-DECLARE_INTERFACE_(IDirect3DRMProgressiveMesh,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMProgressiveMesh methods ***/
- STDMETHOD(Load) (THIS_ LPVOID pObjLocation, LPVOID pObjId, D3DRMLOADOPTIONS dloLoadflags,
- D3DRMLOADTEXTURECALLBACK pCallback, LPVOID lpArg) PURE;
- STDMETHOD(GetLoadStatus) (THIS_ LPD3DRMPMESHLOADSTATUS pStatus) PURE;
- STDMETHOD(SetMinRenderDetail) (THIS_ D3DVALUE d3dVal) PURE;
- STDMETHOD(Abort) (THIS_ DWORD flags) PURE;
- STDMETHOD(GetFaceDetail) (THIS_ LPDWORD pCount) PURE;
- STDMETHOD(GetVertexDetail) (THIS_ LPDWORD pCount) PURE;
- STDMETHOD(SetFaceDetail) (THIS_ DWORD count) PURE;
- STDMETHOD(SetVertexDetail) (THIS_ DWORD count) PURE;
- STDMETHOD(GetFaceDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
- STDMETHOD(GetVertexDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
- STDMETHOD(GetDetail) (THIS_ D3DVALUE *pdvVal) PURE;
- STDMETHOD(SetDetail) (THIS_ D3DVALUE d3dVal) PURE;
- STDMETHOD(RegisterEvents) (THIS_ HANDLE event, DWORD flags, DWORD reserved) PURE;
- STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *ppD3DRMMesh) PURE;
- STDMETHOD(Duplicate) (THIS_ LPDIRECT3DRMPROGRESSIVEMESH *ppD3DRMPMesh) PURE;
- STDMETHOD(GetBox) (THIS_ LPD3DRMBOX pBBox) PURE;
- STDMETHOD(SetQuality) (THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(GetQuality) (THIS_ LPD3DRMRENDERQUALITY pQuality) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMProgressiveMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMProgressiveMesh_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMProgressiveMesh methods ***/
-#define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->lpVtbl->GetLoadStatus(p,a)
-#define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->lpVtbl->SetMinRenderDetail(p,a)
-#define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->lpVtbl->Abort(p,a)
-#define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->lpVtbl->GetFaceDetail(p,a)
-#define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->lpVtbl->GetVertexDetail(p,a)
-#define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->lpVtbl->SetFaceDetail(p,a)
-#define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->lpVtbl->SetVertexDetail(p,a)
-#define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->lpVtbl->GetFaceDetailRange(p,a,b)
-#define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->lpVtbl->GetVertexDetailRange(p,a,b)
-#define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->lpVtbl->GetDetail(p,a)
-#define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->lpVtbl->SetDetail(p,a)
-#define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->lpVtbl->RegisterEvents(p,a,b,c)
-#define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->lpVtbl->Duplicate(p,a)
-#define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->lpVtbl->GetQuality(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMProgressiveMesh_AddRef(p) (p)->AddRef()
-#define IDirect3DRMProgressiveMesh_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMProgressiveMesh methods ***/
-#define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->GetLoadStatus(a)
-#define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->SetMinRenderDetail(a)
-#define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->Abort(a)
-#define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->GetFaceDetail(a)
-#define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->GetVertexDetail(a)
-#define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->SetFaceDetail(a)
-#define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->SetVertexDetail(a)
-#define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->GetFaceDetailRange(a,b)
-#define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->GetVertexDetailRange(a,b)
-#define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->GetDetail(a)
-#define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->SetDetail(a)
-#define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->RegisterEvents(a,b,c)
-#define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->Duplicate(a)
-#define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->SetQuality(a)
-#define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->GetQuality(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMShadow interface
- */
-#define INTERFACE IDirect3DRMShadow
-DECLARE_INTERFACE_(IDirect3DRMShadow,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMShadow methods ***/
- STDMETHOD(Init)(THIS_ LPDIRECT3DRMVISUAL visual, LPDIRECT3DRMLIGHT light,
- D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMShadow_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMShadow_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMShadow_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMShadow_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMShadow_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMShadow_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMShadow_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMShadow_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMShadow_AddRef(p) (p)->AddRef()
-#define IDirect3DRMShadow_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMShadow_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMShadow_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMShadow_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMShadow_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMShadow_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMShadow_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->Load(a,b,c,d,e,f,g)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMShadow2 interface
- */
-#define INTERFACE IDirect3DRMShadow2
-DECLARE_INTERFACE_(IDirect3DRMShadow2,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMShadow methods ***/
- STDMETHOD(Init)(THIS_ LPUNKNOWN pUNK, LPDIRECT3DRMLIGHT light,
- D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
- /*** IDirect3DRMShadow2 methods ***/
- STDMETHOD(GetVisual)(THIS_ LPDIRECT3DRMVISUAL *) PURE;
- STDMETHOD(SetVisual)(THIS_ LPUNKNOWN pUNK, DWORD) PURE;
- STDMETHOD(GetLight)(THIS_ LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(SetLight)(THIS_ LPDIRECT3DRMLIGHT, DWORD) PURE;
- STDMETHOD(GetPlane)(THIS_ LPD3DVALUE px, LPD3DVALUE py, LPD3DVALUE pz,
- LPD3DVALUE nx, LPD3DVALUE ny, LPD3DVALUE nz) PURE;
- STDMETHOD(SetPlane)(THIS_ D3DVALUE px, D3DVALUE py, D3DVALUE pz,
- D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, DWORD) PURE;
- STDMETHOD(GetOptions)(THIS_ LPDWORD) PURE;
- STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMShadow2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMShadow2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMShadow2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMShadow2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMShadow2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMShadow2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Init(p,a,b,c,d,e,f,g)
-/*** IDirect3DRMShadow2 methods ***/
-#define IDirect3DRMShadow2_GetVisual(p,a) (p)->lpVtbl->GetVisual(p,a)
-#define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->lpVtbl->SetVisual(p,a,b)
-#define IDirect3DRMShadow2_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
-#define IDirect3DRMShadow2_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->GetPlane(p,a,b,c,d,e,f)
-#define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->SetPlane(p,a,b,c,d,e,f)
-#define IDirect3DRMShadow2_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
-#define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMShadow2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMShadow2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMShadow2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMShadow2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMShadow2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMShadow2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->Init(a,b,c,d,e,f,g)
-/*** IDirect3DRMShadow2 methods ***/
-#define IDirect3DRMShadow2_GetVisual(p,a) (p)->GetVisual(a)
-#define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->SetVisual(a,b)
-#define IDirect3DRMShadow2_GetLight(p,a) (p)->GetLight(a)
-#define IDirect3DRMShadow2_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->GetPlane(a,b,c,d,e,f)
-#define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->SetPlane(a,b,c,d,e,f)
-#define IDirect3DRMShadow2_GetOptions(p,a) (p)->GetOptions(a)
-#define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFace interface
- */
-#define INTERFACE IDirect3DRMFace
-DECLARE_INTERFACE_(IDirect3DRMFace,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFace methods ***/
- STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
- STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
- STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFace_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFace_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFace_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFace_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFace_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFace_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFace_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFace_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFace_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFace methods ***/
-#define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
-#define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFace_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFace_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMFace_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
-#define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
-#define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
-#define IDirect3DRMFace_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
-#define IDirect3DRMFace_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFace_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMFace_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
-#define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
-#define IDirect3DRMFace_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFace_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFace_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFace_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFace_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFace_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFace_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFace_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFace_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFace_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFace methods ***/
-#define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
-#define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFace_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFace_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMFace_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
-#define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
-#define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
-#define IDirect3DRMFace_GetNormal(p,a) (p)->GetNormal(a)
-#define IDirect3DRMFace_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFace_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMFace_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
-#define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
-#define IDirect3DRMFace_GetColor(p,a) (p)->GetColor(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFace2 interface
- */
-#define INTERFACE IDirect3DRMFace2
-DECLARE_INTERFACE_(IDirect3DRMFace2,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFace methods ***/
- STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
- STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
- STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFace2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFace2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFace2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFace2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFace2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFace2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFace2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFace2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFace methods ***/
-#define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
-#define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFace2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFace2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMFace2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
-#define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
-#define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
-#define IDirect3DRMFace2_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
-#define IDirect3DRMFace2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFace2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
-#define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
-#define IDirect3DRMFace2_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFace2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFace2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFace2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFace2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFace2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFace2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFace2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFace2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFace methods ***/
-#define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
-#define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFace2_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFace2_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMFace2_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
-#define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
-#define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
-#define IDirect3DRMFace2_GetNormal(p,a) (p)->GetNormal(a)
-#define IDirect3DRMFace2_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFace2_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
-#define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
-#define IDirect3DRMFace2_GetColor(p,a) (p)->GetColor(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMMeshBuilder interface
- */
-#define INTERFACE IDirect3DRMMeshBuilder
-DECLARE_INTERFACE_(IDirect3DRMMeshBuilder,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMMeshBuilder methods ***/
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
- STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
- STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
- STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
- STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
- STDMETHOD(GenerateNormals)(THIS) PURE;
- STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
- STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
- STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
- STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
- STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
- LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
- STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
- STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
- DWORD *face_data_size, DWORD *face_data) PURE;
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
- STDMETHOD_(int, GetFaceCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMMeshBuilder_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMMeshBuilder_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMMeshBuilder_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMMeshBuilder_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMMeshBuilder methods ***/
-#define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
-#define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
-#define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
-#define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
-#define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
-#define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
-#define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
-#define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
-#define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
-#define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
-#define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
-#define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
-#define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
-#define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
-#define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRMMeshBuilder_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
-#define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
-#define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
-#define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMMeshBuilder_AddRef(p) (p)->AddRef()
-#define IDirect3DRMMeshBuilder_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMMeshBuilder_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMMeshBuilder_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMMeshBuilder methods ***/
-#define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->Save(a,b,c)
-#define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->Scale(a,b,c)
-#define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->Translate(a)
-#define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
-#define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->GenerateNormals()
-#define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->GetColorSource()
-#define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)-->AddMesh(a)
-#define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
-#define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->AddFrame(a)
-#define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->AddFace(a)
-#define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
-#define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->SetMateria(a)
-#define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->SetQuality(a)
-#define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->SetPerspective(a)
-#define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
-#define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
-#define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
-#define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
-#define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->GetFaces(a)
-#define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
-#define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRMMeshBuilder_GetQuality(p) (p)->GetQuality()
-#define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->GetPerspective()
-#define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->GetFaceCount()
-#define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->GetVertexColor(a)
-#define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->CreateMesh(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMMeshBuilder2 interface
- */
-#define INTERFACE IDirect3DRMMeshBuilder2
-DECLARE_INTERFACE_(IDirect3DRMMeshBuilder2,IDirect3DRMMeshBuilder)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMMeshBuilder methods ***/
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
- STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
- STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
- STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
- STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
- STDMETHOD(GenerateNormals)(THIS) PURE;
- STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
- STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
- STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
- STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
- STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
- LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
- STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
- STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
- DWORD *face_data_size, DWORD *face_data) PURE;
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
- STDMETHOD_(int, GetFaceCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
- /*** IDirect3DRMMeshBuilder2 methods ***/
- STDMETHOD(GenerateNormals2)(THIS_ D3DVALUE crease, DWORD flags) PURE;
- STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE*) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMMeshBuilder2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMMeshBuilder2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMMeshBuilder methods ***/
-#define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
-#define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
-#define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
-#define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
-#define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
-#define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
-#define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
-#define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
-#define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
-#define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
-#define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
-#define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
-#define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
-#define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
-#define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-/*** IDirect3DRMMeshBuilder2 methods ***/
-#define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->lpVtbl->GenerateNormals2(p,a,b)
-#define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMMeshBuilder2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMMeshBuilder2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMMeshBuilder methods ***/
-#define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->Save(a,b,c)
-#define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->Scale(a,b,c)
-#define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->Translate(a)
-#define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
-#define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->GenerateNormals()
-#define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->GetColorSource()
-#define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)-->AddMesh(a)
-#define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
-#define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->AddFrame(a)
-#define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->AddFace(a)
-#define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
-#define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->SetMateria(a)
-#define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->SetQuality(a)
-#define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->SetPerspective(a)
-#define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
-#define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
-#define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
-#define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
-#define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->GetFaces(a)
-#define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
-#define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->GetQuality()
-#define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->GetPerspective()
-#define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->GetFaceCount()
-#define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->GetVertexColor(a)
-#define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->CreateMesh(a)
-/*** IDirect3DRMMeshBuilder2 methods ***/
-#define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->GenerateNormals2(a,b)
-#define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->GetFace(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMMeshBuilder3 interface
- */
-#define INTERFACE IDirect3DRMMeshBuilder3
-DECLARE_INTERFACE_(IDirect3DRMMeshBuilder3,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMMeshBuilder3 methods ***/
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
- STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
- STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
- STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
- STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
- STDMETHOD(GenerateNormals)(THIS_ D3DVALUE crease, DWORD flags) PURE;
- STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
- STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
- STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3) PURE;
- STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
- STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
- LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
- STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
- STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(GetGeometry)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
- DWORD *face_data_size, DWORD *face_data) PURE;
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE2*) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
- STDMETHOD_(int, GetFaceCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
- STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE2 *) PURE;
- STDMETHOD(GetVertex)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
- STDMETHOD(GetNormal)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
- STDMETHOD(DeleteVertices)(THIS_ DWORD IndexFirst, DWORD count) PURE;
- STDMETHOD(DeleteNormals)(THIS_ DWORD IndexFirst, DWORD count) PURE;
- STDMETHOD(DeleteFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
- STDMETHOD(Empty)(THIS_ DWORD flags) PURE;
- STDMETHOD(Optimize)(THIS_ DWORD flags) PURE;
- STDMETHOD(AddFacesIndexed)(THIS_ DWORD flags, DWORD *pvIndices, DWORD *pIndexFirst, DWORD *pCount) PURE;
- STDMETHOD(CreateSubMesh)(THIS_ LPUNKNOWN *) PURE;
- STDMETHOD(GetParentMesh)(THIS_ DWORD, LPUNKNOWN *) PURE;
- STDMETHOD(GetSubMeshes)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
- STDMETHOD(DeleteSubMesh)(THIS_ LPUNKNOWN) PURE;
- STDMETHOD(Enable)(THIS_ DWORD) PURE;
- STDMETHOD(GetEnable)(THIS_ DWORD *) PURE;
- STDMETHOD(AddTriangles)(THIS_ DWORD flags, DWORD format, DWORD VertexCount, LPVOID pvData) PURE;
- STDMETHOD(SetVertices)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
- STDMETHOD(SetNormals)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
- STDMETHOD(GetNormals)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
- STDMETHOD_(int, GetNormalCount)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMMeshBuilder3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMMeshBuilder3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMMeshBuilder3 methods ***/
-#define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
-#define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->lpVtbl->GenerateNormals(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
-#define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
-#define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
-#define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
-#define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
-#define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
-#define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
-#define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
-#define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
-#define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->lpVtbl->GetGeometry(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
-#define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
-#define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
-#define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->lpVtbl->GetVertex(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->lpVtbl->GetNormal(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->lpVtbl->DeleteVertices(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->lpVtbl->DeleteNormals(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->lpVtbl->DeleteFace(p,a)
-#define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->lpVtbl->Empty(p,a)
-#define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->lpVtbl->Optimize(p,a)
-#define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->lpVtbl->AddFacesIndexed(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->lpVtbl->CreateSubMesh(p,a)
-#define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->lpVtbl->GetParentMesh(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->lpVtbl->GetSubMeshes(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->lpVtbl->DeleteSubMesh(p,a)
-#define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->lpVtbl->Enable(p,a)
-#define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->lpVtbl->AddTriangles(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->lpVtbl->SetVertices(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->lpVtbl->SetNormals(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->lpVtbl->GetNormals(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->lpVtbl->GetNormalCount(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMMeshBuilder3_AddRef(p) (p)->AddRef()
-#define IDirect3DRMMeshBuilder3_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMMeshBuilder3 methods ***/
-#define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->Save(a,b,c)
-#define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->Scale(a,b,c)
-#define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->Translate(a)
-#define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
-#define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->GenerateNormals(a,b)
-#define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->GetColorSource()
-#define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)-->AddMesh(a)
-#define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
-#define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->AddFrame(a)
-#define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->AddFace(a)
-#define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
-#define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->SetMateria(a)
-#define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->SetQuality(a)
-#define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->SetPerspective(a)
-#define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
-#define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
-#define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->GetFaces(a)
-#define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->GetGeometry(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
-#define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->GetQuality()
-#define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->GetPerspective()
-#define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->GetFaceCount()
-#define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->GetVertexColor(a)
-#define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->GetFace(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->GetVertex(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->GetNormal(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->DeleteVertices(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->DeleteNormals(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->DeleteFace(p,a)
-#define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->Empty(p,a)
-#define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->Optimize(p,a)
-#define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->AddFacesIndexed(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->CreateSubMesh(p,a)
-#define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->GetParentMesh(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->GetSubMeshes(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->DeleteSubMesh(p,a)
-#define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->Enable(p,a)
-#define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->AddTriangles(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->SetVertices(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->GetVertices(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->SetNormals(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->GetNormals(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->GetNormalCount(p,a)
-#endif
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* __D3DRMOBJ_H__ */
+++ /dev/null
-/*
- * Copyright (C) 2000 Peter Hunnisett
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-/* FIXME: Need to add C++ code for certain structs for headers - this is going to be a problem
- if WINE continues to only use C code - I suppose that we could always inline in
- the header file to get around that little problem... */
-/* FIXME: We need to implement versioning on everything directx 5 and up if these headers
- are going to be generically useful for directx stuff */
-
-#ifndef __WINE_D3DTYPES_H
-#define __WINE_D3DTYPES_H
-
-#include <_mingw_dxhelper.h>
-
-#ifndef __WINESRC__
-# include <windows.h>
-#endif
-
-#include <float.h>
-#include <ddraw.h>
-
-#define D3DVALP(val, prec) ((float)(val))
-#define D3DVAL(val) ((float)(val))
-#define D3DDivide(a, b) (float)((double) (a) / (double) (b))
-#define D3DMultiply(a, b) ((a) * (b))
-
-typedef LONG D3DFIXED;
-
-
-#ifndef RGB_MAKE
-#define CI_GETALPHA(ci) ((ci) >> 24)
-#define CI_GETINDEX(ci) (((ci) >> 8) & 0xffff)
-#define CI_GETFRACTION(ci) ((ci) & 0xff)
-#define CI_ROUNDINDEX(ci) CI_GETINDEX((ci) + 0x80)
-#define CI_MASKALPHA(ci) ((ci) & 0xffffff)
-#define CI_MAKE(a, i, f) (((a) << 24) | ((i) << 8) | (f))
-
-#define RGBA_GETALPHA(rgb) ((rgb) >> 24)
-#define RGBA_GETRED(rgb) (((rgb) >> 16) & 0xff)
-#define RGBA_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
-#define RGBA_GETBLUE(rgb) ((rgb) & 0xff)
-#define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
-
-#define D3DRGB(r, g, b) \
- (0xff000000 | ( ((LONG)((r) * 255)) << 16) | (((LONG)((g) * 255)) << 8) | (LONG)((b) * 255))
-#define D3DRGBA(r, g, b, a) \
- ( (((LONG)((a) * 255)) << 24) | (((LONG)((r) * 255)) << 16) \
- | (((LONG)((g) * 255)) << 8) | (LONG)((b) * 255) \
- )
-
-#define RGB_GETRED(rgb) (((rgb) >> 16) & 0xff)
-#define RGB_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
-#define RGB_GETBLUE(rgb) ((rgb) & 0xff)
-#define RGBA_SETALPHA(rgba, x) (((x) << 24) | ((rgba) & 0x00ffffff))
-#define RGB_MAKE(r, g, b) ((D3DCOLOR) (((r) << 16) | ((g) << 8) | (b)))
-#define RGBA_TORGB(rgba) ((D3DCOLOR) ((rgba) & 0xffffff))
-#define RGB_TORGBA(rgb) ((D3DCOLOR) ((rgb) | 0xff000000))
-
-#endif
-
-#define D3DENUMRET_CANCEL DDENUMRET_CANCEL
-#define D3DENUMRET_OK DDENUMRET_OK
-
-typedef HRESULT (CALLBACK *LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset);
-typedef HRESULT (CALLBACK *LPD3DENUMTEXTUREFORMATSCALLBACK)(LPDDSURFACEDESC lpDdsd, LPVOID lpContext);
-typedef HRESULT (CALLBACK *LPD3DENUMPIXELFORMATSCALLBACK)(LPDDPIXELFORMAT lpDDPixFmt, LPVOID lpContext);
-
-#ifndef DX_SHARED_DEFINES
-
-typedef float D3DVALUE,*LPD3DVALUE;
-
-#ifndef D3DCOLOR_DEFINED
-typedef DWORD D3DCOLOR, *LPD3DCOLOR;
-#define D3DCOLOR_DEFINED
-#endif
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- union {
- D3DVALUE x;
- D3DVALUE dvX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE y;
- D3DVALUE dvY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE z;
- D3DVALUE dvZ;
- } DUMMYUNIONNAME3;
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
- /* the definitions for these methods are in d3dvec.inl */
-public:
- /*** constructors ***/
- _D3DVECTOR() {}
- _D3DVECTOR(D3DVALUE f);
- _D3DVECTOR(D3DVALUE _x, D3DVALUE _y, D3DVALUE _z);
- _D3DVECTOR(const D3DVALUE f[3]);
-
- /*** assignment operators ***/
- _D3DVECTOR& operator += (const _D3DVECTOR& v);
- _D3DVECTOR& operator -= (const _D3DVECTOR& v);
- _D3DVECTOR& operator *= (const _D3DVECTOR& v);
- _D3DVECTOR& operator /= (const _D3DVECTOR& v);
- _D3DVECTOR& operator *= (D3DVALUE s);
- _D3DVECTOR& operator /= (D3DVALUE s);
-
- /*** unary operators ***/
- friend _D3DVECTOR operator + (const _D3DVECTOR& v);
- friend _D3DVECTOR operator - (const _D3DVECTOR& v);
-
- /*** binary operators ***/
- friend _D3DVECTOR operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- friend _D3DVECTOR operator - (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
-
- friend _D3DVECTOR operator * (const _D3DVECTOR& v, D3DVALUE s);
- friend _D3DVECTOR operator * (D3DVALUE s, const _D3DVECTOR& v);
- friend _D3DVECTOR operator / (const _D3DVECTOR& v, D3DVALUE s);
-
- friend D3DVALUE SquareMagnitude(const _D3DVECTOR& v);
- friend D3DVALUE Magnitude(const _D3DVECTOR& v);
-
- friend _D3DVECTOR Normalize(const _D3DVECTOR& v);
-
- friend D3DVALUE DotProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- friend _D3DVECTOR CrossProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2);
-#endif
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-
-#ifndef LPD3DVECTOR_DEFINED
-typedef D3DVECTOR *LPD3DVECTOR;
-#define LPD3DVECTOR_DEFINED
-#endif
-
-#define DX_SHARED_DEFINES
-#endif /* DX_SHARED_DEFINES */
-
-typedef DWORD D3DMATERIALHANDLE, *LPD3DMATERIALHANDLE;
-typedef DWORD D3DTEXTUREHANDLE, *LPD3DTEXTUREHANDLE;
-typedef DWORD D3DMATRIXHANDLE, *LPD3DMATRIXHANDLE;
-
-typedef struct _D3DCOLORVALUE {
- union {
- D3DVALUE r;
- D3DVALUE dvR;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE g;
- D3DVALUE dvG;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE b;
- D3DVALUE dvB;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE a;
- D3DVALUE dvA;
- } DUMMYUNIONNAME4;
-} D3DCOLORVALUE,*LPD3DCOLORVALUE;
-
-typedef struct _D3DRECT {
- union {
- LONG x1;
- LONG lX1;
- } DUMMYUNIONNAME1;
- union {
- LONG y1;
- LONG lY1;
- } DUMMYUNIONNAME2;
- union {
- LONG x2;
- LONG lX2;
- } DUMMYUNIONNAME3;
- union {
- LONG y2;
- LONG lY2;
- } DUMMYUNIONNAME4;
-} D3DRECT, *LPD3DRECT;
-
-typedef struct _D3DHVERTEX {
- DWORD dwFlags;
- union {
- D3DVALUE hx;
- D3DVALUE dvHX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE hy;
- D3DVALUE dvHY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE hz;
- D3DVALUE dvHZ;
- } DUMMYUNIONNAME3;
-} D3DHVERTEX, *LPD3DHVERTEX;
-
-/*
- * Transformed/lit vertices
- */
-typedef struct _D3DTLVERTEX {
- union {
- D3DVALUE sx;
- D3DVALUE dvSX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE sy;
- D3DVALUE dvSY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE sz;
- D3DVALUE dvSZ;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE rhw;
- D3DVALUE dvRHW;
- } DUMMYUNIONNAME4;
- union {
- D3DCOLOR color;
- D3DCOLOR dcColor;
- } DUMMYUNIONNAME5;
- union {
- D3DCOLOR specular;
- D3DCOLOR dcSpecular;
- } DUMMYUNIONNAME6;
- union {
- D3DVALUE tu;
- D3DVALUE dvTU;
- } DUMMYUNIONNAME7;
- union {
- D3DVALUE tv;
- D3DVALUE dvTV;
- } DUMMYUNIONNAME8;
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
-public:
- _D3DTLVERTEX() {}
- _D3DTLVERTEX(const D3DVECTOR& v, float _rhw, D3DCOLOR _color, D3DCOLOR _specular, float _tu, float _tv) {
- sx = v.x; sy = v.y; sz = v.z; rhw = _rhw;
- color = _color; specular = _specular;
- tu = _tu; tv = _tv;
- }
-#endif
-} D3DTLVERTEX, *LPD3DTLVERTEX;
-
-typedef struct _D3DLVERTEX {
- union {
- D3DVALUE x;
- D3DVALUE dvX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE y;
- D3DVALUE dvY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE z;
- D3DVALUE dvZ;
- } DUMMYUNIONNAME3;
- DWORD dwReserved;
- union {
- D3DCOLOR color;
- D3DCOLOR dcColor;
- } DUMMYUNIONNAME4;
- union {
- D3DCOLOR specular;
- D3DCOLOR dcSpecular;
- } DUMMYUNIONNAME5;
- union {
- D3DVALUE tu;
- D3DVALUE dvTU;
- } DUMMYUNIONNAME6;
- union {
- D3DVALUE tv;
- D3DVALUE dvTV;
- } DUMMYUNIONNAME7;
-} D3DLVERTEX, *LPD3DLVERTEX;
-
-typedef struct _D3DVERTEX {
- union {
- D3DVALUE x;
- D3DVALUE dvX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE y;
- D3DVALUE dvY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE z;
- D3DVALUE dvZ;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE nx;
- D3DVALUE dvNX;
- } DUMMYUNIONNAME4;
- union {
- D3DVALUE ny;
- D3DVALUE dvNY;
- } DUMMYUNIONNAME5;
- union {
- D3DVALUE nz;
- D3DVALUE dvNZ;
- } DUMMYUNIONNAME6;
- union {
- D3DVALUE tu;
- D3DVALUE dvTU;
- } DUMMYUNIONNAME7;
- union {
- D3DVALUE tv;
- D3DVALUE dvTV;
- } DUMMYUNIONNAME8;
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
-public:
- _D3DVERTEX() {}
- _D3DVERTEX(const D3DVECTOR& v, const D3DVECTOR& n, float _tu, float _tv) {
- x = v.x; y = v.y; z = v.z;
- nx = n.x; ny = n.y; nz = n.z;
- tu = _tu; tv = _tv;
- }
-#endif
-} D3DVERTEX, *LPD3DVERTEX;
-
-typedef struct _D3DMATRIX {
- D3DVALUE _11, _12, _13, _14;
- D3DVALUE _21, _22, _23, _24;
- D3DVALUE _31, _32, _33, _34;
- D3DVALUE _41, _42, _43, _44;
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
- _D3DMATRIX() { }
-
- /* This is different from MS, but avoids anonymous structs. */
- D3DVALUE &operator () (int r, int c)
- { return ((D3DVALUE [4][4])&_11)[r][c]; }
- const D3DVALUE &operator() (int r, int c) const
- { return ((const D3DVALUE [4][4])&_11)[r][c]; }
-#endif
-} D3DMATRIX, *LPD3DMATRIX;
-
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
-#include <d3dvec.inl>
-#endif
-
-typedef struct _D3DVIEWPORT {
- DWORD dwSize;
- DWORD dwX;
- DWORD dwY;
- DWORD dwWidth;
- DWORD dwHeight;
- D3DVALUE dvScaleX;
- D3DVALUE dvScaleY;
- D3DVALUE dvMaxX;
- D3DVALUE dvMaxY;
- D3DVALUE dvMinZ;
- D3DVALUE dvMaxZ;
-} D3DVIEWPORT, *LPD3DVIEWPORT;
-
-typedef struct _D3DVIEWPORT2 {
- DWORD dwSize;
- DWORD dwX;
- DWORD dwY;
- DWORD dwWidth;
- DWORD dwHeight;
- D3DVALUE dvClipX;
- D3DVALUE dvClipY;
- D3DVALUE dvClipWidth;
- D3DVALUE dvClipHeight;
- D3DVALUE dvMinZ;
- D3DVALUE dvMaxZ;
-} D3DVIEWPORT2, *LPD3DVIEWPORT2;
-
-typedef struct _D3DVIEWPORT7 {
- DWORD dwX;
- DWORD dwY;
- DWORD dwWidth;
- DWORD dwHeight;
- D3DVALUE dvMinZ;
- D3DVALUE dvMaxZ;
-} D3DVIEWPORT7, *LPD3DVIEWPORT7;
-
-#define D3DMAXUSERCLIPPLANES 32
-
-#define D3DCLIPPLANE0 (1 << 0)
-#define D3DCLIPPLANE1 (1 << 1)
-#define D3DCLIPPLANE2 (1 << 2)
-#define D3DCLIPPLANE3 (1 << 3)
-#define D3DCLIPPLANE4 (1 << 4)
-#define D3DCLIPPLANE5 (1 << 5)
-
-#define D3DCLIP_LEFT 0x00000001
-#define D3DCLIP_RIGHT 0x00000002
-#define D3DCLIP_TOP 0x00000004
-#define D3DCLIP_BOTTOM 0x00000008
-#define D3DCLIP_FRONT 0x00000010
-#define D3DCLIP_BACK 0x00000020
-#define D3DCLIP_GEN0 0x00000040
-#define D3DCLIP_GEN1 0x00000080
-#define D3DCLIP_GEN2 0x00000100
-#define D3DCLIP_GEN3 0x00000200
-#define D3DCLIP_GEN4 0x00000400
-#define D3DCLIP_GEN5 0x00000800
-
-#define D3DSTATUS_CLIPUNIONLEFT D3DCLIP_LEFT
-#define D3DSTATUS_CLIPUNIONRIGHT D3DCLIP_RIGHT
-#define D3DSTATUS_CLIPUNIONTOP D3DCLIP_TOP
-#define D3DSTATUS_CLIPUNIONBOTTOM D3DCLIP_BOTTOM
-#define D3DSTATUS_CLIPUNIONFRONT D3DCLIP_FRONT
-#define D3DSTATUS_CLIPUNIONBACK D3DCLIP_BACK
-#define D3DSTATUS_CLIPUNIONGEN0 D3DCLIP_GEN0
-#define D3DSTATUS_CLIPUNIONGEN1 D3DCLIP_GEN1
-#define D3DSTATUS_CLIPUNIONGEN2 D3DCLIP_GEN2
-#define D3DSTATUS_CLIPUNIONGEN3 D3DCLIP_GEN3
-#define D3DSTATUS_CLIPUNIONGEN4 D3DCLIP_GEN4
-#define D3DSTATUS_CLIPUNIONGEN5 D3DCLIP_GEN5
-
-#define D3DSTATUS_CLIPINTERSECTIONLEFT 0x00001000
-#define D3DSTATUS_CLIPINTERSECTIONRIGHT 0x00002000
-#define D3DSTATUS_CLIPINTERSECTIONTOP 0x00004000
-#define D3DSTATUS_CLIPINTERSECTIONBOTTOM 0x00008000
-#define D3DSTATUS_CLIPINTERSECTIONFRONT 0x00010000
-#define D3DSTATUS_CLIPINTERSECTIONBACK 0x00020000
-#define D3DSTATUS_CLIPINTERSECTIONGEN0 0x00040000
-#define D3DSTATUS_CLIPINTERSECTIONGEN1 0x00080000
-#define D3DSTATUS_CLIPINTERSECTIONGEN2 0x00100000
-#define D3DSTATUS_CLIPINTERSECTIONGEN3 0x00200000
-#define D3DSTATUS_CLIPINTERSECTIONGEN4 0x00400000
-#define D3DSTATUS_CLIPINTERSECTIONGEN5 0x00800000
-#define D3DSTATUS_ZNOTVISIBLE 0x01000000
-
-#define D3DSTATUS_CLIPUNIONALL ( \
- D3DSTATUS_CLIPUNIONLEFT | \
- D3DSTATUS_CLIPUNIONRIGHT | \
- D3DSTATUS_CLIPUNIONTOP | \
- D3DSTATUS_CLIPUNIONBOTTOM | \
- D3DSTATUS_CLIPUNIONFRONT | \
- D3DSTATUS_CLIPUNIONBACK | \
- D3DSTATUS_CLIPUNIONGEN0 | \
- D3DSTATUS_CLIPUNIONGEN1 | \
- D3DSTATUS_CLIPUNIONGEN2 | \
- D3DSTATUS_CLIPUNIONGEN3 | \
- D3DSTATUS_CLIPUNIONGEN4 | \
- D3DSTATUS_CLIPUNIONGEN5 \
- )
-
-#define D3DSTATUS_CLIPINTERSECTIONALL ( \
- D3DSTATUS_CLIPINTERSECTIONLEFT | \
- D3DSTATUS_CLIPINTERSECTIONRIGHT | \
- D3DSTATUS_CLIPINTERSECTIONTOP | \
- D3DSTATUS_CLIPINTERSECTIONBOTTOM | \
- D3DSTATUS_CLIPINTERSECTIONFRONT | \
- D3DSTATUS_CLIPINTERSECTIONBACK | \
- D3DSTATUS_CLIPINTERSECTIONGEN0 | \
- D3DSTATUS_CLIPINTERSECTIONGEN1 | \
- D3DSTATUS_CLIPINTERSECTIONGEN2 | \
- D3DSTATUS_CLIPINTERSECTIONGEN3 | \
- D3DSTATUS_CLIPINTERSECTIONGEN4 | \
- D3DSTATUS_CLIPINTERSECTIONGEN5 \
- )
-
-#define D3DSTATUS_DEFAULT ( \
- D3DSTATUS_CLIPINTERSECTIONALL | \
- D3DSTATUS_ZNOTVISIBLE)
-
-#define D3DTRANSFORM_CLIPPED 0x00000001
-#define D3DTRANSFORM_UNCLIPPED 0x00000002
-
-typedef struct _D3DTRANSFORMDATA {
- DWORD dwSize;
- LPVOID lpIn;
- DWORD dwInSize;
- LPVOID lpOut;
- DWORD dwOutSize;
- LPD3DHVERTEX lpHOut;
- DWORD dwClip;
- DWORD dwClipIntersection;
- DWORD dwClipUnion;
- D3DRECT drExtent;
-} D3DTRANSFORMDATA, *LPD3DTRANSFORMDATA;
-
-typedef struct _D3DLIGHTINGELEMENT {
- D3DVECTOR dvPosition;
- D3DVECTOR dvNormal;
-} D3DLIGHTINGELEMENT, *LPD3DLIGHTINGELEMENT;
-
-typedef struct _D3DMATERIAL {
- DWORD dwSize;
- union {
- D3DCOLORVALUE diffuse;
- D3DCOLORVALUE dcvDiffuse;
- } DUMMYUNIONNAME;
- union {
- D3DCOLORVALUE ambient;
- D3DCOLORVALUE dcvAmbient;
- } DUMMYUNIONNAME1;
- union {
- D3DCOLORVALUE specular;
- D3DCOLORVALUE dcvSpecular;
- } DUMMYUNIONNAME2;
- union {
- D3DCOLORVALUE emissive;
- D3DCOLORVALUE dcvEmissive;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE power;
- D3DVALUE dvPower;
- } DUMMYUNIONNAME4;
- D3DTEXTUREHANDLE hTexture;
- DWORD dwRampSize;
-} D3DMATERIAL, *LPD3DMATERIAL;
-
-typedef struct _D3DMATERIAL7 {
- union {
- D3DCOLORVALUE diffuse;
- D3DCOLORVALUE dcvDiffuse;
- } DUMMYUNIONNAME;
- union {
- D3DCOLORVALUE ambient;
- D3DCOLORVALUE dcvAmbient;
- } DUMMYUNIONNAME1;
- union {
- D3DCOLORVALUE specular;
- D3DCOLORVALUE dcvSpecular;
- } DUMMYUNIONNAME2;
- union {
- D3DCOLORVALUE emissive;
- D3DCOLORVALUE dcvEmissive;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE power;
- D3DVALUE dvPower;
- } DUMMYUNIONNAME4;
-} D3DMATERIAL7, *LPD3DMATERIAL7;
-
-typedef enum {
- D3DLIGHT_POINT = 1,
- D3DLIGHT_SPOT = 2,
- D3DLIGHT_DIRECTIONAL = 3,
- D3DLIGHT_PARALLELPOINT = 4,
- D3DLIGHT_GLSPOT = 5,
- D3DLIGHT_FORCE_DWORD = 0x7fffffff
-} D3DLIGHTTYPE;
-
-typedef struct _D3DLIGHT {
- DWORD dwSize;
- D3DLIGHTTYPE dltType;
- D3DCOLORVALUE dcvColor;
- D3DVECTOR dvPosition;
- D3DVECTOR dvDirection;
- D3DVALUE dvRange;
- D3DVALUE dvFalloff;
- D3DVALUE dvAttenuation0;
- D3DVALUE dvAttenuation1;
- D3DVALUE dvAttenuation2;
- D3DVALUE dvTheta;
- D3DVALUE dvPhi;
-} D3DLIGHT,*LPD3DLIGHT;
-
-typedef struct _D3DLIGHT7 {
- D3DLIGHTTYPE dltType;
- D3DCOLORVALUE dcvDiffuse;
- D3DCOLORVALUE dcvSpecular;
- D3DCOLORVALUE dcvAmbient;
- D3DVECTOR dvPosition;
- D3DVECTOR dvDirection;
- D3DVALUE dvRange;
- D3DVALUE dvFalloff;
- D3DVALUE dvAttenuation0;
- D3DVALUE dvAttenuation1;
- D3DVALUE dvAttenuation2;
- D3DVALUE dvTheta;
- D3DVALUE dvPhi;
-} D3DLIGHT7, *LPD3DLIGHT7;
-
-#define D3DLIGHT_ACTIVE 0x00000001
-#define D3DLIGHT_NO_SPECULAR 0x00000002
-#define D3DLIGHT_ALL (D3DLIGHT_ACTIVE | D3DLIGHT_NO_SPECULAR) /* 0x3 */
-
-#define D3DLIGHT_RANGE_MAX ((float)sqrt(FLT_MAX))
-
-typedef struct _D3DLIGHT2 {
- DWORD dwSize;
- D3DLIGHTTYPE dltType;
- D3DCOLORVALUE dcvColor;
- D3DVECTOR dvPosition;
- D3DVECTOR dvDirection;
- D3DVALUE dvRange;
- D3DVALUE dvFalloff;
- D3DVALUE dvAttenuation0;
- D3DVALUE dvAttenuation1;
- D3DVALUE dvAttenuation2;
- D3DVALUE dvTheta;
- D3DVALUE dvPhi;
- DWORD dwFlags;
-} D3DLIGHT2, *LPD3DLIGHT2;
-
-typedef struct _D3DLIGHTDATA {
- DWORD dwSize;
- LPD3DLIGHTINGELEMENT lpIn;
- DWORD dwInSize;
- LPD3DTLVERTEX lpOut;
- DWORD dwOutSize;
-} D3DLIGHTDATA, *LPD3DLIGHTDATA;
-
-#define D3DCOLOR_MONO 1
-#define D3DCOLOR_RGB 2
-
-typedef DWORD D3DCOLORMODEL;
-
-
-#ifndef D3DCLEAR_TARGET
-#define D3DCLEAR_TARGET 0x00000001
-#endif
-#ifndef D3DCLEAR_ZBUFFER
-#define D3DCLEAR_ZBUFFER 0x00000002
-#endif
-#ifndef D3DCLEAR_STENCIL
-#define D3DCLEAR_STENCIL 0x00000004
-#endif
-
-typedef enum _D3DOPCODE {
- D3DOP_POINT = 1,
- D3DOP_LINE = 2,
- D3DOP_TRIANGLE = 3,
- D3DOP_MATRIXLOAD = 4,
- D3DOP_MATRIXMULTIPLY = 5,
- D3DOP_STATETRANSFORM = 6,
- D3DOP_STATELIGHT = 7,
- D3DOP_STATERENDER = 8,
- D3DOP_PROCESSVERTICES = 9,
- D3DOP_TEXTURELOAD = 10,
- D3DOP_EXIT = 11,
- D3DOP_BRANCHFORWARD = 12,
- D3DOP_SPAN = 13,
- D3DOP_SETSTATUS = 14,
-
- D3DOP_FORCE_DWORD = 0x7fffffff
-} D3DOPCODE;
-
-typedef struct _D3DINSTRUCTION {
- BYTE bOpcode;
- BYTE bSize;
- WORD wCount;
-} D3DINSTRUCTION, *LPD3DINSTRUCTION;
-
-typedef struct _D3DTEXTURELOAD {
- D3DTEXTUREHANDLE hDestTexture;
- D3DTEXTUREHANDLE hSrcTexture;
-} D3DTEXTURELOAD, *LPD3DTEXTURELOAD;
-
-typedef struct _D3DPICKRECORD {
- BYTE bOpcode;
- BYTE bPad;
- DWORD dwOffset;
- D3DVALUE dvZ;
-} D3DPICKRECORD, *LPD3DPICKRECORD;
-
-typedef enum {
- D3DSHADE_FLAT = 1,
- D3DSHADE_GOURAUD = 2,
- D3DSHADE_PHONG = 3,
- D3DSHADE_FORCE_DWORD = 0x7fffffff
-} D3DSHADEMODE;
-
-typedef enum {
- D3DFILL_POINT = 1,
- D3DFILL_WIREFRAME = 2,
- D3DFILL_SOLID = 3,
- D3DFILL_FORCE_DWORD = 0x7fffffff
-} D3DFILLMODE;
-
-typedef struct _D3DLINEPATTERN {
- WORD wRepeatFactor;
- WORD wLinePattern;
-} D3DLINEPATTERN;
-
-typedef enum {
- D3DFILTER_NEAREST = 1,
- D3DFILTER_LINEAR = 2,
- D3DFILTER_MIPNEAREST = 3,
- D3DFILTER_MIPLINEAR = 4,
- D3DFILTER_LINEARMIPNEAREST = 5,
- D3DFILTER_LINEARMIPLINEAR = 6,
- D3DFILTER_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREFILTER;
-
-typedef enum {
- D3DBLEND_ZERO = 1,
- D3DBLEND_ONE = 2,
- D3DBLEND_SRCCOLOR = 3,
- D3DBLEND_INVSRCCOLOR = 4,
- D3DBLEND_SRCALPHA = 5,
- D3DBLEND_INVSRCALPHA = 6,
- D3DBLEND_DESTALPHA = 7,
- D3DBLEND_INVDESTALPHA = 8,
- D3DBLEND_DESTCOLOR = 9,
- D3DBLEND_INVDESTCOLOR = 10,
- D3DBLEND_SRCALPHASAT = 11,
- D3DBLEND_BOTHSRCALPHA = 12,
- D3DBLEND_BOTHINVSRCALPHA = 13,
- D3DBLEND_FORCE_DWORD = 0x7fffffff
-} D3DBLEND;
-
-typedef enum {
- D3DTBLEND_DECAL = 1,
- D3DTBLEND_MODULATE = 2,
- D3DTBLEND_DECALALPHA = 3,
- D3DTBLEND_MODULATEALPHA = 4,
- D3DTBLEND_DECALMASK = 5,
- D3DTBLEND_MODULATEMASK = 6,
- D3DTBLEND_COPY = 7,
- D3DTBLEND_ADD = 8,
- D3DTBLEND_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREBLEND;
-
-typedef enum _D3DTEXTUREADDRESS {
- D3DTADDRESS_WRAP = 1,
- D3DTADDRESS_MIRROR = 2,
- D3DTADDRESS_CLAMP = 3,
- D3DTADDRESS_BORDER = 4,
- D3DTADDRESS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREADDRESS;
-
-typedef enum {
- D3DCULL_NONE = 1,
- D3DCULL_CW = 2,
- D3DCULL_CCW = 3,
- D3DCULL_FORCE_DWORD = 0x7fffffff
-} D3DCULL;
-
-typedef enum {
- D3DCMP_NEVER = 1,
- D3DCMP_LESS = 2,
- D3DCMP_EQUAL = 3,
- D3DCMP_LESSEQUAL = 4,
- D3DCMP_GREATER = 5,
- D3DCMP_NOTEQUAL = 6,
- D3DCMP_GREATEREQUAL = 7,
- D3DCMP_ALWAYS = 8,
- D3DCMP_FORCE_DWORD = 0x7fffffff
-} D3DCMPFUNC;
-
-typedef enum _D3DSTENCILOP {
- D3DSTENCILOP_KEEP = 1,
- D3DSTENCILOP_ZERO = 2,
- D3DSTENCILOP_REPLACE = 3,
- D3DSTENCILOP_INCRSAT = 4,
- D3DSTENCILOP_DECRSAT = 5,
- D3DSTENCILOP_INVERT = 6,
- D3DSTENCILOP_INCR = 7,
- D3DSTENCILOP_DECR = 8,
- D3DSTENCILOP_FORCE_DWORD = 0x7fffffff
-} D3DSTENCILOP;
-
-typedef enum _D3DFOGMODE {
- D3DFOG_NONE = 0,
- D3DFOG_EXP = 1,
- D3DFOG_EXP2 = 2,
- D3DFOG_LINEAR = 3,
- D3DFOG_FORCE_DWORD = 0x7fffffff
-} D3DFOGMODE;
-
-typedef enum _D3DZBUFFERTYPE {
- D3DZB_FALSE = 0,
- D3DZB_TRUE = 1,
- D3DZB_USEW = 2,
- D3DZB_FORCE_DWORD = 0x7fffffff
-} D3DZBUFFERTYPE;
-
-typedef enum _D3DANTIALIASMODE {
- D3DANTIALIAS_NONE = 0,
- D3DANTIALIAS_SORTDEPENDENT = 1,
- D3DANTIALIAS_SORTINDEPENDENT = 2,
- D3DANTIALIAS_FORCE_DWORD = 0x7fffffff
-} D3DANTIALIASMODE;
-
-typedef enum {
- D3DVT_VERTEX = 1,
- D3DVT_LVERTEX = 2,
- D3DVT_TLVERTEX = 3,
- D3DVT_FORCE_DWORD = 0x7fffffff
-} D3DVERTEXTYPE;
-
-typedef enum {
- D3DPT_POINTLIST = 1,
- D3DPT_LINELIST = 2,
- D3DPT_LINESTRIP = 3,
- D3DPT_TRIANGLELIST = 4,
- D3DPT_TRIANGLESTRIP = 5,
- D3DPT_TRIANGLEFAN = 6,
- D3DPT_FORCE_DWORD = 0x7fffffff
-} D3DPRIMITIVETYPE;
-
-#define D3DSTATE_OVERRIDE_BIAS 256
-
-#define D3DSTATE_OVERRIDE(type) (D3DRENDERSTATETYPE)(((DWORD) (type) + D3DSTATE_OVERRIDE_BIAS))
-
-typedef enum _D3DTRANSFORMSTATETYPE {
- D3DTRANSFORMSTATE_WORLD = 1,
- D3DTRANSFORMSTATE_VIEW = 2,
- D3DTRANSFORMSTATE_PROJECTION = 3,
- D3DTRANSFORMSTATE_WORLD1 = 4,
- D3DTRANSFORMSTATE_WORLD2 = 5,
- D3DTRANSFORMSTATE_WORLD3 = 6,
- D3DTRANSFORMSTATE_TEXTURE0 = 16,
- D3DTRANSFORMSTATE_TEXTURE1 = 17,
- D3DTRANSFORMSTATE_TEXTURE2 = 18,
- D3DTRANSFORMSTATE_TEXTURE3 = 19,
- D3DTRANSFORMSTATE_TEXTURE4 = 20,
- D3DTRANSFORMSTATE_TEXTURE5 = 21,
- D3DTRANSFORMSTATE_TEXTURE6 = 22,
- D3DTRANSFORMSTATE_TEXTURE7 = 23,
- D3DTRANSFORMSTATE_FORCE_DWORD = 0x7fffffff
-} D3DTRANSFORMSTATETYPE;
-
-typedef enum {
- D3DLIGHTSTATE_MATERIAL = 1,
- D3DLIGHTSTATE_AMBIENT = 2,
- D3DLIGHTSTATE_COLORMODEL = 3,
- D3DLIGHTSTATE_FOGMODE = 4,
- D3DLIGHTSTATE_FOGSTART = 5,
- D3DLIGHTSTATE_FOGEND = 6,
- D3DLIGHTSTATE_FOGDENSITY = 7,
- D3DLIGHTSTATE_COLORVERTEX = 8,
- D3DLIGHTSTATE_FORCE_DWORD = 0x7fffffff
-} D3DLIGHTSTATETYPE;
-
-typedef enum {
- D3DRENDERSTATE_TEXTUREHANDLE = 1,
- D3DRENDERSTATE_ANTIALIAS = 2,
- D3DRENDERSTATE_TEXTUREADDRESS = 3,
- D3DRENDERSTATE_TEXTUREPERSPECTIVE = 4,
- D3DRENDERSTATE_WRAPU = 5,
- D3DRENDERSTATE_WRAPV = 6,
- D3DRENDERSTATE_ZENABLE = 7,
- D3DRENDERSTATE_FILLMODE = 8,
- D3DRENDERSTATE_SHADEMODE = 9,
- D3DRENDERSTATE_LINEPATTERN = 10,
- D3DRENDERSTATE_MONOENABLE = 11,
- D3DRENDERSTATE_ROP2 = 12,
- D3DRENDERSTATE_PLANEMASK = 13,
- D3DRENDERSTATE_ZWRITEENABLE = 14,
- D3DRENDERSTATE_ALPHATESTENABLE = 15,
- D3DRENDERSTATE_LASTPIXEL = 16,
- D3DRENDERSTATE_TEXTUREMAG = 17,
- D3DRENDERSTATE_TEXTUREMIN = 18,
- D3DRENDERSTATE_SRCBLEND = 19,
- D3DRENDERSTATE_DESTBLEND = 20,
- D3DRENDERSTATE_TEXTUREMAPBLEND = 21,
- D3DRENDERSTATE_CULLMODE = 22,
- D3DRENDERSTATE_ZFUNC = 23,
- D3DRENDERSTATE_ALPHAREF = 24,
- D3DRENDERSTATE_ALPHAFUNC = 25,
- D3DRENDERSTATE_DITHERENABLE = 26,
- D3DRENDERSTATE_ALPHABLENDENABLE = 27,
- D3DRENDERSTATE_FOGENABLE = 28,
- D3DRENDERSTATE_SPECULARENABLE = 29,
- D3DRENDERSTATE_ZVISIBLE = 30,
- D3DRENDERSTATE_SUBPIXEL = 31,
- D3DRENDERSTATE_SUBPIXELX = 32,
- D3DRENDERSTATE_STIPPLEDALPHA = 33,
- D3DRENDERSTATE_FOGCOLOR = 34,
- D3DRENDERSTATE_FOGTABLEMODE = 35,
- D3DRENDERSTATE_FOGTABLESTART = 36,
- D3DRENDERSTATE_FOGTABLEEND = 37,
- D3DRENDERSTATE_FOGTABLEDENSITY = 38,
- D3DRENDERSTATE_FOGSTART = 36,
- D3DRENDERSTATE_FOGEND = 37,
- D3DRENDERSTATE_FOGDENSITY = 38,
- D3DRENDERSTATE_STIPPLEENABLE = 39,
- D3DRENDERSTATE_EDGEANTIALIAS = 40,
- D3DRENDERSTATE_COLORKEYENABLE = 41,
- D3DRENDERSTATE_BORDERCOLOR = 43,
- D3DRENDERSTATE_TEXTUREADDRESSU = 44,
- D3DRENDERSTATE_TEXTUREADDRESSV = 45,
- D3DRENDERSTATE_MIPMAPLODBIAS = 46,
- D3DRENDERSTATE_ZBIAS = 47,
- D3DRENDERSTATE_RANGEFOGENABLE = 48,
- D3DRENDERSTATE_ANISOTROPY = 49,
- D3DRENDERSTATE_FLUSHBATCH = 50,
- D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT = 51,
-
- D3DRENDERSTATE_STENCILENABLE = 52,
- D3DRENDERSTATE_STENCILFAIL = 53,
- D3DRENDERSTATE_STENCILZFAIL = 54,
- D3DRENDERSTATE_STENCILPASS = 55,
- D3DRENDERSTATE_STENCILFUNC = 56,
- D3DRENDERSTATE_STENCILREF = 57,
- D3DRENDERSTATE_STENCILMASK = 58,
- D3DRENDERSTATE_STENCILWRITEMASK = 59,
- D3DRENDERSTATE_TEXTUREFACTOR = 60,
-
- D3DRENDERSTATE_STIPPLEPATTERN00 = 64,
- D3DRENDERSTATE_STIPPLEPATTERN01 = 65,
- D3DRENDERSTATE_STIPPLEPATTERN02 = 66,
- D3DRENDERSTATE_STIPPLEPATTERN03 = 67,
- D3DRENDERSTATE_STIPPLEPATTERN04 = 68,
- D3DRENDERSTATE_STIPPLEPATTERN05 = 69,
- D3DRENDERSTATE_STIPPLEPATTERN06 = 70,
- D3DRENDERSTATE_STIPPLEPATTERN07 = 71,
- D3DRENDERSTATE_STIPPLEPATTERN08 = 72,
- D3DRENDERSTATE_STIPPLEPATTERN09 = 73,
- D3DRENDERSTATE_STIPPLEPATTERN10 = 74,
- D3DRENDERSTATE_STIPPLEPATTERN11 = 75,
- D3DRENDERSTATE_STIPPLEPATTERN12 = 76,
- D3DRENDERSTATE_STIPPLEPATTERN13 = 77,
- D3DRENDERSTATE_STIPPLEPATTERN14 = 78,
- D3DRENDERSTATE_STIPPLEPATTERN15 = 79,
- D3DRENDERSTATE_STIPPLEPATTERN16 = 80,
- D3DRENDERSTATE_STIPPLEPATTERN17 = 81,
- D3DRENDERSTATE_STIPPLEPATTERN18 = 82,
- D3DRENDERSTATE_STIPPLEPATTERN19 = 83,
- D3DRENDERSTATE_STIPPLEPATTERN20 = 84,
- D3DRENDERSTATE_STIPPLEPATTERN21 = 85,
- D3DRENDERSTATE_STIPPLEPATTERN22 = 86,
- D3DRENDERSTATE_STIPPLEPATTERN23 = 87,
- D3DRENDERSTATE_STIPPLEPATTERN24 = 88,
- D3DRENDERSTATE_STIPPLEPATTERN25 = 89,
- D3DRENDERSTATE_STIPPLEPATTERN26 = 90,
- D3DRENDERSTATE_STIPPLEPATTERN27 = 91,
- D3DRENDERSTATE_STIPPLEPATTERN28 = 92,
- D3DRENDERSTATE_STIPPLEPATTERN29 = 93,
- D3DRENDERSTATE_STIPPLEPATTERN30 = 94,
- D3DRENDERSTATE_STIPPLEPATTERN31 = 95,
-
- D3DRENDERSTATE_WRAP0 = 128,
- D3DRENDERSTATE_WRAP1 = 129,
- D3DRENDERSTATE_WRAP2 = 130,
- D3DRENDERSTATE_WRAP3 = 131,
- D3DRENDERSTATE_WRAP4 = 132,
- D3DRENDERSTATE_WRAP5 = 133,
- D3DRENDERSTATE_WRAP6 = 134,
- D3DRENDERSTATE_WRAP7 = 135,
- D3DRENDERSTATE_CLIPPING = 136,
- D3DRENDERSTATE_LIGHTING = 137,
- D3DRENDERSTATE_EXTENTS = 138,
- D3DRENDERSTATE_AMBIENT = 139,
- D3DRENDERSTATE_FOGVERTEXMODE = 140,
- D3DRENDERSTATE_COLORVERTEX = 141,
- D3DRENDERSTATE_LOCALVIEWER = 142,
- D3DRENDERSTATE_NORMALIZENORMALS = 143,
- D3DRENDERSTATE_COLORKEYBLENDENABLE = 144,
- D3DRENDERSTATE_DIFFUSEMATERIALSOURCE = 145,
- D3DRENDERSTATE_SPECULARMATERIALSOURCE = 146,
- D3DRENDERSTATE_AMBIENTMATERIALSOURCE = 147,
- D3DRENDERSTATE_EMISSIVEMATERIALSOURCE = 148,
- D3DRENDERSTATE_VERTEXBLEND = 151,
- D3DRENDERSTATE_CLIPPLANEENABLE = 152,
-
- D3DRENDERSTATE_FORCE_DWORD = 0x7fffffff
-
- /* FIXME: We have some retired values that are being reused for DirectX 7 */
-} D3DRENDERSTATETYPE;
-
-typedef enum _D3DMATERIALCOLORSOURCE
-{
- D3DMCS_MATERIAL = 0,
- D3DMCS_COLOR1 = 1,
- D3DMCS_COLOR2 = 2,
- D3DMCS_FORCE_DWORD = 0x7fffffff
-} D3DMATERIALCOLORSOURCE;
-
-#define D3DRENDERSTATE_BLENDENABLE D3DRENDERSTATE_ALPHABLENDENABLE
-#define D3DRENDERSTATE_WRAPBIAS 128UL
-#define D3DWRAP_U 0x00000001L
-#define D3DWRAP_V 0x00000002L
-
-#define D3DWRAPCOORD_0 0x00000001L
-#define D3DWRAPCOORD_1 0x00000002L
-#define D3DWRAPCOORD_2 0x00000004L
-#define D3DWRAPCOORD_3 0x00000008L
-
-#define D3DRENDERSTATE_STIPPLEPATTERN(y) (D3DRENDERSTATE_STIPPLEPATTERN00 + (y))
-
-typedef struct _D3DSTATE {
- union {
- D3DTRANSFORMSTATETYPE dtstTransformStateType;
- D3DLIGHTSTATETYPE dlstLightStateType;
- D3DRENDERSTATETYPE drstRenderStateType;
- } DUMMYUNIONNAME1;
- union {
- DWORD dwArg[1];
- D3DVALUE dvArg[1];
- } DUMMYUNIONNAME2;
-} D3DSTATE, *LPD3DSTATE;
-
-typedef struct _D3DMATRIXLOAD {
- D3DMATRIXHANDLE hDestMatrix;
- D3DMATRIXHANDLE hSrcMatrix;
-} D3DMATRIXLOAD, *LPD3DMATRIXLOAD;
-
-typedef struct _D3DMATRIXMULTIPLY {
- D3DMATRIXHANDLE hDestMatrix;
- D3DMATRIXHANDLE hSrcMatrix1;
- D3DMATRIXHANDLE hSrcMatrix2;
-} D3DMATRIXMULTIPLY, *LPD3DMATRIXMULTIPLY;
-
-typedef struct _D3DPROCESSVERTICES {
- DWORD dwFlags;
- WORD wStart;
- WORD wDest;
- DWORD dwCount;
- DWORD dwReserved;
-} D3DPROCESSVERTICES, *LPD3DPROCESSVERTICES;
-
-#define D3DPROCESSVERTICES_TRANSFORMLIGHT 0x00000000L
-#define D3DPROCESSVERTICES_TRANSFORM 0x00000001L
-#define D3DPROCESSVERTICES_COPY 0x00000002L
-#define D3DPROCESSVERTICES_OPMASK 0x00000007L
-
-#define D3DPROCESSVERTICES_UPDATEEXTENTS 0x00000008L
-#define D3DPROCESSVERTICES_NOCOLOR 0x00000010L
-
-typedef enum _D3DTEXTURESTAGESTATETYPE
-{
- D3DTSS_COLOROP = 1,
- D3DTSS_COLORARG1 = 2,
- D3DTSS_COLORARG2 = 3,
- D3DTSS_ALPHAOP = 4,
- D3DTSS_ALPHAARG1 = 5,
- D3DTSS_ALPHAARG2 = 6,
- D3DTSS_BUMPENVMAT00 = 7,
- D3DTSS_BUMPENVMAT01 = 8,
- D3DTSS_BUMPENVMAT10 = 9,
- D3DTSS_BUMPENVMAT11 = 10,
- D3DTSS_TEXCOORDINDEX = 11,
- D3DTSS_ADDRESS = 12,
- D3DTSS_ADDRESSU = 13,
- D3DTSS_ADDRESSV = 14,
- D3DTSS_BORDERCOLOR = 15,
- D3DTSS_MAGFILTER = 16,
- D3DTSS_MINFILTER = 17,
- D3DTSS_MIPFILTER = 18,
- D3DTSS_MIPMAPLODBIAS = 19,
- D3DTSS_MAXMIPLEVEL = 20,
- D3DTSS_MAXANISOTROPY = 21,
- D3DTSS_BUMPENVLSCALE = 22,
- D3DTSS_BUMPENVLOFFSET = 23,
- D3DTSS_TEXTURETRANSFORMFLAGS = 24,
- D3DTSS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURESTAGESTATETYPE;
-
-#define D3DTSS_TCI_PASSTHRU 0x00000000
-#define D3DTSS_TCI_CAMERASPACENORMAL 0x00010000
-#define D3DTSS_TCI_CAMERASPACEPOSITION 0x00020000
-#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x00030000
-
-typedef enum _D3DTEXTUREOP
-{
- D3DTOP_DISABLE = 1,
- D3DTOP_SELECTARG1 = 2,
- D3DTOP_SELECTARG2 = 3,
-
- D3DTOP_MODULATE = 4,
- D3DTOP_MODULATE2X = 5,
- D3DTOP_MODULATE4X = 6,
-
- D3DTOP_ADD = 7,
- D3DTOP_ADDSIGNED = 8,
- D3DTOP_ADDSIGNED2X = 9,
- D3DTOP_SUBTRACT = 10,
- D3DTOP_ADDSMOOTH = 11,
-
- D3DTOP_BLENDDIFFUSEALPHA = 12,
- D3DTOP_BLENDTEXTUREALPHA = 13,
- D3DTOP_BLENDFACTORALPHA = 14,
- D3DTOP_BLENDTEXTUREALPHAPM = 15,
- D3DTOP_BLENDCURRENTALPHA = 16,
-
- D3DTOP_PREMODULATE = 17,
- D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
- D3DTOP_MODULATECOLOR_ADDALPHA = 19,
- D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
- D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
-
- D3DTOP_BUMPENVMAP = 22,
- D3DTOP_BUMPENVMAPLUMINANCE = 23,
- D3DTOP_DOTPRODUCT3 = 24,
-
- D3DTOP_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREOP;
-
-#define D3DTA_SELECTMASK 0x0000000f
-#define D3DTA_DIFFUSE 0x00000000
-#define D3DTA_CURRENT 0x00000001
-#define D3DTA_TEXTURE 0x00000002
-#define D3DTA_TFACTOR 0x00000003
-#define D3DTA_SPECULAR 0x00000004
-#define D3DTA_COMPLEMENT 0x00000010
-#define D3DTA_ALPHAREPLICATE 0x00000020
-
-typedef enum _D3DTEXTUREMAGFILTER
-{
- D3DTFG_POINT = 1,
- D3DTFG_LINEAR = 2,
- D3DTFG_FLATCUBIC = 3,
- D3DTFG_GAUSSIANCUBIC = 4,
- D3DTFG_ANISOTROPIC = 5,
- D3DTFG_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREMAGFILTER;
-
-typedef enum _D3DTEXTUREMINFILTER
-{
- D3DTFN_POINT = 1,
- D3DTFN_LINEAR = 2,
- D3DTFN_ANISOTROPIC = 3,
- D3DTFN_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREMINFILTER;
-
-typedef enum _D3DTEXTUREMIPFILTER
-{
- D3DTFP_NONE = 1,
- D3DTFP_POINT = 2,
- D3DTFP_LINEAR = 3,
- D3DTFP_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREMIPFILTER;
-
-#define D3DTRIFLAG_START 0x00000000L
-#define D3DTRIFLAG_STARTFLAT(len) (len)
-#define D3DTRIFLAG_ODD 0x0000001eL
-#define D3DTRIFLAG_EVEN 0x0000001fL
-
-#define D3DTRIFLAG_EDGEENABLE1 0x00000100L
-#define D3DTRIFLAG_EDGEENABLE2 0x00000200L
-#define D3DTRIFLAG_EDGEENABLE3 0x00000400L
-#define D3DTRIFLAG_EDGEENABLETRIANGLE \
- (D3DTRIFLAG_EDGEENABLE1 | D3DTRIFLAG_EDGEENABLE2 | D3DTRIFLAG_EDGEENABLE3)
-
-typedef struct _D3DTRIANGLE {
- union {
- WORD v1;
- WORD wV1;
- } DUMMYUNIONNAME1;
- union {
- WORD v2;
- WORD wV2;
- } DUMMYUNIONNAME2;
- union {
- WORD v3;
- WORD wV3;
- } DUMMYUNIONNAME3;
- WORD wFlags;
-} D3DTRIANGLE, *LPD3DTRIANGLE;
-
-typedef struct _D3DLINE {
- union {
- WORD v1;
- WORD wV1;
- } DUMMYUNIONNAME1;
- union {
- WORD v2;
- WORD wV2;
- } DUMMYUNIONNAME2;
-} D3DLINE, *LPD3DLINE;
-
-typedef struct _D3DSPAN {
- WORD wCount;
- WORD wFirst;
-} D3DSPAN, *LPD3DSPAN;
-
-typedef struct _D3DPOINT {
- WORD wCount;
- WORD wFirst;
-} D3DPOINT, *LPD3DPOINT;
-
-typedef struct _D3DBRANCH {
- DWORD dwMask;
- DWORD dwValue;
- BOOL bNegate;
- DWORD dwOffset;
-} D3DBRANCH, *LPD3DBRANCH;
-
-typedef struct _D3DSTATUS {
- DWORD dwFlags;
- DWORD dwStatus;
- D3DRECT drExtent;
-} D3DSTATUS, *LPD3DSTATUS;
-
-#define D3DSETSTATUS_STATUS 0x00000001L
-#define D3DSETSTATUS_EXTENTS 0x00000002L
-#define D3DSETSTATUS_ALL (D3DSETSTATUS_STATUS | D3DSETSTATUS_EXTENTS)
-
-typedef struct _D3DCLIPSTATUS {
- DWORD dwFlags;
- DWORD dwStatus;
- float minx, maxx;
- float miny, maxy;
- float minz, maxz;
-} D3DCLIPSTATUS, *LPD3DCLIPSTATUS;
-
-#define D3DCLIPSTATUS_STATUS 0x00000001L
-#define D3DCLIPSTATUS_EXTENTS2 0x00000002L
-#define D3DCLIPSTATUS_EXTENTS3 0x00000004L
-
-typedef struct {
- DWORD dwSize;
- DWORD dwTrianglesDrawn;
- DWORD dwLinesDrawn;
- DWORD dwPointsDrawn;
- DWORD dwSpansDrawn;
- DWORD dwVerticesProcessed;
-} D3DSTATS, *LPD3DSTATS;
-
-#define D3DEXECUTE_CLIPPED 0x00000001l
-#define D3DEXECUTE_UNCLIPPED 0x00000002l
-
-typedef struct _D3DEXECUTEDATA {
- DWORD dwSize;
- DWORD dwVertexOffset;
- DWORD dwVertexCount;
- DWORD dwInstructionOffset;
- DWORD dwInstructionLength;
- DWORD dwHVertexOffset;
- D3DSTATUS dsStatus;
-} D3DEXECUTEDATA, *LPD3DEXECUTEDATA;
-
-#define D3DPAL_FREE 0x00
-#define D3DPAL_READONLY 0x40
-#define D3DPAL_RESERVED 0x80
-
-typedef struct _D3DVERTEXBUFFERDESC {
- DWORD dwSize;
- DWORD dwCaps;
- DWORD dwFVF;
- DWORD dwNumVertices;
-} D3DVERTEXBUFFERDESC, *LPD3DVERTEXBUFFERDESC;
-
-#define D3DVBCAPS_SYSTEMMEMORY 0x00000800l
-#define D3DVBCAPS_WRITEONLY 0x00010000l
-#define D3DVBCAPS_OPTIMIZED 0x80000000l
-#define D3DVBCAPS_DONOTCLIP 0x00000001l
-
-#define D3DVOP_LIGHT (1 << 10)
-#define D3DVOP_TRANSFORM (1 << 0)
-#define D3DVOP_CLIP (1 << 2)
-#define D3DVOP_EXTENTS (1 << 3)
-
-#define D3DMAXNUMVERTICES ((1<<16) - 1)
-
-#define D3DMAXNUMPRIMITIVES ((1<<16) - 1)
-
-#define D3DPV_DONOTCOPYDATA (1 << 0)
-
-#define D3DFVF_RESERVED0 0x001
-#define D3DFVF_POSITION_MASK 0x00E
-#define D3DFVF_XYZ 0x002
-#define D3DFVF_XYZRHW 0x004
-#define D3DFVF_XYZB1 0x006
-#define D3DFVF_XYZB2 0x008
-#define D3DFVF_XYZB3 0x00a
-#define D3DFVF_XYZB4 0x00c
-#define D3DFVF_XYZB5 0x00e
-
-#define D3DFVF_NORMAL 0x010
-#define D3DFVF_RESERVED1 0x020
-#define D3DFVF_DIFFUSE 0x040
-#define D3DFVF_SPECULAR 0x080
-#define D3DFVF_TEXCOUNT_MASK 0xf00
-#define D3DFVF_TEXCOUNT_SHIFT 8
-#define D3DFVF_TEX0 0x000
-#define D3DFVF_TEX1 0x100
-#define D3DFVF_TEX2 0x200
-#define D3DFVF_TEX3 0x300
-#define D3DFVF_TEX4 0x400
-#define D3DFVF_TEX5 0x500
-#define D3DFVF_TEX6 0x600
-#define D3DFVF_TEX7 0x700
-#define D3DFVF_TEX8 0x800
-
-#define D3DFVF_RESERVED2 0xf000
-
-#define D3DFVF_VERTEX ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1 )
-#define D3DFVF_LVERTEX ( D3DFVF_XYZ | D3DFVF_RESERVED1 | D3DFVF_DIFFUSE | \
- D3DFVF_SPECULAR | D3DFVF_TEX1 )
-#define D3DFVF_TLVERTEX ( D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | \
- D3DFVF_TEX1 )
-
-typedef struct _D3DDP_PTRSTRIDE {
- LPVOID lpvData;
- DWORD dwStride;
-} D3DDP_PTRSTRIDE;
-
-#define D3DDP_MAXTEXCOORD 8
-
-typedef struct _D3DDRAWPRIMITIVESTRIDEDDATA {
- D3DDP_PTRSTRIDE position;
- D3DDP_PTRSTRIDE normal;
- D3DDP_PTRSTRIDE diffuse;
- D3DDP_PTRSTRIDE specular;
- D3DDP_PTRSTRIDE textureCoords[D3DDP_MAXTEXCOORD];
-} D3DDRAWPRIMITIVESTRIDEDDATA ,*LPD3DDRAWPRIMITIVESTRIDEDDATA;
-
-#define D3DVIS_INSIDE_FRUSTUM 0
-#define D3DVIS_INTERSECT_FRUSTUM 1
-#define D3DVIS_OUTSIDE_FRUSTUM 2
-#define D3DVIS_INSIDE_LEFT 0
-#define D3DVIS_INTERSECT_LEFT (1 << 2)
-#define D3DVIS_OUTSIDE_LEFT (2 << 2)
-#define D3DVIS_INSIDE_RIGHT 0
-#define D3DVIS_INTERSECT_RIGHT (1 << 4)
-#define D3DVIS_OUTSIDE_RIGHT (2 << 4)
-#define D3DVIS_INSIDE_TOP 0
-#define D3DVIS_INTERSECT_TOP (1 << 6)
-#define D3DVIS_OUTSIDE_TOP (2 << 6)
-#define D3DVIS_INSIDE_BOTTOM 0
-#define D3DVIS_INTERSECT_BOTTOM (1 << 8)
-#define D3DVIS_OUTSIDE_BOTTOM (2 << 8)
-#define D3DVIS_INSIDE_NEAR 0
-#define D3DVIS_INTERSECT_NEAR (1 << 10)
-#define D3DVIS_OUTSIDE_NEAR (2 << 10)
-#define D3DVIS_INSIDE_FAR 0
-#define D3DVIS_INTERSECT_FAR (1 << 12)
-#define D3DVIS_OUTSIDE_FAR (2 << 12)
-
-#define D3DVIS_MASK_FRUSTUM (3 << 0)
-#define D3DVIS_MASK_LEFT (3 << 2)
-#define D3DVIS_MASK_RIGHT (3 << 4)
-#define D3DVIS_MASK_TOP (3 << 6)
-#define D3DVIS_MASK_BOTTOM (3 << 8)
-#define D3DVIS_MASK_NEAR (3 << 10)
-#define D3DVIS_MASK_FAR (3 << 12)
-
-#define D3DDEVINFOID_TEXTUREMANAGER 1
-#define D3DDEVINFOID_D3DTEXTUREMANAGER 2
-#define D3DDEVINFOID_TEXTURING 3
-
-typedef enum _D3DSTATEBLOCKTYPE
-{
- D3DSBT_ALL = 1,
- D3DSBT_PIXELSTATE = 2,
- D3DSBT_VERTEXSTATE = 3,
- D3DSBT_FORCE_DWORD = 0xffffffff
-} D3DSTATEBLOCKTYPE;
-
-typedef enum _D3DVERTEXBLENDFLAGS
-{
- D3DVBLEND_DISABLE = 0,
- D3DVBLEND_1WEIGHT = 1,
- D3DVBLEND_2WEIGHTS = 2,
- D3DVBLEND_3WEIGHTS = 3,
-} D3DVERTEXBLENDFLAGS;
-
-typedef enum _D3DTEXTURETRANSFORMFLAGS {
- D3DTTFF_DISABLE = 0,
- D3DTTFF_COUNT1 = 1,
- D3DTTFF_COUNT2 = 2,
- D3DTTFF_COUNT3 = 3,
- D3DTTFF_COUNT4 = 4,
- D3DTTFF_PROJECTED = 256,
- D3DTTFF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURETRANSFORMFLAGS;
-
-#define D3DFVF_TEXTUREFORMAT2 0
-#define D3DFVF_TEXTUREFORMAT1 3
-#define D3DFVF_TEXTUREFORMAT3 1
-#define D3DFVF_TEXTUREFORMAT4 2
-
-#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2)
-#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2000 Ove Kaaven
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3DVEC_INL
-#define __WINE_D3DVEC_INL
-
-/*** constructors ***/
-
-inline _D3DVECTOR::_D3DVECTOR(D3DVALUE f)
-{
- x = y = z = f;
-}
-
-inline _D3DVECTOR::_D3DVECTOR(D3DVALUE _x, D3DVALUE _y, D3DVALUE _z)
-{
- x = _x; y = _y; z = _z;
-}
-
-/*** assignment operators ***/
-
-inline _D3DVECTOR& _D3DVECTOR::operator += (const _D3DVECTOR& v)
-{
- x += v.x; y += v.y; z += v.z;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator -= (const _D3DVECTOR& v)
-{
- x -= v.x; y -= v.y; z -= v.z;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator *= (const _D3DVECTOR& v)
-{
- x *= v.x; y *= v.y; z *= v.z;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator /= (const _D3DVECTOR& v)
-{
- x /= v.x; y /= v.y; z /= v.z;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator *= (D3DVALUE s)
-{
- x *= s; y *= s; z *= s;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator /= (D3DVALUE s)
-{
- x /= s; y /= s; z /= s;
- return *this;
-}
-
-/*** unary operators ***/
-
-inline _D3DVECTOR operator + (const _D3DVECTOR& v)
-{
- return v;
-}
-
-inline _D3DVECTOR operator - (const _D3DVECTOR& v)
-{
- return _D3DVECTOR(-v.x, -v.y, -v.z);
-}
-
-/*** binary operators ***/
-
-inline _D3DVECTOR operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
-{
- return _D3DVECTOR(v1.x+v2.x, v1.y+v2.y, v1.z+v2.z);
-}
-
-inline _D3DVECTOR operator - (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
-{
- return _D3DVECTOR(v1.x-v2.x, v1.y-v2.y, v1.z-v2.z);
-}
-
-inline _D3DVECTOR operator * (const _D3DVECTOR& v, D3DVALUE s)
-{
- return _D3DVECTOR(v.x*s, v.y*s, v.z*s);
-}
-
-inline _D3DVECTOR operator * (D3DVALUE s, const _D3DVECTOR& v)
-{
- return _D3DVECTOR(v.x*s, v.y*s, v.z*s);
-}
-
-inline _D3DVECTOR operator / (const _D3DVECTOR& v, D3DVALUE s)
-{
- return _D3DVECTOR(v.x/s, v.y/s, v.z/s);
-}
-
-inline D3DVALUE SquareMagnitude(const _D3DVECTOR& v)
-{
- return v.x*v.x + v.y*v.y + v.z*v.z; /* DotProduct(v, v) */
-}
-
-inline D3DVALUE Magnitude(const _D3DVECTOR& v)
-{
- return sqrt(SquareMagnitude(v));
-}
-
-inline _D3DVECTOR Normalize(const _D3DVECTOR& v)
-{
- return v / Magnitude(v);
-}
-
-inline D3DVALUE DotProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2)
-{
- return v1.x*v2.x + v1.y*v2.y + v1.z*v2.z;
-}
-
-inline _D3DVECTOR CrossProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2)
-{
- _D3DVECTOR res;
- /* this is a left-handed cross product, right? */
- res.x = v1.y * v2.z - v1.z * v2.y;
- res.y = v1.z * v2.x - v1.x * v2.z;
- res.z = v1.x * v2.y - v1.y * v2.x;
- return res;
-}
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2007 David Adam
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DX9_H__
-#define __D3DX9_H__
-
-#include <limits.h>
-
-#define D3DX_DEFAULT ((UINT)-1)
-#define D3DX_DEFAULT_NONPOW2 ((UINT)-2)
-#define D3DX_DEFAULT_FLOAT FLT_MAX
-#define D3DX_FROM_FILE ((UINT)-3)
-#define D3DFMT_FROM_FILE ((D3DFORMAT)-3)
-
-#include "d3d9.h"
-#include "d3dx9math.h"
-#include "d3dx9core.h"
-#include "d3dx9mesh.h"
-#include "d3dx9shader.h"
-#include "d3dx9effect.h"
-#include "d3dx9shape.h"
-#include "d3dx9tex.h"
-
-#define _FACDD 0x876
-#define MAKE_DDHRESULT(code) MAKE_HRESULT(1, _FACDD, code)
-
-enum _D3DXERR {
- D3DXERR_CANNOTMODIFYINDEXBUFFER = MAKE_DDHRESULT(2900),
- D3DXERR_INVALIDMESH = MAKE_DDHRESULT(2901),
- D3DXERR_CANNOTATTRSORT = MAKE_DDHRESULT(2902),
- D3DXERR_SKINNINGNOTSUPPORTED = MAKE_DDHRESULT(2903),
- D3DXERR_TOOMANYINFLUENCES = MAKE_DDHRESULT(2904),
- D3DXERR_INVALIDDATA = MAKE_DDHRESULT(2905),
- D3DXERR_LOADEDMESHASNODATA = MAKE_DDHRESULT(2906),
- D3DXERR_DUPLICATENAMEDFRAGMENT = MAKE_DDHRESULT(2907),
- D3DXERR_CANNOTREMOVELASTITEM = MAKE_DDHRESULT(2908),
-};
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2007, 2008 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <_mingw_dxhelper.h>
-#include <d3dx9.h>
-
-#ifndef __WINE_D3DX9CORE_H
-#define __WINE_D3DX9CORE_H
-
-/**********************************************
- ***************** Definitions ****************
- **********************************************/
-/* D3DX_VERSION will be completely ignored since we are
- implementing all dlls from d3dx9_24 to d3dx9_36 */
-#define D3DX_VERSION 0x0902
-#define D3DX_SDK_VERSION 36
-#define D3DXSPRITE_DONOTSAVESTATE 1
-#define D3DXSPRITE_DONOTMODIFY_RENDERSTATE 2
-#define D3DXSPRITE_OBJECTSPACE 4
-#define D3DXSPRITE_BILLBOARD 8
-#define D3DXSPRITE_ALPHABLEND 16
-#define D3DXSPRITE_SORT_TEXTURE 32
-#define D3DXSPRITE_SORT_DEPTH_FRONTTOBACK 64
-#define D3DXSPRITE_SORT_DEPTH_BACKTOFRONT 128
-#define D3DXSPRITE_DO_NOT_ADDREF_TEXTURE 256
-
-/**********************************************
- ******************** GUIDs *******************
- **********************************************/
-DEFINE_GUID(IID_ID3DXBuffer, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);
-DEFINE_GUID(IID_ID3DXFont, 0xd79dbb70, 0x5f21, 0x4d36, 0xbb, 0xc2, 0xff, 0x52, 0x5c, 0x21, 0x3c, 0xdc);
-DEFINE_GUID(IID_ID3DXLine, 0xd379ba7f, 0x9042, 0x4ac4, 0x9f, 0x5e, 0x58, 0x19, 0x2a, 0x4c, 0x6b, 0xd8);
-DEFINE_GUID(IID_ID3DXRenderToEnvMap, 0x313f1b4b, 0xc7b0, 0x4fa2, 0x9d, 0x9d, 0x8d, 0x38, 0xb, 0x64, 0x38, 0x5e);
-DEFINE_GUID(IID_ID3DXRenderToSurface, 0x6985f346, 0x2c3d, 0x43b3, 0xbe, 0x8b, 0xda, 0xae, 0x8a, 0x3, 0xd8, 0x94);
-DEFINE_GUID(IID_ID3DXSprite, 0xba0b762d, 0x7d28, 0x43ec, 0xb9, 0xdc, 0x2f, 0x84, 0x44, 0x3b, 0x6, 0x14);
-
-/**********************************************
- ****************** typedefs ******************
- **********************************************/
-typedef struct ID3DXBuffer *LPD3DXBUFFER;
-typedef struct ID3DXFont *LPD3DXFONT;
-typedef struct ID3DXLine *LPD3DXLINE;
-typedef struct ID3DXRenderToEnvMap *LPD3DXRenderToEnvMap;
-typedef struct ID3DXRenderToSurface *LPD3DXRENDERTOSURFACE;
-typedef struct ID3DXSprite *LPD3DXSPRITE;
-
-/**********************************************
- *********** interface declarations ***********
- **********************************************/
-#define INTERFACE ID3DXBuffer
-DECLARE_INTERFACE_(ID3DXBuffer, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBuffer methods ***/
- STDMETHOD_(LPVOID, GetBufferPointer)(THIS) PURE;
- STDMETHOD_(DWORD, GetBufferSize)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXBuffer methods ***/
-#define ID3DXBuffer_GetBufferPointer(p) (p)->lpVtbl->GetBufferPointer(p)
-#define ID3DXBuffer_GetBufferSize(p) (p)->lpVtbl->GetBufferSize(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXBuffer_AddRef(p) (p)->AddRef()
-#define ID3DXBuffer_Release(p) (p)->Release()
-/*** ID3DXBuffer methods ***/
-#define ID3DXBuffer_GetBufferPointer(p) (p)->GetBufferPointer()
-#define ID3DXBuffer_GetBufferSize(p) (p)->GetBufferSize()
-#endif
-
-typedef struct _D3DXFONT_DESCA
-{
- INT Height;
- UINT Width;
- UINT Weight;
- UINT MipLevels;
- BOOL Italic;
- BYTE CharSet;
- BYTE OutputPrecision;
- BYTE Quality;
- BYTE PitchAndFamily;
- CHAR FaceName[LF_FACESIZE];
-} D3DXFONT_DESCA, *LPD3DXFONT_DESCA;
-
-typedef struct _D3DXFONT_DESCW
-{
- INT Height;
- UINT Width;
- UINT Weight;
- UINT MipLevels;
- BOOL Italic;
- BYTE CharSet;
- BYTE OutputPrecision;
- BYTE Quality;
- BYTE PitchAndFamily;
- WCHAR FaceName[LF_FACESIZE];
-} D3DXFONT_DESCW, *LPD3DXFONT_DESCW;
-
-DECL_WINELIB_TYPE_AW(D3DXFONT_DESC)
-DECL_WINELIB_TYPE_AW(LPD3DXFONT_DESC)
-
-#define INTERFACE ID3DXFont
-DECLARE_INTERFACE_(ID3DXFont, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXFont methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
- STDMETHOD(GetDescA)(THIS_ D3DXFONT_DESCA *desc) PURE;
- STDMETHOD(GetDescW)(THIS_ D3DXFONT_DESCW *desc) PURE;
- STDMETHOD_(BOOL, GetTextMetricsA)(THIS_ TEXTMETRICA *metrics) PURE;
- STDMETHOD_(BOOL, GetTextMetricsW)(THIS_ TEXTMETRICW *metrics) PURE;
-
- STDMETHOD_(HDC, GetDC)(THIS) PURE;
- STDMETHOD(GetGlyphData)(THIS_ UINT glyph, LPDIRECT3DTEXTURE9 *texture, RECT *blackbox, POINT *cellinc) PURE;
-
- STDMETHOD(PreloadCharacters)(THIS_ UINT first, UINT last) PURE;
- STDMETHOD(PreloadGlyphs)(THIS_ UINT first, UINT last) PURE;
- STDMETHOD(PreloadTextA)(THIS_ LPCSTR string, INT count) PURE;
- STDMETHOD(PreloadTextW)(THIS_ LPCWSTR string, INT count) PURE;
-
- STDMETHOD_(INT, DrawTextA)(THIS_ LPD3DXSPRITE sprite, LPCSTR string, INT count, LPRECT rect, DWORD format, D3DCOLOR color) PURE;
- STDMETHOD_(INT, DrawTextW)(THIS_ LPD3DXSPRITE sprite, LPCWSTR string, INT count, LPRECT rect, DWORD format, D3DCOLOR color) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-
-/*** IUnknown methods ***/
-#define ID3DXFont_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXFont_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXFont_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXFont methods ***/
-#define ID3DXFont_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXFont_GetDescA(p,a) (p)->lpVtbl->GetDescA(p,a)
-#define ID3DXFont_GetDescW(p,a) (p)->lpVtbl->GetDescW(p,a)
-#define ID3DXFont_GetTextMetricsA(p,a) (p)->lpVtbl->GetTextMetricsA(p,a)
-#define ID3DXFont_GetTextMetricsW(p,a) (p)->lpVtbl->GetTextMetricsW(p,a)
-#define ID3DXFont_GetDC(p) (p)->lpVtbl->GetDC(p)
-#define ID3DXFont_GetGlyphData(p,a,b,c,d) (p)->lpVtbl->GetGlyphData(p,a,b,c,d)
-#define ID3DXFont_PreloadCharacters(p,a,b) (p)->lpVtbl->PreloadCharacters(p,a,b)
-#define ID3DXFont_PreloadGlyphs(p,a,b) (p)->lpVtbl->PreloadGlyphs(p,a,b)
-#define ID3DXFont_PreloadTextA(p,a,b) (p)->lpVtbl->PreloadTextA(p,a,b)
-#define ID3DXFont_PreloadTextW(p,a,b) (p)->lpVtbl->PreloadTextW(p,a,b)
-#define ID3DXFont_DrawTextA(p,a,b,c,d,e,f) (p)->lpVtbl->DrawTextA(p,a,b,c,d,e,f)
-#define ID3DXFont_DrawTextW(p,a,b,c,d,e,f) (p)->lpVtbl->DrawTextW(p,a,b,c,d,e,f)
-#define ID3DXFont_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXFont_OnResetDevice(p) (p)->lpVtbl->OnResetDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXFont_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXFont_AddRef(p) (p)->AddRef()
-#define ID3DXFont_Release(p) (p)->Release()
-/*** ID3DXFont methods ***/
-#define ID3DXFont_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXFont_GetDescA(p,a) (p)->GetDescA(a)
-#define ID3DXFont_GetDescW(p,a) (p)->GetDescW(a)
-#define ID3DXFont_GetTextMetricsA(p,a) (p)->GetTextMetricsA(a)
-#define ID3DXFont_GetTextMetricsW(p,a) (p)->GetTextMetricsW(a)
-#define ID3DXFont_GetDC(p) (p)->GetDC()
-#define ID3DXFont_GetGlyphData(p,a,b,c,d) (p)->GetGlyphData(a,b,c,d)
-#define ID3DXFont_PreloadCharacters(p,a,b) (p)->PreloadCharacters(a,b)
-#define ID3DXFont_PreloadGlyphs(p,a,b) (p)->PreloadGlyphs(a,b)
-#define ID3DXFont_PreloadTextA(p,a,b) (p)->PreloadTextA(a,b)
-#define ID3DXFont_PreloadTextW(p,a,b) (p)->PreloadTextW(a,b)
-#define ID3DXFont_DrawTextA(p,a,b,c,d,e,f) (p)->DrawTextA(a,b,c,d,e,f)
-#define ID3DXFont_DrawTextW(p,a,b,c,d,e,f) (p)->DrawTextW(a,b,c,d,e,f)
-#define ID3DXFont_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXFont_OnResetDevice(p) (p)->OnResetDevice()
-#endif
-#define ID3DXFont_DrawText WINELIB_NAME_AW(ID3DXFont_DrawText)
-#define ID3DXFont_GetDesc WINELIB_NAME_AW(ID3DXFont_GetDesc)
-#define ID3DXFont_GetTextMetrics WINELIB_NAME_AW(ID3DXFont_GetTextMetrics)
-#define ID3DXFont_PreloadText WINELIB_NAME_AW(ID3DXFont_PreloadText)
-
-#define INTERFACE ID3DXLine
-DECLARE_INTERFACE_(ID3DXLine, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
-
- /*** ID3DXLine methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
-
- STDMETHOD(Begin)(THIS) PURE;
- STDMETHOD(Draw)(THIS_ CONST D3DXVECTOR2 *vertexlist, DWORD vertexlistcount, D3DCOLOR color) PURE;
- STDMETHOD(DrawTransform)(THIS_ CONST D3DXVECTOR3 *vertexlist, DWORD vertexlistcount,
- CONST D3DXMATRIX *transform, D3DCOLOR color) PURE;
- STDMETHOD(SetPattern)(THIS_ DWORD pattern) PURE;
- STDMETHOD_(DWORD, GetPattern)(THIS) PURE;
- STDMETHOD(SetPatternScale)(THIS_ FLOAT scale) PURE;
- STDMETHOD_(FLOAT, GetPatternScale)(THIS) PURE;
- STDMETHOD(SetWidth)(THIS_ FLOAT width) PURE;
- STDMETHOD_(FLOAT, GetWidth)(THIS) PURE;
- STDMETHOD(SetAntialias)(THIS_ BOOL antialias) PURE;
- STDMETHOD_(BOOL, GetAntialias)(THIS) PURE;
- STDMETHOD(SetGLLines)(THIS_ BOOL gl_lines) PURE;
- STDMETHOD_(BOOL, GetGLLines)(THIS) PURE;
- STDMETHOD(End)(THIS) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXLine_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXLine_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXLine_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXLine methods ***/
-#define ID3DXLine_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXLine_Begin(p) (p)->lpVtbl->Begin(p)
-#define ID3DXLine_Draw(p,a,b,c) (p)->lpVtbl->Draw(p,a,b,c)
-#define ID3DXLine_DrawTransform(p,a,b,c,d) (p)->lpVtbl->DrawTransform(p,a,b,c,d)
-#define ID3DXLine_SetPattern(p,a) (p)->lpVtbl->SetPattern(p,a)
-#define ID3DXLine_GetPattern(p) (p)->lpVtbl->GetPattern(p)
-#define ID3DXLine_SetPatternScale(p,a) (p)->lpVtbl->SetPatternScale(p,a)
-#define ID3DXLine_GetPatternScale(p) (p)->lpVtbl->GetPatternScale(p)
-#define ID3DXLine_SetWidth(p,a) (p)->lpVtbl->SetWidth(p,a)
-#define ID3DXLine_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define ID3DXLine_SetAntialias(p,a) (p)->lpVtbl->SetAntialias(p,a)
-#define ID3DXLine_GetAntialias(p) (p)->lpVtbl->GetAntialias(p)
-#define ID3DXLine_SetGLLines(p,a) (p)->lpVtbl->SetGLLines(p,a)
-#define ID3DXLine_GetGLLines(p) (p)->lpVtbl->GetGLLines(p)
-#define ID3DXLine_End(p) (p)->lpVtbl->End(p)
-#define ID3DXLine_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXLine_OnResetDevice(p) (p)->lpVtbl->OnResetDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXLine_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXLine_AddRef(p) (p)->AddRef()
-#define ID3DXLine_Release(p) (p)->Release()
-/*** ID3DXLine methods ***/
-#define ID3DXLine_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXLine_Begin(p) (p)->Begin()
-#define ID3DXLine_Draw(p,a,b,c) (p)->Draw(a,b,c)
-#define ID3DXLine_DrawTransform(p,a,b,c,d) (p)->DrawTransform(a,b,c,d)
-#define ID3DXLine_SetPattern(p,a) (p)->SetPattern(a)
-#define ID3DXLine_GetPattern(p) (p)->GetPattern()
-#define ID3DXLine_SetPatternScale(p,a) (p)->SetPatternScale(a)
-#define ID3DXLine_GetPatternScale(p) (p)->GetPatternScale()
-#define ID3DXLine_SetWidth(p,a) (p)->SetWidth(a)
-#define ID3DXLine_GetWidth(p) (p)->GetWidth()
-#define ID3DXLine_SetAntialias(p,a) (p)->SetAntialias(a)
-#define ID3DXLine_GetAntialias(p) (p)->GetAntialias()
-#define ID3DXLine_SetGLLines(p,a) (p)->SetGLLines(a)
-#define ID3DXLine_GetGLLines(p) (p)->GetGLLines()
-#define ID3DXLine_End(p) (p)->End()
-#define ID3DXLine_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXLine_OnResetDevice(p) (p)->OnResetDevice()
-#endif
-
-typedef struct _D3DXRTE_DESC
-{
- UINT Size;
- UINT MipLevels;
- D3DFORMAT Format;
- BOOL DepthStencil;
- D3DFORMAT DepthStencilFormat;
-} D3DXRTE_DESC;
-
-#define INTERFACE ID3DXRenderToEnvMap
-DECLARE_INTERFACE_(ID3DXRenderToEnvMap, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
-
- /*** ID3DXRenderToEnvMap methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DXRTE_DESC *desc) PURE;
-
- STDMETHOD(BeginCube)(THIS_ LPDIRECT3DCUBETEXTURE9 cubetex) PURE;
- STDMETHOD(BeginSphere)(THIS_ LPDIRECT3DTEXTURE9 tex) PURE;
- STDMETHOD(BeginHemisphere)(THIS_ LPDIRECT3DTEXTURE9 texzpos, LPDIRECT3DTEXTURE9 texzneg) PURE;
- STDMETHOD(BeginParabolic)(THIS_ LPDIRECT3DTEXTURE9 texzpos, LPDIRECT3DTEXTURE9 texzneg) PURE;
-
- STDMETHOD(Face)(THIS_ D3DCUBEMAP_FACES face, DWORD mipfilter) PURE;
- STDMETHOD(End)(THIS_ DWORD mipfilter) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXRenderToEnvMap_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXRenderToEnvMap_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXRenderToEnvMap_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXRenderToEnvMap methods ***/
-#define ID3DXRenderToEnvMap_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXRenderToEnvMap_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define ID3DXRenderToEnvMap_BeginCube(p,a) (p)->lpVtbl->BeginCube(p,a)
-#define ID3DXRenderToEnvMap_BeginSphere(p,a) (p)->lpVtbl->BeginSphere(p,a)
-#define ID3DXRenderToEnvMap_BeginHemisphere(p,a,b) (p)->lpVtbl->BeginHemisphere(p,a,b)
-#define ID3DXRenderToEnvMap_BeginParabolic(p,a,b) (p)->lpVtbl->BeginParabolic(p,a,b)
-#define ID3DXRenderToEnvMap_Face(p,a,b) (p)->lpVtbl->Face(p,a,b)
-#define ID3DXRenderToEnvMap_End(p,a) (p)->lpVtbl->End(p,a)
-#define ID3DXRenderToEnvMap_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXRenderToEnvMap_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXRenderToEnvMap_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXRenderToEnvMap_AddRef(p) (p)->AddRef()
-#define ID3DXRenderToEnvMap_Release(p) (p)->Release()
-/*** ID3DXRenderToEnvMap methods ***/
-#define ID3DXRenderToEnvMap_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXRenderToEnvMap_GetDesc(p,a) (p)->GetDesc(a)
-#define ID3DXRenderToEnvMap_BeginCube(p,a) (p)->BeginCube(a)
-#define ID3DXRenderToEnvMap_BeginSphere(p,a) (p)->BeginSphere(a)
-#define ID3DXRenderToEnvMap_BeginHemisphere(p,a,b) (p)->BeginHemisphere(a,b)
-#define ID3DXRenderToEnvMap_BeginParabolic(p,a,b) (p)->BeginParabolic(a,b)
-#define ID3DXRenderToEnvMap_Face(p,a,b) (p)->Face(a,b)
-#define ID3DXRenderToEnvMap_End(p,a) (p)->End(a)
-#define ID3DXRenderToEnvMap_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXRenderToEnvMap_OnLostDevice(p) (p)->OnLostDevice()
-#endif
-
-typedef struct _D3DXRTS_DESC
-{
- UINT Width;
- UINT Height;
- D3DFORMAT Format;
- BOOL DepthStencil;
- D3DFORMAT DepthStencilFormat;
-} D3DXRTS_DESC;
-
-#define INTERFACE ID3DXRenderToSurface
-DECLARE_INTERFACE_(ID3DXRenderToSurface, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXRenderToSurface methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DXRTS_DESC *desc) PURE;
-
- STDMETHOD(BeginScene)(THIS_ LPDIRECT3DSURFACE9 surface, CONST D3DVIEWPORT9 *viewport) PURE;
- STDMETHOD(EndScene)(THIS_ DWORD mipfilter) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXRenderToSurface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXRenderToSurface_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXRenderToSurface_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXRenderToSurface methods ***/
-#define ID3DXRenderToSurface_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXRenderToSurface_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define ID3DXRenderToSurface_BeginScene(p,a,b) (p)->lpVtbl->BeginScene(p,a,b)
-#define ID3DXRenderToSurface_EndScene(p,a) (p)->lpVtbl->EndScene(p,a)
-#define ID3DXRenderToSurface_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXRenderToSurface_OnResetDevice(p) (p)->lpVtbl->OnResetDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXRenderToSurface_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXRenderToSurface_AddRef(p) (p)->AddRef()
-#define ID3DXRenderToSurface_Release(p) (p)->Release()
-/*** ID3DXRenderToSurface methods ***/
-#define ID3DXRenderToSurface_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXRenderToSurface_GetDesc(p,a) (p)->GetDesc(a)
-#define ID3DXRenderToSurface_BeginScene(p,a,b) (p)->BeginScene(a,b)
-#define ID3DXRenderToSurface_EndScene(p,a) (p)->EndScene(a)
-#define ID3DXRenderToSurface_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXRenderToSurface_OnResetDevice(p) (p)->OnResetDevice()
-#endif
-
-#define INTERFACE ID3DXSprite
-DECLARE_INTERFACE_(ID3DXSprite, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXSprite methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
-
- STDMETHOD(GetTransform)(THIS_ D3DXMATRIX *transform) PURE;
- STDMETHOD(SetTransform)(THIS_ CONST D3DXMATRIX *transform) PURE;
- STDMETHOD(SetWorldViewRH)(THIS_ CONST D3DXMATRIX *world, CONST D3DXMATRIX *view) PURE;
- STDMETHOD(SetWorldViewLH)(THIS_ CONST D3DXMATRIX *world, CONST D3DXMATRIX *view) PURE;
-
- STDMETHOD(Begin)(THIS_ DWORD flags) PURE;
- STDMETHOD(Draw)(THIS_ LPDIRECT3DTEXTURE9 texture, CONST RECT *rect, CONST D3DXVECTOR3 *center, CONST D3DXVECTOR3 *position, D3DCOLOR color) PURE;
- STDMETHOD(Flush)(THIS) PURE;
- STDMETHOD(End)(THIS) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXSprite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXSprite_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXSprite_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXSprite methods ***/
-#define ID3DXSprite_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXSprite_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
-#define ID3DXSprite_SetTransform(p,a) (p)->lpVtbl->SetTransform(p,a)
-#define ID3DXSprite_SetWorldViewRH(p,a,b) (p)->lpVtbl->SetWorldViewRH(p,a,b)
-#define ID3DXSprite_SetWorldViewLH(p,a,b) (p)->lpVtbl->SetWorldViewLH(p,a,b)
-#define ID3DXSprite_Begin(p,a) (p)->lpVtbl->Begin(p,a)
-#define ID3DXSprite_Draw(p,a,b,c,d,e) (p)->lpVtbl->Draw(p,a,b,c,d,e)
-#define ID3DXSprite_Flush(p) (p)->lpVtbl->Flush(p)
-#define ID3DXSprite_End(p) (p)->lpVtbl->End(p)
-#define ID3DXSprite_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXSprite_OnResetDevice(p) (p)->lpVtbl->OnResetDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXSprite_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXSprite_AddRef(p) (p)->AddRef()
-#define ID3DXSprite_Release(p) (p)->Release()
-/*** ID3DXSprite methods ***/
-#define ID3DXSprite_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXSprite_GetTransform(p,a) (p)->GetTransform(a)
-#define ID3DXSprite_SetTransform(p,a) (p)->SetTransform(a)
-#define ID3DXSprite_SetWorldViewRH(p,a,b) (p)->SetWorldViewRH(a,b)
-#define ID3DXSprite_SetWorldViewLH(p,a,b) (p)->SetWorldViewLH(a,b)
-#define ID3DXSprite_Begin(p,a) (p)->Begin(a)
-#define ID3DXSprite_Draw(p,a,b,c,d,e) (p)->Draw(a,b,c,d,e)
-#define ID3DXSprite_Flush(p) (p)->Flush()
-#define ID3DXSprite_End(p) (p)->End()
-#define ID3DXSprite_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXSprite_OnResetDevice(p) (p)->OnResetDevice()
-#endif
-
-/**********************************************
- ****************** functions *****************
- **********************************************/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers);
-HRESULT WINAPI D3DXCreateFontA(LPDIRECT3DDEVICE9 device, INT height, UINT width, UINT weight, UINT miplevels, BOOL italic, DWORD charset,
- DWORD precision, DWORD quality, DWORD pitchandfamily, LPCSTR facename, LPD3DXFONT *font);
-HRESULT WINAPI D3DXCreateFontW(LPDIRECT3DDEVICE9 device, INT height, UINT width, UINT weight, UINT miplevels, BOOL italic, DWORD charset,
- DWORD precision, DWORD quality, DWORD pitchandfamily, LPCWSTR facename, LPD3DXFONT *font);
-#define D3DXCreateFont WINELIB_NAME_AW(D3DXCreateFont)
-HRESULT WINAPI D3DXCreateFontIndirectA(LPDIRECT3DDEVICE9 device, CONST D3DXFONT_DESCA *desc, LPD3DXFONT *font);
-HRESULT WINAPI D3DXCreateFontIndirectW(LPDIRECT3DDEVICE9 device, CONST D3DXFONT_DESCW *desc, LPD3DXFONT *font);
-#define D3DXCreateFontIndirect WINELIB_NAME_AW(D3DXCreateFontIndirect)
-HRESULT WINAPI D3DXCreateLine(LPDIRECT3DDEVICE9 device, LPD3DXLINE *line);
-HRESULT WINAPI D3DXCreateRenderToEnvMap(LPDIRECT3DDEVICE9 device, UINT size, UINT miplevels, D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXRenderToEnvMap *rtem);
-HRESULT WINAPI D3DXCreateRenderToSurface(LPDIRECT3DDEVICE9 device, UINT width, UINT height, D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXRENDERTOSURFACE *rts);
-HRESULT WINAPI D3DXCreateSprite(LPDIRECT3DDEVICE9 device, LPD3DXSPRITE *sprite);
-BOOL WINAPI D3DXDebugMute(BOOL mute);
-UINT WINAPI D3DXGetDriverLevel(LPDIRECT3DDEVICE9 device);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINE_D3DX9CORE_H */
+++ /dev/null
-/*
- * Copyright 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <d3dx9.h>
-
-#ifndef __D3DX9EFFECT_H__
-#define __D3DX9EFFECT_H__
-
-typedef struct _D3DXEFFECT_DESC {
- LPCSTR Creator;
- UINT Parameters;
- UINT Techniques;
- UINT Functions;
-} D3DXEFFECT_DESC;
-
-typedef struct _D3DXPARAMETER_DESC {
- LPCSTR Name;
- LPCSTR Semantic;
- D3DXPARAMETER_CLASS Class;
- D3DXPARAMETER_TYPE Type;
- UINT Rows;
- UINT Columns;
- UINT Elements;
- UINT Annotations;
- UINT StructMembers;
- DWORD Flags;
- UINT Bytes;
-} D3DXPARAMETER_DESC;
-
-typedef struct _D3DXTECHNIQUE_DESC {
- LPCSTR Name;
- UINT Passes;
- UINT Annotations;
-} D3DXTECHNIQUE_DESC;
-
-typedef struct _D3DXPASS_DESC {
- LPCSTR Name;
- UINT Annotations;
- CONST DWORD *pVertexShaderFunction;
- CONST DWORD *pPixelShaderFunction;
-} D3DXPASS_DESC;
-
-typedef struct _D3DXFUNCTION_DESC {
- LPCSTR Name;
- UINT Annotations;
-} D3DXFUNCTION_DESC;
-
-typedef struct ID3DXEffectPool *LPD3DXEFFECTPOOL;
-
-DEFINE_GUID(IID_ID3DXEffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
-
-#undef INTERFACE
-#define INTERFACE ID3DXEffectPool
-
-DECLARE_INTERFACE_(ID3DXEffectPool, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
-};
-
-typedef struct ID3DXBaseEffect *LPD3DXBASEEFFECT;
-
-DEFINE_GUID(IID_ID3DXBaseEffect, 0x17c18ac, 0x103f, 0x4417, 0x8c, 0x51, 0x6b, 0xf6, 0xef, 0x1e, 0x56, 0xbe);
-
-#undef INTERFACE
-#define INTERFACE ID3DXBaseEffect
-
-DECLARE_INTERFACE_(ID3DXBaseEffect, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseEffect methods ***/
- STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* desc) PURE;
- STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
- STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
- STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE pass, D3DXPASS_DESC* desc) PURE;
- STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE shader, D3DXFUNCTION_DESC* desc) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, LPCSTR semantic) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE technique, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
- STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR name);
- STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE object, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
- STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
- STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
- STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
- STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
- STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
- STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
- STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
- STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
- STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
- STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
- STDMETHOD(SetFloat)(THIS_ D3DXHANDLE parameter, FLOAT f) PURE;
- STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
- STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE parameter, CONST FLOAT* f, UINT count) PURE;
- STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
- STDMETHOD(SetVector)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector) PURE;
- STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
- STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, LPCSTR string) PURE;
- STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, LPCSTR* string) PURE;
- STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9 texture) PURE;
- STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9* texture) PURE;
- STDMETHOD(SetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9 pshader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9* pshader) PURE;
- STDMETHOD(SetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9 vshader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9* vshader) PURE;
- STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
-};
-
-typedef struct ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;
-
-DEFINE_GUID(IID_ID3DXEffectStateManager, 0x79aab587, 0x6dbc, 0x4fa7, 0x82, 0xde, 0x37, 0xfa, 0x17, 0x81, 0xc5, 0xce);
-
-#undef INTERFACE
-#define INTERFACE ID3DXEffectStateManager
-
-DECLARE_INTERFACE_(ID3DXEffectStateManager, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXEffectStateManager methods ***/
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, CONST D3DMATRIX* matrix) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* material) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD index, CONST D3DLIGHT9* light) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD index, BOOL enable) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE state, DWORD value) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD stage, LPDIRECT3DBASETEXTURE9 texture) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD stage, D3DTEXTURESTAGESTATETYPE type, DWORD value) PURE;
- STDMETHOD(SetSamplerState)(THIS_ DWORD sampler, D3DSAMPLERSTATETYPE type, DWORD value) PURE;
- STDMETHOD(SetNPatchMode)(THIS_ FLOAT num_segments) PURE;
- STDMETHOD(SetFVF)(THIS_ DWORD format) PURE;
- STDMETHOD(SetVertexShader)(THIS_ LPDIRECT3DVERTEXSHADER9 shader) PURE;
- STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT register_index, CONST FLOAT* constant_data, UINT register_count) PURE;
- STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT register_index, CONST INT* constant_data, UINT register_count) PURE;
- STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT register_index, CONST BOOL* constant_data, UINT register_count) PURE;
- STDMETHOD(SetPixelShader)(THIS_ LPDIRECT3DPIXELSHADER9 shader) PURE;
- STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT register_index, CONST FLOAT* constant_data, UINT register_count) PURE;
- STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT register_index, CONST INT * constant_data, UINT register_count) PURE;
- STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT register_index, CONST BOOL* constant_data, UINT register_count) PURE;
-};
-
-typedef struct ID3DXEffect *LPD3DXEFFECT;
-
-DEFINE_GUID(IID_ID3DXEffect, 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0xc, 0xd5);
-
-#undef INTERFACE
-#define INTERFACE ID3DXEffect
-
-DECLARE_INTERFACE_(ID3DXEffect, ID3DXBaseEffect)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseEffect methods ***/
- STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* desc) PURE;
- STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
- STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
- STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE pass, D3DXPASS_DESC* desc) PURE;
- STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE shader, D3DXFUNCTION_DESC* desc) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, LPCSTR semantic) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE technique, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
- STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR name);
- STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE object, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
- STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
- STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
- STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
- STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
- STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
- STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
- STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
- STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
- STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
- STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
- STDMETHOD(SetFloat)(THIS_ D3DXHANDLE parameter, FLOAT f) PURE;
- STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
- STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE parameter, CONST FLOAT* f, UINT count) PURE;
- STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
- STDMETHOD(SetVector)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector) PURE;
- STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
- STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, LPCSTR string) PURE;
- STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, LPCSTR* string) PURE;
- STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9 texture) PURE;
- STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9* texture) PURE;
- STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9* pshader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9* vshader) PURE;
- STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
- /*** ID3DXEffect methods ***/
- STDMETHOD(GetPool)(THIS_ LPD3DXEFFECTPOOL* pool) PURE;
- STDMETHOD(SetTechnique)(THIS_ D3DXHANDLE technique) PURE;
- STDMETHOD_(D3DXHANDLE, GetCurrentTechnique)(THIS) PURE;
- STDMETHOD(ValidateTechnique)(THIS_ D3DXHANDLE technique) PURE;
- STDMETHOD(FindNextValidTechnique)(THIS_ D3DXHANDLE technique, D3DXHANDLE* next_technique) PURE;
- STDMETHOD_(BOOL, IsParameterUsed)(THIS_ D3DXHANDLE parameter, D3DXHANDLE technique) PURE;
- STDMETHOD(Begin)(THIS_ UINT *passes, DWORD flags) PURE;
- STDMETHOD(BeginPass)(THIS_ UINT pass) PURE;
- STDMETHOD(CommitChanges)(THIS) PURE;
- STDMETHOD(EndPass)(THIS) PURE;
- STDMETHOD(End)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9* device) PURE;
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
- STDMETHOD(SetStateManager)(THIS_ LPD3DXEFFECTSTATEMANAGER manager) PURE;
- STDMETHOD(GetStateManager)(THIS_ LPD3DXEFFECTSTATEMANAGER* manager) PURE;
- STDMETHOD(BeginParameterBlock)(THIS) PURE;
- STDMETHOD_(D3DXHANDLE, EndParameterBlock)(THIS) PURE;
- STDMETHOD(ApplyParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
- STDMETHOD(DeleteParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
- STDMETHOD(CloneEffect)(THIS_ LPDIRECT3DDEVICE9 device, LPD3DXEFFECT* effect) PURE;
- STDMETHOD(SetRawValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT byte_offset, UINT bytes) PURE;
-};
-
-typedef struct ID3DXEffectCompiler *LPD3DXEFFECTCOMPILER;
-
-DEFINE_GUID(IID_ID3DXEffectCompiler, 0x51b8a949, 0x1a31, 0x47e6, 0xbe, 0xa0, 0x4b, 0x30, 0xdb, 0x53, 0xf1, 0xe0);
-
-#undef INTERFACE
-#define INTERFACE ID3DXEffectCompiler
-
-DECLARE_INTERFACE_(ID3DXEffectCompiler, ID3DXBaseEffect)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseEffect methods ***/
- STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* desc) PURE;
- STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
- STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
- STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE pass, D3DXPASS_DESC* desc) PURE;
- STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE shader, D3DXFUNCTION_DESC* desc) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, LPCSTR semantic) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE technique, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
- STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR name);
- STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE object, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
- STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
- STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
- STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
- STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
- STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
- STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
- STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
- STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
- STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
- STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
- STDMETHOD(SetFloat)(THIS_ D3DXHANDLE parameter, FLOAT f) PURE;
- STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
- STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE parameter, CONST FLOAT* f, UINT count) PURE;
- STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
- STDMETHOD(SetVector)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector) PURE;
- STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
- STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, LPCSTR string) PURE;
- STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, LPCSTR* string) PURE;
- STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9 texture) PURE;
- STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9* texture) PURE;
- STDMETHOD(SetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9 pshader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9* pshader) PURE;
- STDMETHOD(SetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9 vshader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9* vshader) PURE;
- STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
- /*** ID3DXEffectCompiler methods ***/
- STDMETHOD(SetLiteral)(THIS_ D3DXHANDLE parameter, BOOL literal) PURE;
- STDMETHOD(GetLiteral)(THIS_ D3DXHANDLE parameter, BOOL* literal) PURE;
- STDMETHOD(CompileEffect)(THIS_ DWORD flags, LPD3DXBUFFER* effect, LPD3DXBUFFER* error_msgs) PURE;
- STDMETHOD(CompileShader)(THIS_ D3DXHANDLE function, LPCSTR target, DWORD flags, LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_msgs, LPD3DXCONSTANTTABLE* constant_table) PURE;
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3DXCreateEffectPool(LPD3DXEFFECTPOOL* pool);
-
-HRESULT WINAPI D3DXCreateEffect(LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatalen,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXEFFECTPOOL pool,
- LPD3DXEFFECT* effect,
- LPD3DXBUFFER* compilation_errors);
-
-HRESULT WINAPI D3DXCreateEffectEx(LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatalen,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- LPCSTR skip_constants,
- DWORD flags,
- LPD3DXEFFECTPOOL pool,
- LPD3DXEFFECT* effect,
- LPD3DXBUFFER* compilation_errors);
-
-HRESULT WINAPI D3DXCreateEffectCompiler(LPCSTR srcdata,
- UINT srcdatalen,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXEFFECTCOMPILER* compiler,
- LPD3DXBUFFER* parse_errors);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D3DX9EFFECT_H__ */
+++ /dev/null
-/*
- * Copyright (C) 2007 David Adam
- * Copyright (C) 2007 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <d3dx9.h>
-
-#ifndef __D3DX9MATH_H__
-#define __D3DX9MATH_H__
-
-#include <math.h>
-
-#define D3DX_PI ((FLOAT)3.141592654)
-#define D3DX_1BYPI ((FLOAT)0.318309886)
-
-#define D3DXToRadian(degree) ((degree) * (D3DX_PI / 180.0f))
-#define D3DXToDegree(radian) ((radian) * (180.0f / D3DX_PI))
-
-
-
-typedef struct D3DXVECTOR2
-{
-#ifdef __cplusplus
- D3DXVECTOR2();
- D3DXVECTOR2(CONST FLOAT *pf);
- D3DXVECTOR2(FLOAT fx, FLOAT fy);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXVECTOR2& operator += (CONST D3DXVECTOR2&);
- D3DXVECTOR2& operator -= (CONST D3DXVECTOR2&);
- D3DXVECTOR2& operator *= (FLOAT);
- D3DXVECTOR2& operator /= (FLOAT);
-
- D3DXVECTOR2 operator + () const;
- D3DXVECTOR2 operator - () const;
-
- D3DXVECTOR2 operator + (CONST D3DXVECTOR2&) const;
- D3DXVECTOR2 operator - (CONST D3DXVECTOR2&) const;
- D3DXVECTOR2 operator * (FLOAT) const;
- D3DXVECTOR2 operator / (FLOAT) const;
-
- friend D3DXVECTOR2 operator * (FLOAT, CONST D3DXVECTOR2&);
-
- BOOL operator == (CONST D3DXVECTOR2&) const;
- BOOL operator != (CONST D3DXVECTOR2&) const;
-#endif /* __cplusplus */
- FLOAT x, y;
-} D3DXVECTOR2, *LPD3DXVECTOR2;
-
-#ifdef __cplusplus
-typedef struct D3DXVECTOR3 : public D3DVECTOR
-{
- D3DXVECTOR3();
- D3DXVECTOR3(CONST FLOAT *pf);
- D3DXVECTOR3(CONST D3DVECTOR& v);
- D3DXVECTOR3(FLOAT fx, FLOAT fy, FLOAT fz);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXVECTOR3& operator += (CONST D3DXVECTOR3&);
- D3DXVECTOR3& operator -= (CONST D3DXVECTOR3&);
- D3DXVECTOR3& operator *= (FLOAT);
- D3DXVECTOR3& operator /= (FLOAT);
-
- D3DXVECTOR3 operator + () const;
- D3DXVECTOR3 operator - () const;
-
- D3DXVECTOR3 operator + (CONST D3DXVECTOR3&) const;
- D3DXVECTOR3 operator - (CONST D3DXVECTOR3&) const;
- D3DXVECTOR3 operator * (FLOAT) const;
- D3DXVECTOR3 operator / (FLOAT) const;
-
- friend D3DXVECTOR3 operator * (FLOAT, CONST struct D3DXVECTOR3&);
-
- BOOL operator == (CONST D3DXVECTOR3&) const;
- BOOL operator != (CONST D3DXVECTOR3&) const;
-} D3DXVECTOR3, *LPD3DXVECTOR3;
-#else /* !__cplusplus */
-typedef struct _D3DVECTOR D3DXVECTOR3, *LPD3DXVECTOR3;
-#endif /* !__cplusplus */
-
-typedef struct D3DXVECTOR4
-{
-#ifdef __cplusplus
- D3DXVECTOR4();
- D3DXVECTOR4(CONST FLOAT *pf);
- D3DXVECTOR4(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXVECTOR4& operator += (CONST D3DXVECTOR4&);
- D3DXVECTOR4& operator -= (CONST D3DXVECTOR4&);
- D3DXVECTOR4& operator *= (FLOAT);
- D3DXVECTOR4& operator /= (FLOAT);
-
- D3DXVECTOR4 operator + () const;
- D3DXVECTOR4 operator - () const;
-
- D3DXVECTOR4 operator + (CONST D3DXVECTOR4&) const;
- D3DXVECTOR4 operator - (CONST D3DXVECTOR4&) const;
- D3DXVECTOR4 operator * (FLOAT) const;
- D3DXVECTOR4 operator / (FLOAT) const;
-
- friend D3DXVECTOR4 operator * (FLOAT, CONST D3DXVECTOR4&);
-
- BOOL operator == (CONST D3DXVECTOR4&) const;
- BOOL operator != (CONST D3DXVECTOR4&) const;
-#endif /* __cplusplus */
- FLOAT x, y, z, w;
-} D3DXVECTOR4, *LPD3DXVECTOR4;
-
-#ifdef __cplusplus
-typedef struct D3DXMATRIX : public D3DMATRIX
-{
- D3DXMATRIX();
- D3DXMATRIX(CONST FLOAT *pf);
- D3DXMATRIX(CONST D3DMATRIX& mat);
- D3DXMATRIX(FLOAT f11, FLOAT f12, FLOAT f13, FLOAT f14,
- FLOAT f21, FLOAT f22, FLOAT f23, FLOAT f24,
- FLOAT f31, FLOAT f32, FLOAT f33, FLOAT f34,
- FLOAT f41, FLOAT f42, FLOAT f43, FLOAT f44);
-
- FLOAT& operator () (UINT row, UINT col);
- FLOAT operator () (UINT row, UINT col) const;
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXMATRIX& operator *= (CONST D3DXMATRIX&);
- D3DXMATRIX& operator += (CONST D3DXMATRIX&);
- D3DXMATRIX& operator -= (CONST D3DXMATRIX&);
- D3DXMATRIX& operator *= (FLOAT);
- D3DXMATRIX& operator /= (FLOAT);
-
- D3DXMATRIX operator + () const;
- D3DXMATRIX operator - () const;
-
- D3DXMATRIX operator * (CONST D3DXMATRIX&) const;
- D3DXMATRIX operator + (CONST D3DXMATRIX&) const;
- D3DXMATRIX operator - (CONST D3DXMATRIX&) const;
- D3DXMATRIX operator * (FLOAT) const;
- D3DXMATRIX operator / (FLOAT) const;
-
- friend D3DXMATRIX operator * (FLOAT, CONST D3DXMATRIX&);
-
- BOOL operator == (CONST D3DXMATRIX&) const;
- BOOL operator != (CONST D3DXMATRIX&) const;
-} D3DXMATRIX, *LPD3DXMATRIX;
-#else /* !__cplusplus */
-typedef struct _D3DMATRIX D3DXMATRIX, *LPD3DXMATRIX;
-#endif /* !__cplusplus */
-
-typedef struct D3DXQUATERNION
-{
-#ifdef __cplusplus
- D3DXQUATERNION();
- D3DXQUATERNION(CONST FLOAT *pf);
- D3DXQUATERNION(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXQUATERNION& operator += (CONST D3DXQUATERNION&);
- D3DXQUATERNION& operator -= (CONST D3DXQUATERNION&);
- D3DXQUATERNION& operator *= (CONST D3DXQUATERNION&);
- D3DXQUATERNION& operator *= (FLOAT);
- D3DXQUATERNION& operator /= (FLOAT);
-
- D3DXQUATERNION operator + () const;
- D3DXQUATERNION operator - () const;
-
- D3DXQUATERNION operator + (CONST D3DXQUATERNION&) const;
- D3DXQUATERNION operator - (CONST D3DXQUATERNION&) const;
- D3DXQUATERNION operator * (CONST D3DXQUATERNION&) const;
- D3DXQUATERNION operator * (FLOAT) const;
- D3DXQUATERNION operator / (FLOAT) const;
-
- friend D3DXQUATERNION operator * (FLOAT, CONST D3DXQUATERNION&);
-
- BOOL operator == (CONST D3DXQUATERNION&) const;
- BOOL operator != (CONST D3DXQUATERNION&) const;
-#endif /* __cplusplus */
- FLOAT x, y, z, w;
-} D3DXQUATERNION, *LPD3DXQUATERNION;
-
-typedef struct D3DXPLANE
-{
-#ifdef __cplusplus
- D3DXPLANE();
- D3DXPLANE(CONST FLOAT *pf);
- D3DXPLANE(FLOAT fa, FLOAT fb, FLOAT fc, FLOAT fd);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXPLANE operator + () const;
- D3DXPLANE operator - () const;
-
- BOOL operator == (CONST D3DXPLANE&) const;
- BOOL operator != (CONST D3DXPLANE&) const;
-#endif /* __cplusplus */
- FLOAT a, b, c, d;
-} D3DXPLANE, *LPD3DXPLANE;
-
-typedef struct D3DXCOLOR
-{
-#ifdef __cplusplus
- D3DXCOLOR();
- D3DXCOLOR(DWORD col);
- D3DXCOLOR(CONST FLOAT *pf);
- D3DXCOLOR(CONST D3DCOLORVALUE& col);
- D3DXCOLOR(FLOAT fr, FLOAT fg, FLOAT fb, FLOAT fa);
-
- operator DWORD () const;
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- operator D3DCOLORVALUE* ();
- operator CONST D3DCOLORVALUE* () const;
-
- operator D3DCOLORVALUE& ();
- operator CONST D3DCOLORVALUE& () const;
-
- D3DXCOLOR& operator += (CONST D3DXCOLOR&);
- D3DXCOLOR& operator -= (CONST D3DXCOLOR&);
- D3DXCOLOR& operator *= (FLOAT);
- D3DXCOLOR& operator /= (FLOAT);
-
- D3DXCOLOR operator + () const;
- D3DXCOLOR operator - () const;
-
- D3DXCOLOR operator + (CONST D3DXCOLOR&) const;
- D3DXCOLOR operator - (CONST D3DXCOLOR&) const;
- D3DXCOLOR operator * (FLOAT) const;
- D3DXCOLOR operator / (FLOAT) const;
-
- friend D3DXCOLOR operator * (FLOAT, CONST D3DXCOLOR&);
-
- BOOL operator == (CONST D3DXCOLOR&) const;
- BOOL operator != (CONST D3DXCOLOR&) const;
-#endif /* __cplusplus */
- FLOAT r, g, b, a;
-} D3DXCOLOR, *LPD3DXCOLOR;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-D3DXCOLOR* WINAPI D3DXColorAdjustContrast(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s);
-D3DXCOLOR* WINAPI D3DXColorAdjustSaturation(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s);
-
-FLOAT WINAPI D3DXFresnelTerm(FLOAT costheta, FLOAT refractionindex);
-
-D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *pout, FLOAT scaling, CONST D3DXVECTOR3 *rotationcenter, CONST D3DXQUATERNION *rotation, CONST D3DXVECTOR3 *translation);
-D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation2D(D3DXMATRIX *pout, FLOAT scaling, CONST D3DXVECTOR2 *protationcenter, FLOAT rotation, CONST D3DXVECTOR2 *ptranslation);
-HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *poutscale, D3DXQUATERNION *poutrotation, D3DXVECTOR3 *pouttranslation, CONST D3DXMATRIX *pm);
-FLOAT WINAPI D3DXMatrixDeterminant(CONST D3DXMATRIX *pm);
-D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, CONST D3DXMATRIX *pm);
-D3DXMATRIX* WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *pout, CONST D3DXVECTOR3 *peye, CONST D3DXVECTOR3 *pat, CONST D3DXVECTOR3 *pup);
-D3DXMATRIX* WINAPI D3DXMatrixLookAtRH(D3DXMATRIX *pout, CONST D3DXVECTOR3 *peye, CONST D3DXVECTOR3 *pat, CONST D3DXVECTOR3 *pup);
-D3DXMATRIX* WINAPI D3DXMatrixMultiply(D3DXMATRIX *pout, CONST D3DXMATRIX *pm1, CONST D3DXMATRIX *pm2);
-D3DXMATRIX* WINAPI D3DXMatrixMultiplyTranspose(D3DXMATRIX *pout, CONST D3DXMATRIX *pm1, CONST D3DXMATRIX *pm2);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveFovLH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveFovRH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixReflect(D3DXMATRIX *pout, CONST D3DXPLANE *pplane);
-D3DXMATRIX* WINAPI D3DXMatrixRotationAxis(D3DXMATRIX *pout, CONST D3DXVECTOR3 *pv, FLOAT angle);
-D3DXMATRIX* WINAPI D3DXMatrixRotationQuaternion(D3DXMATRIX *pout, CONST D3DXQUATERNION *pq);
-D3DXMATRIX* WINAPI D3DXMatrixRotationX(D3DXMATRIX *pout, FLOAT angle);
-D3DXMATRIX* WINAPI D3DXMatrixRotationY(D3DXMATRIX *pout, FLOAT angle);
-D3DXMATRIX* WINAPI D3DXMatrixRotationYawPitchRoll(D3DXMATRIX *pout, FLOAT yaw, FLOAT pitch, FLOAT roll);
-D3DXMATRIX* WINAPI D3DXMatrixRotationZ(D3DXMATRIX *pout, FLOAT angle);
-D3DXMATRIX* WINAPI D3DXMatrixScaling(D3DXMATRIX *pout, FLOAT sx, FLOAT sy, FLOAT sz);
-D3DXMATRIX* WINAPI D3DXMatrixShadow(D3DXMATRIX *pout, CONST D3DXVECTOR4 *plight, CONST D3DXPLANE *pPlane);
-D3DXMATRIX* WINAPI D3DXMatrixTransformation(D3DXMATRIX *pout, CONST D3DXVECTOR3 *pscalingcenter, CONST D3DXQUATERNION *pscalingrotation, CONST D3DXVECTOR3 *pscaling, CONST D3DXVECTOR3 *protationcenter, CONST D3DXQUATERNION *protation, CONST D3DXVECTOR3 *ptranslation);
-D3DXMATRIX* WINAPI D3DXMatrixTransformation2D(D3DXMATRIX *pout, CONST D3DXVECTOR2 *pscalingcenter, FLOAT scalingrotation, CONST D3DXVECTOR2 *pscaling, CONST D3DXVECTOR2 *protationcenter, FLOAT rotation, CONST D3DXVECTOR2 *ptranslation);
-D3DXMATRIX* WINAPI D3DXMatrixTranslation(D3DXMATRIX *pout, FLOAT x, FLOAT y, FLOAT z);
-D3DXMATRIX* WINAPI D3DXMatrixTranspose(D3DXMATRIX *pout, CONST D3DXMATRIX *pm);
-
-D3DXPLANE* WINAPI D3DXPlaneFromPointNormal(D3DXPLANE *pout, CONST D3DXVECTOR3 *pvpoint, CONST D3DXVECTOR3 *pvnormal);
-D3DXPLANE* WINAPI D3DXPlaneFromPoints(D3DXPLANE *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pv3);
-D3DXVECTOR3* WINAPI D3DXPlaneIntersectLine(D3DXVECTOR3 *pout, CONST D3DXPLANE *pp, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2);
-D3DXPLANE* WINAPI D3DXPlaneNormalize(D3DXPLANE *pout, CONST D3DXPLANE *pp);
-D3DXPLANE* WINAPI D3DXPlaneTransform(D3DXPLANE *pout, CONST D3DXPLANE *pplane, CONST D3DXMATRIX *pm);
-D3DXPLANE* WINAPI D3DXPlaneTransformArray(D3DXPLANE *pout, UINT outstride, CONST D3DXPLANE *pplane, UINT pstride, CONST D3DXMATRIX *pm, UINT n);
-
-D3DXQUATERNION* WINAPI D3DXQuaternionBaryCentric(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2, CONST D3DXQUATERNION *pq3, FLOAT f, FLOAT g);
-D3DXQUATERNION* WINAPI D3DXQuaternionExp(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
-D3DXQUATERNION* WINAPI D3DXQuaternionInverse(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
-D3DXQUATERNION* WINAPI D3DXQuaternionLn(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
-D3DXQUATERNION* WINAPI D3DXQuaternionMultiply(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2);
-D3DXQUATERNION* WINAPI D3DXQuaternionNormalize(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
-D3DXQUATERNION* WINAPI D3DXQuaternionRotationAxis(D3DXQUATERNION *pout, CONST D3DXVECTOR3 *pv, FLOAT angle);
-D3DXQUATERNION* WINAPI D3DXQuaternionRotationMatrix(D3DXQUATERNION *pout, CONST D3DXMATRIX *pm);
-D3DXQUATERNION* WINAPI D3DXQuaternionRotationYawPitchRoll(D3DXQUATERNION *pout, FLOAT yaw, FLOAT pitch, FLOAT roll);
-D3DXQUATERNION* WINAPI D3DXQuaternionSlerp(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2, FLOAT t);
-D3DXQUATERNION* WINAPI D3DXQuaternionSquad(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2, CONST D3DXQUATERNION *pq3, CONST D3DXQUATERNION *pq4, FLOAT t);
-void WINAPI D3DXQuaternionToAxisAngle(CONST D3DXQUATERNION *pq, D3DXVECTOR3 *paxis, FLOAT *pangle);
-
-D3DXVECTOR2* WINAPI D3DXVec2BaryCentric(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2, CONST D3DXVECTOR2 *pv3, FLOAT f, FLOAT g);
-D3DXVECTOR2* WINAPI D3DXVec2CatmullRom(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv0, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2, CONST D3DXVECTOR2 *pv3, FLOAT s);
-D3DXVECTOR2* WINAPI D3DXVec2Hermite(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pt1, CONST D3DXVECTOR2 *pv2, CONST D3DXVECTOR2 *pt2, FLOAT s);
-D3DXVECTOR2* WINAPI D3DXVec2Normalize(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv);
-D3DXVECTOR4* WINAPI D3DXVec2Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR2 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR4* WINAPI D3DXVec2TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR2 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR2* WINAPI D3DXVec2TransformCoord(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR2* WINAPI D3DXVec2TransformCoordArray(D3DXVECTOR2 *pout, UINT outstride, CONST D3DXVECTOR2 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR2* WINAPI D3DXVec2TransformNormal(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR2* WINAPI D3DXVec2TransformNormalArray(D3DXVECTOR2 *pout, UINT outstride, CONST D3DXVECTOR2 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-
-D3DXVECTOR3* WINAPI D3DXVec3BaryCentric(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pv3, FLOAT f, FLOAT g);
-D3DXVECTOR3* WINAPI D3DXVec3CatmullRom( D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv0, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pv3, FLOAT s);
-D3DXVECTOR3* WINAPI D3DXVec3Hermite(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pt1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pt2, FLOAT s);
-D3DXVECTOR3* WINAPI D3DXVec3Normalize(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv);
-D3DXVECTOR3* WINAPI D3DXVec3Project(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld);
-D3DXVECTOR3* WINAPI D3DXVec3ProjectArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld, UINT n);
-D3DXVECTOR4* WINAPI D3DXVec3Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR3 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR4* WINAPI D3DXVec3TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR3* WINAPI D3DXVec3TransformCoord(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR3* WINAPI D3DXVec3TransformCoordArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR3* WINAPI D3DXVec3TransformNormal(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR3* WINAPI D3DXVec3TransformNormalArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR3* WINAPI D3DXVec3Unproject(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld);
-D3DXVECTOR3* WINAPI D3DXVec3UnprojectArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld, UINT n);
-
-D3DXVECTOR4* WINAPI D3DXVec4BaryCentric(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pv3, FLOAT f, FLOAT g);
-D3DXVECTOR4* WINAPI D3DXVec4CatmullRom(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv0, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pv3, FLOAT s);
-D3DXVECTOR4* WINAPI D3DXVec4Cross(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pv3);
-D3DXVECTOR4* WINAPI D3DXVec4Hermite(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pt1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pt2, FLOAT s);
-D3DXVECTOR4* WINAPI D3DXVec4Normalize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv);
-D3DXVECTOR4* WINAPI D3DXVec4Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR4* WINAPI D3DXVec4TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR4 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-
-#ifdef __cplusplus
-}
-#endif
-
-typedef interface ID3DXMatrixStack *LPD3DXMATRIXSTACK;
-
-DEFINE_GUID(IID_ID3DXMatrixStack,
-0xc7885ba7, 0xf990, 0x4fe7, 0x92, 0x2d, 0x85, 0x15, 0xe4, 0x77, 0xdd, 0x85);
-
-#undef INTERFACE
-#define INTERFACE ID3DXMatrixStack
-
-DECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Pop)(THIS) PURE;
- STDMETHOD(Push)(THIS) PURE;
- STDMETHOD(LoadIdentity)(THIS) PURE;
- STDMETHOD(LoadMatrix)(THIS_ CONST D3DXMATRIX* pM ) PURE;
- STDMETHOD(MultMatrix)(THIS_ CONST D3DXMATRIX* pM ) PURE;
- STDMETHOD(MultMatrixLocal)(THIS_ CONST D3DXMATRIX* pM ) PURE;
- STDMETHOD(RotateAxis)(THIS_ CONST D3DXVECTOR3* pV, FLOAT Angle) PURE;
- STDMETHOD(RotateAxisLocal)(THIS_ CONST D3DXVECTOR3* pV, FLOAT Angle) PURE;
- STDMETHOD(RotateYawPitchRoll)(THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
- STDMETHOD(RotateYawPitchRollLocal)(THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
- STDMETHOD(Scale)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
- STDMETHOD(ScaleLocal)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
- STDMETHOD(Translate)(THIS_ FLOAT x, FLOAT y, FLOAT z ) PURE;
- STDMETHOD(TranslateLocal)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
- STDMETHOD_(D3DXMATRIX*, GetTop)(THIS) PURE;
-};
-
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-
-#define ID3DXMatrixStack_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXMatrixStack_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXMatrixStack_Release(p) (p)->lpVtbl->Release(p)
-#define ID3DXMatrixStack_Pop(p) (p)->lpVtbl->Pop(p)
-#define ID3DXMatrixStack_Push(p) (p)->lpVtbl->Push(p)
-#define ID3DXMatrixStack_LoadIdentity(p) (p)->lpVtbl->LoadIdentity(p)
-#define ID3DXMatrixStack_LoadMatrix(p,a) (p)->lpVtbl->LoadMatrix(p,a)
-#define ID3DXMatrixStack_MultMatrix(p,a) (p)->lpVtbl->MultMatrix(p,a)
-#define ID3DXMatrixStack_MultMatrixLocal(p,a) (p)->lpVtbl->MultMatrixLocal(p,a)
-#define ID3DXMatrixStack_RotateAxis(p,a,b) (p)->lpVtbl->RotateAxis(p,a,b)
-#define ID3DXMatrixStack_RotateAxisLocal(p,a,b) (p)->lpVtbl->RotateAxisLocal(p,a,b)
-#define ID3DXMatrixStack_RotateYawPitchRoll(p,a,b,c) (p)->lpVtbl->RotateYawPitchRoll(p,a,b,c)
-#define ID3DXMatrixStack_RotateYawPitchRollLocal(p,a,b,c) (p)->lpVtbl->RotateYawPitchRollLocal(p,a,b,c)
-#define ID3DXMatrixStack_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define ID3DXMatrixStack_ScaleLocal(p,a,b,c) (p)->lpVtbl->ScaleLocal(p,a,b,c)
-#define ID3DXMatrixStack_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
-#define ID3DXMatrixStack_TranslateLocal(p,a,b,c) (p)->lpVtbl->TranslateLocal(p,a,b,c)
-#define ID3DXMatrixStack_GetTop(p) (p)->lpVtbl->GetTop(p)
-
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3DXCreateMatrixStack(DWORD flags, LPD3DXMATRIXSTACK* ppstack);
-
-#ifdef __cplusplus
-}
-#endif
-
-#include <d3dx9math.inl>
-
-#endif /* __D3DX9MATH_H__ */
+++ /dev/null
-/*
- * Copyright (C) 2007 David Adam
- * Copyright (C) 2007 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DX9MATH_INL__
-#define __D3DX9MATH_INL__
-
-/* constructors & operators */
-#ifdef __cplusplus
-
-inline D3DXVECTOR2::D3DXVECTOR2()
-{
-}
-
-inline D3DXVECTOR2::D3DXVECTOR2(CONST FLOAT *pf)
-{
- if(!pf) return;
- x = pf[0];
- y = pf[1];
-}
-
-inline D3DXVECTOR2::D3DXVECTOR2(FLOAT fx, FLOAT fy)
-{
- x = fx;
- y = fy;
-}
-
-inline D3DXVECTOR2::operator FLOAT* ()
-{
- return (FLOAT*)&x;
-}
-
-inline D3DXVECTOR2::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&x;
-}
-
-inline D3DXVECTOR2& D3DXVECTOR2::operator += (CONST D3DXVECTOR2& v)
-{
- x += v.x;
- y += v.y;
- return *this;
-}
-
-inline D3DXVECTOR2& D3DXVECTOR2::operator -= (CONST D3DXVECTOR2& v)
-{
- x -= v.x;
- y -= v.y;
- return *this;
-}
-
-inline D3DXVECTOR2& D3DXVECTOR2::operator *= (FLOAT f)
-{
- x *= f;
- y *= f;
- return *this;
-}
-
-inline D3DXVECTOR2& D3DXVECTOR2::operator /= (FLOAT f)
-{
- x /= f;
- y /= f;
- return *this;
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator + () const
-{
- return *this;
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator - () const
-{
- return D3DXVECTOR2(-x, -y);
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator + (CONST D3DXVECTOR2& v) const
-{
- return D3DXVECTOR2(x + v.x, y + v.y);
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator - (CONST D3DXVECTOR2& v) const
-{
- return D3DXVECTOR2(x - v.x, y - v.y);
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator * (FLOAT f) const
-{
- return D3DXVECTOR2(x * f, y * f);
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator / (FLOAT f) const
-{
- return D3DXVECTOR2(x / f, y / f);
-}
-
-inline D3DXVECTOR2 operator * (FLOAT f, CONST D3DXVECTOR2& v)
-{
- return D3DXVECTOR2(f * v.x, f * v.y);
-}
-
-inline BOOL D3DXVECTOR2::operator == (CONST D3DXVECTOR2& v) const
-{
- return x == v.x && y == v.y;
-}
-
-inline BOOL D3DXVECTOR2::operator != (CONST D3DXVECTOR2& v) const
-{
- return x != v.x || y != v.y;
-}
-
-inline D3DXVECTOR3::D3DXVECTOR3()
-{
-}
-
-inline D3DXVECTOR3::D3DXVECTOR3(CONST FLOAT *pf)
-{
- if(!pf) return;
- x = pf[0];
- y = pf[1];
- z = pf[2];
-}
-
-inline D3DXVECTOR3::D3DXVECTOR3(CONST D3DVECTOR& v)
-{
- x = v.x;
- y = v.y;
- z = v.z;
-}
-
-inline D3DXVECTOR3::D3DXVECTOR3(FLOAT fx, FLOAT fy, FLOAT fz)
-{
- x = fx;
- y = fy;
- z = fz;
-}
-
-inline D3DXVECTOR3::operator FLOAT* ()
-{
- return (FLOAT*)&x;
-}
-
-inline D3DXVECTOR3::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&x;
-}
-
-inline D3DXVECTOR3& D3DXVECTOR3::operator += (CONST D3DXVECTOR3& v)
-{
- x += v.x;
- y += v.y;
- z += v.z;
- return *this;
-}
-
-inline D3DXVECTOR3& D3DXVECTOR3::operator -= (CONST D3DXVECTOR3& v)
-{
- x -= v.x;
- y -= v.y;
- z -= v.z;
- return *this;
-}
-
-inline D3DXVECTOR3& D3DXVECTOR3::operator *= (FLOAT f)
-{
- x *= f;
- y *= f;
- z *= f;
- return *this;
-}
-
-inline D3DXVECTOR3& D3DXVECTOR3::operator /= (FLOAT f)
-{
- x /= f;
- y /= f;
- z /= f;
- return *this;
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator + () const
-{
- return *this;
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator - () const
-{
- return D3DXVECTOR3(-x, -y, -z);
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator + (CONST D3DXVECTOR3& v) const
-{
- return D3DXVECTOR3(x + v.x, y + v.y, z + v.z);
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator - (CONST D3DXVECTOR3& v) const
-{
- return D3DXVECTOR3(x - v.x, y - v.y, z - v.z);
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator * (FLOAT f) const
-{
- return D3DXVECTOR3(x * f, y * f, z * f);
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator / (FLOAT f) const
-{
- return D3DXVECTOR3(x / f, y / f, z / f);
-}
-
-inline D3DXVECTOR3 operator * (FLOAT f, CONST D3DXVECTOR3& v)
-{
- return D3DXVECTOR3(f * v.x, f * v.y, f * v.z);
-}
-
-inline BOOL D3DXVECTOR3::operator == (CONST D3DXVECTOR3& v) const
-{
- return x == v.x && y == v.y && z == v.z;
-}
-
-inline BOOL D3DXVECTOR3::operator != (CONST D3DXVECTOR3& v) const
-{
- return x != v.x || y != v.y || z != v.z;
-}
-
-inline D3DXVECTOR4::D3DXVECTOR4()
-{
-}
-
-inline D3DXVECTOR4::D3DXVECTOR4(CONST FLOAT *pf)
-{
- if(!pf) return;
- x = pf[0];
- y = pf[1];
- z = pf[2];
- w = pf[3];
-}
-
-inline D3DXVECTOR4::D3DXVECTOR4(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw)
-{
- x = fx;
- y = fy;
- z = fz;
- w = fw;
-}
-
-inline D3DXVECTOR4::operator FLOAT* ()
-{
- return (FLOAT*)&x;
-}
-
-inline D3DXVECTOR4::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&x;
-}
-
-inline D3DXVECTOR4& D3DXVECTOR4::operator += (CONST D3DXVECTOR4& v)
-{
- x += v.x;
- y += v.y;
- z += v.z;
- w += v.w;
- return *this;
-}
-
-inline D3DXVECTOR4& D3DXVECTOR4::operator -= (CONST D3DXVECTOR4& v)
-{
- x -= v.x;
- y -= v.y;
- z -= v.z;
- w -= v.w;
- return *this;
-}
-
-inline D3DXVECTOR4& D3DXVECTOR4::operator *= (FLOAT f)
-{
- x *= f;
- y *= f;
- z *= f;
- w *= f;
- return *this;
-}
-
-inline D3DXVECTOR4& D3DXVECTOR4::operator /= (FLOAT f)
-{
- x /= f;
- y /= f;
- z /= f;
- w /= f;
- return *this;
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator + () const
-{
- return *this;
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator - () const
-{
- return D3DXVECTOR4(-x, -y, -z, -w);
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator + (CONST D3DXVECTOR4& v) const
-{
- return D3DXVECTOR4(x + v.x, y + v.y, z + v.z, w + v.w);
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator - (CONST D3DXVECTOR4& v) const
-{
- return D3DXVECTOR4(x - v.x, y - v.y, z - v.z, w - v.w);
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator * (FLOAT f) const
-{
- return D3DXVECTOR4(x * f, y * f, z * f, w * f);
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator / (FLOAT f) const
-{
- return D3DXVECTOR4(x / f, y / f, z / f, w / f);
-}
-
-inline D3DXVECTOR4 operator * (FLOAT f, CONST D3DXVECTOR4& v)
-{
- return D3DXVECTOR4(f * v.x, f * v.y, f * v.z, f * v.w);
-}
-
-inline BOOL D3DXVECTOR4::operator == (CONST D3DXVECTOR4& v) const
-{
- return x == v.x && y == v.y && z == v.z && w == v.w;
-}
-
-inline BOOL D3DXVECTOR4::operator != (CONST D3DXVECTOR4& v) const
-{
- return x != v.x || y != v.y || z != v.z || w != v.w;
-}
-
-inline D3DXMATRIX::D3DXMATRIX()
-{
-}
-
-inline D3DXMATRIX::D3DXMATRIX(CONST FLOAT *pf)
-{
- if(!pf) return;
- memcpy(&_11, pf, sizeof(D3DXMATRIX));
-}
-
-inline D3DXMATRIX::D3DXMATRIX(CONST D3DMATRIX& mat)
-{
- memcpy(&_11, &mat, sizeof(D3DXMATRIX));
-}
-
-inline D3DXMATRIX::D3DXMATRIX(FLOAT f11, FLOAT f12, FLOAT f13, FLOAT f14,
- FLOAT f21, FLOAT f22, FLOAT f23, FLOAT f24,
- FLOAT f31, FLOAT f32, FLOAT f33, FLOAT f34,
- FLOAT f41, FLOAT f42, FLOAT f43, FLOAT f44)
-{
- _11 = f11; _12 = f12; _13 = f13; _14 = f14;
- _21 = f21; _22 = f22; _23 = f23; _24 = f24;
- _31 = f31; _32 = f32; _33 = f33; _34 = f34;
- _41 = f41; _42 = f42; _43 = f43; _44 = f44;
-}
-
-inline FLOAT& D3DXMATRIX::operator () (UINT row, UINT col)
-{
- return m[row][col];
-}
-
-inline FLOAT D3DXMATRIX::operator () (UINT row, UINT col) const
-{
- return m[row][col];
-}
-
-inline D3DXMATRIX::operator FLOAT* ()
-{
- return (FLOAT*)&_11;
-}
-
-inline D3DXMATRIX::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&_11;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator *= (CONST D3DXMATRIX& mat)
-{
- D3DXMatrixMultiply(this, this, &mat);
- return *this;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator += (CONST D3DXMATRIX& mat)
-{
- _11 += mat._11; _12 += mat._12; _13 += mat._13; _14 += mat._14;
- _21 += mat._21; _22 += mat._22; _23 += mat._23; _24 += mat._24;
- _31 += mat._31; _32 += mat._32; _33 += mat._33; _34 += mat._34;
- _41 += mat._41; _42 += mat._42; _43 += mat._43; _44 += mat._44;
- return *this;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator -= (CONST D3DXMATRIX& mat)
-{
- _11 -= mat._11; _12 -= mat._12; _13 -= mat._13; _14 -= mat._14;
- _21 -= mat._21; _22 -= mat._22; _23 -= mat._23; _24 -= mat._24;
- _31 -= mat._31; _32 -= mat._32; _33 -= mat._33; _34 -= mat._34;
- _41 -= mat._41; _42 -= mat._42; _43 -= mat._43; _44 -= mat._44;
- return *this;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator *= (FLOAT f)
-{
- _11 *= f; _12 *= f; _13 *= f; _14 *= f;
- _21 *= f; _22 *= f; _23 *= f; _24 *= f;
- _31 *= f; _32 *= f; _33 *= f; _34 *= f;
- _41 *= f; _42 *= f; _43 *= f; _44 *= f;
- return *this;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator /= (FLOAT f)
-{
- FLOAT inv = 1.0f / f;
- _11 *= inv; _12 *= inv; _13 *= inv; _14 *= inv;
- _21 *= inv; _22 *= inv; _23 *= inv; _24 *= inv;
- _31 *= inv; _32 *= inv; _33 *= inv; _34 *= inv;
- _41 *= inv; _42 *= inv; _43 *= inv; _44 *= inv;
- return *this;
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator + () const
-{
- return *this;
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator - () const
-{
- return D3DXMATRIX(-_11, -_12, -_13, -_14,
- -_21, -_22, -_23, -_24,
- -_31, -_32, -_33, -_34,
- -_41, -_42, -_43, -_44);
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator * (CONST D3DXMATRIX& mat) const
-{
- D3DXMATRIX buf;
- D3DXMatrixMultiply(&buf, this, &mat);
- return buf;
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator + (CONST D3DXMATRIX& mat) const
-{
- return D3DXMATRIX(_11 + mat._11, _12 + mat._12, _13 + mat._13, _14 + mat._14,
- _21 + mat._21, _22 + mat._22, _23 + mat._23, _24 + mat._24,
- _31 + mat._31, _32 + mat._32, _33 + mat._33, _34 + mat._34,
- _41 + mat._41, _42 + mat._42, _43 + mat._43, _44 + mat._44);
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator - (CONST D3DXMATRIX& mat) const
-{
- return D3DXMATRIX(_11 - mat._11, _12 - mat._12, _13 - mat._13, _14 - mat._14,
- _21 - mat._21, _22 - mat._22, _23 - mat._23, _24 - mat._24,
- _31 - mat._31, _32 - mat._32, _33 - mat._33, _34 - mat._34,
- _41 - mat._41, _42 - mat._42, _43 - mat._43, _44 - mat._44);
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator * (FLOAT f) const
-{
- return D3DXMATRIX(_11 * f, _12 * f, _13 * f, _14 * f,
- _21 * f, _22 * f, _23 * f, _24 * f,
- _31 * f, _32 * f, _33 * f, _34 * f,
- _41 * f, _42 * f, _43 * f, _44 * f);
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator / (FLOAT f) const
-{
- FLOAT inv = 1.0f / f;
- return D3DXMATRIX(_11 * inv, _12 * inv, _13 * inv, _14 * inv,
- _21 * inv, _22 * inv, _23 * inv, _24 * inv,
- _31 * inv, _32 * inv, _33 * inv, _34 * inv,
- _41 * inv, _42 * inv, _43 * inv, _44 * inv);
-}
-
-inline D3DXMATRIX operator * (FLOAT f, CONST D3DXMATRIX& mat)
-{
- return D3DXMATRIX(f * mat._11, f * mat._12, f * mat._13, f * mat._14,
- f * mat._21, f * mat._22, f * mat._23, f * mat._24,
- f * mat._31, f * mat._32, f * mat._33, f * mat._34,
- f * mat._41, f * mat._42, f * mat._43, f * mat._44);
-}
-
-inline BOOL D3DXMATRIX::operator == (CONST D3DXMATRIX& mat) const
-{
- return (memcmp(this, &mat, sizeof(D3DXMATRIX)) == 0);
-}
-
-inline BOOL D3DXMATRIX::operator != (CONST D3DXMATRIX& mat) const
-{
- return (memcmp(this, &mat, sizeof(D3DXMATRIX)) != 0);
-}
-
-inline D3DXQUATERNION::D3DXQUATERNION()
-{
-}
-
-inline D3DXQUATERNION::D3DXQUATERNION(CONST FLOAT *pf)
-{
- if(!pf) return;
- x = pf[0];
- y = pf[1];
- z = pf[2];
- w = pf[3];
-}
-
-inline D3DXQUATERNION::D3DXQUATERNION(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw)
-{
- x = fx;
- y = fy;
- z = fz;
- w = fw;
-}
-
-inline D3DXQUATERNION::operator FLOAT* ()
-{
- return (FLOAT*)&x;
-}
-
-inline D3DXQUATERNION::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&x;
-}
-
-inline D3DXQUATERNION& D3DXQUATERNION::operator += (CONST D3DXQUATERNION& quat)
-{
- x += quat.x;
- y += quat.y;
- z += quat.z;
- w += quat.w;
- return *this;
-}
-
-inline D3DXQUATERNION& D3DXQUATERNION::operator -= (CONST D3DXQUATERNION& quat)
-{
- x -= quat.x;
- y -= quat.y;
- z -= quat.z;
- w -= quat.w;
- return *this;
-}
-
-/* TODO: uncomment this when D3DXQuaternionMultiply has been implemented
-inline D3DXQUATERNION& D3DXQUATERNION::operator *= (CONST D3DXQUATERNION& quat)
-{
- D3DXQuaternionMultiply(this, this, &quat);
- return *this;
-}
-*/
-
-inline D3DXQUATERNION& D3DXQUATERNION::operator *= (FLOAT f)
-{
- x *= f;
- y *= f;
- z *= f;
- w *= f;
- return *this;
-}
-
-inline D3DXQUATERNION& D3DXQUATERNION::operator /= (FLOAT f)
-{
- FLOAT inv = 1.0f / f;
- x *= inv;
- y *= inv;
- z *= inv;
- w *= inv;
- return *this;
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator + () const
-{
- return *this;
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator - () const
-{
- return D3DXQUATERNION(-x, -y, -z, -w);
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator + (CONST D3DXQUATERNION& quat) const
-{
- return D3DXQUATERNION(x + quat.x, y + quat.y, z + quat.z, w + quat.w);
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator - (CONST D3DXQUATERNION& quat) const
-{
- return D3DXQUATERNION(x - quat.x, y - quat.y, z - quat.z, w - quat.w);
-}
-
-/* TODO: uncomment this when D3DXQuaternionMultiply has been implemented
-inline D3DXQUATERNION D3DXQUATERNION::operator * (CONST D3DXQUATERNION& quat) const
-{
- D3DXQUATERNION buf;
- D3DXQuaternionMultiply(&buf, this, &quat);
- return buf;
-}
-*/
-
-inline D3DXQUATERNION D3DXQUATERNION::operator * (FLOAT f) const
-{
- return D3DXQUATERNION(x * f, y * f, z * f, w * f);
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator / (FLOAT f) const
-{
- FLOAT inv = 1.0f / f;
- return D3DXQUATERNION(x * inv, y * inv, z * inv, w * inv);
-}
-
-inline D3DXQUATERNION operator * (FLOAT f, CONST D3DXQUATERNION& quat)
-{
- return D3DXQUATERNION(f * quat.x, f * quat.y, f * quat.z, f * quat.w);
-}
-
-inline BOOL D3DXQUATERNION::operator == (CONST D3DXQUATERNION& quat) const
-{
- return x == quat.x && y == quat.y && z == quat.z && w == quat.w;
-}
-
-inline BOOL D3DXQUATERNION::operator != (CONST D3DXQUATERNION& quat) const
-{
- return x != quat.x || y != quat.y || z != quat.z || w != quat.w;
-}
-
-inline D3DXPLANE::D3DXPLANE()
-{
-}
-
-inline D3DXPLANE::D3DXPLANE(CONST FLOAT *pf)
-{
- if(!pf) return;
- a = pf[0];
- b = pf[1];
- c = pf[2];
- d = pf[3];
-}
-
-inline D3DXPLANE::D3DXPLANE(FLOAT fa, FLOAT fb, FLOAT fc, FLOAT fd)
-{
- a = fa;
- b = fb;
- c = fc;
- d = fd;
-}
-
-inline D3DXPLANE::operator FLOAT* ()
-{
- return (FLOAT*)&a;
-}
-
-inline D3DXPLANE::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&a;
-}
-
-inline D3DXPLANE D3DXPLANE::operator + () const
-{
- return *this;
-}
-
-inline D3DXPLANE D3DXPLANE::operator - () const
-{
- return D3DXPLANE(-a, -b, -c, -d);
-}
-
-inline BOOL D3DXPLANE::operator == (CONST D3DXPLANE& pl) const
-{
- return a == pl.a && b == pl.b && c == pl.c && d == pl.d;
-}
-
-inline BOOL D3DXPLANE::operator != (CONST D3DXPLANE& pl) const
-{
- return a != pl.a || b != pl.b || c != pl.c || d != pl.d;
-}
-
-inline D3DXCOLOR::D3DXCOLOR()
-{
-}
-
-inline D3DXCOLOR::D3DXCOLOR(DWORD col)
-{
- CONST FLOAT f = 1.0f / 255.0f;
- r = f * (FLOAT)(unsigned char)(col >> 16);
- g = f * (FLOAT)(unsigned char)(col >> 8);
- b = f * (FLOAT)(unsigned char)col;
- a = f * (FLOAT)(unsigned char)(col >> 24);
-}
-
-inline D3DXCOLOR::D3DXCOLOR(CONST FLOAT *pf)
-{
- if(!pf) return;
- r = pf[0];
- g = pf[1];
- b = pf[2];
- a = pf[3];
-}
-
-inline D3DXCOLOR::D3DXCOLOR(CONST D3DCOLORVALUE& col)
-{
- r = col.r;
- g = col.g;
- b = col.b;
- a = col.a;
-}
-
-inline D3DXCOLOR::D3DXCOLOR(FLOAT fr, FLOAT fg, FLOAT fb, FLOAT fa)
-{
- r = fr;
- g = fg;
- b = fb;
- a = fa;
-}
-
-inline D3DXCOLOR::operator DWORD () const
-{
- DWORD _r = r >= 1.0f ? 0xff : r <= 0.0f ? 0x00 : (DWORD)(r * 255.0f + 0.5f);
- DWORD _g = g >= 1.0f ? 0xff : g <= 0.0f ? 0x00 : (DWORD)(g * 255.0f + 0.5f);
- DWORD _b = b >= 1.0f ? 0xff : b <= 0.0f ? 0x00 : (DWORD)(b * 255.0f + 0.5f);
- DWORD _a = a >= 1.0f ? 0xff : a <= 0.0f ? 0x00 : (DWORD)(a * 255.0f + 0.5f);
-
- return (_a << 24) | (_r << 16) | (_g << 8) | _b;
-}
-
-inline D3DXCOLOR::operator FLOAT * ()
-{
- return (FLOAT*)&r;
-}
-
-inline D3DXCOLOR::operator CONST FLOAT * () const
-{
- return (CONST FLOAT*)&r;
-}
-
-inline D3DXCOLOR::operator D3DCOLORVALUE * ()
-{
- return (D3DCOLORVALUE*)&r;
-}
-
-inline D3DXCOLOR::operator CONST D3DCOLORVALUE * () const
-{
- return (CONST D3DCOLORVALUE*)&r;
-}
-
-inline D3DXCOLOR::operator D3DCOLORVALUE& ()
-{
- return *((D3DCOLORVALUE*)&r);
-}
-
-inline D3DXCOLOR::operator CONST D3DCOLORVALUE& () const
-{
- return *((CONST D3DCOLORVALUE*)&r);
-}
-
-inline D3DXCOLOR& D3DXCOLOR::operator += (CONST D3DXCOLOR& col)
-{
- r += col.r;
- g += col.g;
- b += col.b;
- a += col.a;
- return *this;
-}
-
-inline D3DXCOLOR& D3DXCOLOR::operator -= (CONST D3DXCOLOR& col)
-{
- r -= col.r;
- g -= col.g;
- b -= col.b;
- a -= col.a;
- return *this;
-}
-
-inline D3DXCOLOR& D3DXCOLOR::operator *= (FLOAT f)
-{
- r *= f;
- g *= f;
- b *= f;
- a *= f;
- return *this;
-}
-
-inline D3DXCOLOR& D3DXCOLOR::operator /= (FLOAT f)
-{
- FLOAT inv = 1.0f / f;
- r *= inv;
- g *= inv;
- b *= inv;
- a *= inv;
- return *this;
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator + () const
-{
- return *this;
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator - () const
-{
- return D3DXCOLOR(-r, -g, -b, -a);
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator + (CONST D3DXCOLOR& col) const
-{
- return D3DXCOLOR(r + col.r, g + col.g, b + col.b, a + col.a);
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator - (CONST D3DXCOLOR& col) const
-{
- return D3DXCOLOR(r - col.r, g - col.g, b - col.b, a - col.a);
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator * (FLOAT f) const
-{
- return D3DXCOLOR(r * f, g * f, b * f, a * f);
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator / (FLOAT f) const
-{
- FLOAT inv = 1.0f / f;
- return D3DXCOLOR(r * inv, g * inv, b * inv, a * inv);
-}
-
-inline D3DXCOLOR operator * (FLOAT f, CONST D3DXCOLOR& col)
-{
- return D3DXCOLOR(f * col.r, f * col.g, f * col.b, f * col.a);
-}
-
-inline BOOL D3DXCOLOR::operator == (CONST D3DXCOLOR& col) const
-{
- return r == col.r && g == col.g && b == col.b && a == col.a;
-}
-
-inline BOOL D3DXCOLOR::operator != (CONST D3DXCOLOR& col) const
-{
- return r != col.r || g != col.g || b != col.b || a != col.a;
-}
-
-#endif /* __cplusplus */
-
-/*_______________D3DXCOLOR_____________________*/
-
-static inline D3DXCOLOR* D3DXColorAdd(D3DXCOLOR *pout, CONST D3DXCOLOR *pc1, CONST D3DXCOLOR *pc2)
-{
- if ( !pout || !pc1 || !pc2 ) return NULL;
- pout->r = (pc1->r) + (pc2->r);
- pout->g = (pc1->g) + (pc2->g);
- pout->b = (pc1->b) + (pc2->b);
- pout->a = (pc1->a) + (pc2->a);
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorLerp(D3DXCOLOR *pout, CONST D3DXCOLOR *pc1, CONST D3DXCOLOR *pc2, FLOAT s)
-{
- if ( !pout || !pc1 || !pc2 ) return NULL;
- pout->r = (1-s) * (pc1->r) + s *(pc2->r);
- pout->g = (1-s) * (pc1->g) + s *(pc2->g);
- pout->b = (1-s) * (pc1->b) + s *(pc2->b);
- pout->a = (1-s) * (pc1->a) + s *(pc2->a);
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorModulate(D3DXCOLOR *pout, CONST D3DXCOLOR *pc1, CONST D3DXCOLOR *pc2)
-{
- if ( !pout || !pc1 || !pc2 ) return NULL;
- pout->r = (pc1->r) * (pc2->r);
- pout->g = (pc1->g) * (pc2->g);
- pout->b = (pc1->b) * (pc2->b);
- pout->a = (pc1->a) * (pc2->a);
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorNegative(D3DXCOLOR *pout, CONST D3DXCOLOR *pc)
-{
- if ( !pout || !pc ) return NULL;
- pout->r = 1.0f - pc->r;
- pout->g = 1.0f - pc->g;
- pout->b = 1.0f - pc->b;
- pout->a = pc->a;
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorScale(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s)
-{
- if ( !pout || !pc ) return NULL;
- pout->r = s* (pc->r);
- pout->g = s* (pc->g);
- pout->b = s* (pc->b);
- pout->a = s* (pc->a);
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorSubtract(D3DXCOLOR *pout, CONST D3DXCOLOR *pc1, CONST D3DXCOLOR *pc2)
-{
- if ( !pout || !pc1 || !pc2 ) return NULL;
- pout->r = (pc1->r) - (pc2->r);
- pout->g = (pc1->g) - (pc2->g);
- pout->b = (pc1->b) - (pc2->b);
- pout->a = (pc1->a) - (pc2->a);
- return pout;
-}
-
-/*_______________D3DXVECTOR2________________________*/
-
-static inline D3DXVECTOR2* D3DXVec2Add(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x + pv2->x;
- pout->y = pv1->y + pv2->y;
- return pout;
-}
-
-static inline FLOAT D3DXVec2CCW(CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pv1 || !pv2) return 0.0f;
- return ( (pv1->x) * (pv2->y) - (pv1->y) * (pv2->x) );
-}
-
-static inline FLOAT D3DXVec2Dot(CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pv1 || !pv2) return 0.0f;
- return ( (pv1->x * pv2->x + pv1->y * pv2->y) );
-}
-
-static inline FLOAT D3DXVec2Length(CONST D3DXVECTOR2 *pv)
-{
- if (!pv) return 0.0f;
- return sqrt( (pv->x) * (pv->x) + (pv->y) * (pv->y) );
-}
-
-static inline FLOAT D3DXVec2LengthSq(CONST D3DXVECTOR2 *pv)
-{
- if (!pv) return 0.0f;
- return( (pv->x) * (pv->x) + (pv->y) * (pv->y) );
-}
-
-static inline D3DXVECTOR2* D3DXVec2Lerp(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2, FLOAT s)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = (1-s) * (pv1->x) + s * (pv2->x);
- pout->y = (1-s) * (pv1->y) + s * (pv2->y);
- return pout;
-}
-
-static inline D3DXVECTOR2* D3DXVec2Maximize(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = max(pv1->x , pv2->x);
- pout->y = max(pv1->y , pv2->y);
- return pout;
-}
-
-static inline D3DXVECTOR2* D3DXVec2Minimize(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = min(pv1->x , pv2->x);
- pout->y = min(pv1->y , pv2->y);
- return pout;
-}
-
-static inline D3DXVECTOR2* D3DXVec2Scale(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv, FLOAT s)
-{
- if ( !pout || !pv) return NULL;
- pout->x = s * (pv->x);
- pout->y = s * (pv->y);
- return pout;
-}
-
-static inline D3DXVECTOR2* D3DXVec2Subtract(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x - pv2->x;
- pout->y = pv1->y - pv2->y;
- return pout;
-}
-
-/*__________________D3DXVECTOR3_______________________*/
-
-static inline D3DXVECTOR3* D3DXVec3Add(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x + pv2->x;
- pout->y = pv1->y + pv2->y;
- pout->z = pv1->z + pv2->z;
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Cross(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = (pv1->y) * (pv2->z) - (pv1->z) * (pv2->y);
- pout->y = (pv1->z) * (pv2->x) - (pv1->x) * (pv2->z);
- pout->z = (pv1->x) * (pv2->y) - (pv1->y) * (pv2->x);
- return pout;
-}
-
-static inline FLOAT D3DXVec3Dot(CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pv1 || !pv2 ) return 0.0f;
- return (pv1->x) * (pv2->x) + (pv1->y) * (pv2->y) + (pv1->z) * (pv2->z);
-}
-
-static inline FLOAT D3DXVec3Length(CONST D3DXVECTOR3 *pv)
-{
- if (!pv) return 0.0f;
- return sqrt( (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z) );
-}
-
-static inline FLOAT D3DXVec3LengthSq(CONST D3DXVECTOR3 *pv)
-{
- if (!pv) return 0.0f;
- return (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z);
-}
-
-static inline D3DXVECTOR3* D3DXVec3Lerp(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, FLOAT s)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = (1-s) * (pv1->x) + s * (pv2->x);
- pout->y = (1-s) * (pv1->y) + s * (pv2->y);
- pout->z = (1-s) * (pv1->z) + s * (pv2->z);
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Maximize(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = max(pv1->x , pv2->x);
- pout->y = max(pv1->y , pv2->y);
- pout->z = max(pv1->z , pv2->z);
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Minimize(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = min(pv1->x , pv2->x);
- pout->y = min(pv1->y , pv2->y);
- pout->z = min(pv1->z , pv2->z);
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Scale(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, FLOAT s)
-{
- if ( !pout || !pv) return NULL;
- pout->x = s * (pv->x);
- pout->y = s * (pv->y);
- pout->z = s * (pv->z);
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Subtract(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x - pv2->x;
- pout->y = pv1->y - pv2->y;
- pout->z = pv1->z - pv2->z;
- return pout;
-}
-/*__________________D3DXVECTOR4_______________________*/
-
-static inline D3DXVECTOR4* D3DXVec4Add(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x + pv2->x;
- pout->y = pv1->y + pv2->y;
- pout->z = pv1->z + pv2->z;
- pout->w = pv1->w + pv2->w;
- return pout;
-}
-
-static inline FLOAT D3DXVec4Dot(CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if (!pv1 || !pv2 ) return 0.0f;
- return (pv1->x) * (pv2->x) + (pv1->y) * (pv2->y) + (pv1->z) * (pv2->z) + (pv1->w) * (pv2->w);
-}
-
-static inline FLOAT D3DXVec4Length(CONST D3DXVECTOR4 *pv)
-{
- if (!pv) return 0.0f;
- return sqrt( (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z) + (pv->w) * (pv->w) );
-}
-
-static inline FLOAT D3DXVec4LengthSq(CONST D3DXVECTOR4 *pv)
-{
- if (!pv) return 0.0f;
- return (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z) + (pv->w) * (pv->w);
-}
-
-static inline D3DXVECTOR4* D3DXVec4Lerp(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, FLOAT s)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = (1-s) * (pv1->x) + s * (pv2->x);
- pout->y = (1-s) * (pv1->y) + s * (pv2->y);
- pout->z = (1-s) * (pv1->z) + s * (pv2->z);
- pout->w = (1-s) * (pv1->w) + s * (pv2->w);
- return pout;
-}
-
-
-static inline D3DXVECTOR4* D3DXVec4Maximize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = max(pv1->x , pv2->x);
- pout->y = max(pv1->y , pv2->y);
- pout->z = max(pv1->z , pv2->z);
- pout->w = max(pv1->w , pv2->w);
- return pout;
-}
-
-static inline D3DXVECTOR4* D3DXVec4Minimize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = min(pv1->x , pv2->x);
- pout->y = min(pv1->y , pv2->y);
- pout->z = min(pv1->z , pv2->z);
- pout->w = min(pv1->w , pv2->w);
- return pout;
-}
-
-static inline D3DXVECTOR4* D3DXVec4Scale(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv, FLOAT s)
-{
- if ( !pout || !pv) return NULL;
- pout->x = s * (pv->x);
- pout->y = s * (pv->y);
- pout->z = s * (pv->z);
- pout->w = s * (pv->w);
- return pout;
-}
-
-static inline D3DXVECTOR4* D3DXVec4Subtract(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x - pv2->x;
- pout->y = pv1->y - pv2->y;
- pout->z = pv1->z - pv2->z;
- pout->w = pv1->w - pv2->w;
- return pout;
-}
-
-/*__________________D3DXMatrix____________________*/
-#ifdef NONAMELESSUNION
-# define D3DX_U(x) (x).u
-#else
-# define D3DX_U(x) (x)
-#endif
-
-static inline D3DXMATRIX* D3DXMatrixIdentity(D3DXMATRIX *pout)
-{
- if ( !pout ) return NULL;
- D3DX_U(*pout).m[0][1] = 0.0f;
- D3DX_U(*pout).m[0][2] = 0.0f;
- D3DX_U(*pout).m[0][3] = 0.0f;
- D3DX_U(*pout).m[1][0] = 0.0f;
- D3DX_U(*pout).m[1][2] = 0.0f;
- D3DX_U(*pout).m[1][3] = 0.0f;
- D3DX_U(*pout).m[2][0] = 0.0f;
- D3DX_U(*pout).m[2][1] = 0.0f;
- D3DX_U(*pout).m[2][3] = 0.0f;
- D3DX_U(*pout).m[3][0] = 0.0f;
- D3DX_U(*pout).m[3][1] = 0.0f;
- D3DX_U(*pout).m[3][2] = 0.0f;
- D3DX_U(*pout).m[0][0] = 1.0f;
- D3DX_U(*pout).m[1][1] = 1.0f;
- D3DX_U(*pout).m[2][2] = 1.0f;
- D3DX_U(*pout).m[3][3] = 1.0f;
- return pout;
-}
-
-static inline BOOL D3DXMatrixIsIdentity(D3DXMATRIX *pm)
-{
- int i,j;
- D3DXMATRIX testmatrix;
-
- if ( !pm ) return FALSE;
- D3DXMatrixIdentity(&testmatrix);
- for (i=0; i<4; i++)
- {
- for (j=0; j<4; j++)
- {
- if ( D3DX_U(*pm).m[i][j] != D3DX_U(testmatrix).m[i][j] ) return FALSE;
- }
- }
- return TRUE;
-}
-#undef D3DX_U
-
-/*__________________D3DXPLANE____________________*/
-
-static inline FLOAT D3DXPlaneDot(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv)
-{
- if ( !pp || !pv ) return 0.0f;
- return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) + (pp->d) * (pv->w) );
-}
-
-static inline FLOAT D3DXPlaneDotCoord(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv)
-{
- if ( !pp || !pv ) return 0.0f;
- return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) + (pp->d) );
-}
-
-static inline FLOAT D3DXPlaneDotNormal(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv)
-{
- if ( !pp || !pv ) return 0.0f;
- return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) );
-}
-
-/*__________________D3DXQUATERNION____________________*/
-
-static inline D3DXQUATERNION* D3DXQuaternionConjugate(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq)
-{
- if ( !pout || !pq) return NULL;
- pout->x = -pq->x;
- pout->y = -pq->y;
- pout->z = -pq->z;
- pout->w = pq->w;
- return pout;
-}
-
-static inline FLOAT D3DXQuaternionDot(CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2)
-{
- if ( !pq1 || !pq2 ) return 0.0f;
- return (pq1->x) * (pq2->x) + (pq1->y) * (pq2->y) + (pq1->z) * (pq2->z) + (pq1->w) * (pq2->w);
-}
-
-static inline D3DXQUATERNION* D3DXQuaternionIdentity(D3DXQUATERNION *pout)
-{
- if ( !pout) return NULL;
- pout->x = 0.0f;
- pout->y = 0.0f;
- pout->z = 0.0f;
- pout->w = 1.0f;
- return pout;
-}
-
-static inline BOOL D3DXQuaternionIsIdentity(D3DXQUATERNION *pq)
-{
- if ( !pq) return FALSE;
- return ( (pq->x == 0.0f) && (pq->y == 0.0f) && (pq->z == 0.0f) && (pq->w == 1.0f) );
-}
-
-static inline FLOAT D3DXQuaternionLength(CONST D3DXQUATERNION *pq)
-{
- if (!pq) return 0.0f;
- return sqrt( (pq->x) * (pq->x) + (pq->y) * (pq->y) + (pq->z) * (pq->z) + (pq->w) * (pq->w) );
-}
-
-static inline FLOAT D3DXQuaternionLengthSq(CONST D3DXQUATERNION *pq)
-{
- if (!pq) return 0.0f;
- return (pq->x) * (pq->x) + (pq->y) * (pq->y) + (pq->z) * (pq->z) + (pq->w) * (pq->w);
-}
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2009 David Adam
- * Copyright (C) 2010 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <d3dx9.h>
-
-#ifndef __WINE_D3DX9MESH_H
-#define __WINE_D3DX9MESH_H
-
-DEFINE_GUID(IID_ID3DXBaseMesh, 0x7ed943dd, 0x52e8, 0x40b5, 0xa8, 0xd8, 0x76, 0x68, 0x5c, 0x40, 0x63, 0x30);
-DEFINE_GUID(IID_ID3DXMesh, 0x4020e5c2, 0x1403, 0x4929, 0x88, 0x3f, 0xe2, 0xe8, 0x49, 0xfa, 0xc1, 0x95);
-
-enum _MAX_FVF_DECL_SIZE
-{
- MAX_FVF_DECL_SIZE = MAXD3DDECLLENGTH + 1
-};
-
-typedef struct ID3DXBaseMesh* LPD3DXBASEMESH;
-typedef struct ID3DXMesh* LPD3DXMESH;
-
-typedef struct _D3DXATTRIBUTERANGE {
- DWORD AttribId;
- DWORD FaceStart;
- DWORD FaceCount;
- DWORD VertexStart;
- DWORD VertexCount;
-} D3DXATTRIBUTERANGE;
-
-typedef D3DXATTRIBUTERANGE* LPD3DXATTRIBUTERANGE;
-
-#undef INTERFACE
-#define INTERFACE ID3DXBaseMesh
-
-DECLARE_INTERFACE_(ID3DXBaseMesh, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseMesh ***/
- STDMETHOD(DrawSubset)(THIS_ DWORD attrib_id) PURE;
- STDMETHOD_(DWORD, GetNumFaces)(THIS) PURE;
- STDMETHOD_(DWORD, GetNumVertices)(THIS) PURE;
- STDMETHOD_(DWORD, GetFVF)(THIS) PURE;
- STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE]) PURE;
- STDMETHOD_(DWORD, GetNumBytesPerVertex)(THIS) PURE;
- STDMETHOD_(DWORD, GetOptions)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9* device) PURE;
- STDMETHOD(CloneMeshFVF)(THIS_ DWORD options, DWORD fvf, LPDIRECT3DDEVICE9 device, LPD3DXMESH* clone_mesh) PURE;
- STDMETHOD(CloneMesh)(THIS_ DWORD options, CONST D3DVERTEXELEMENT9* declaration, LPDIRECT3DDEVICE9 device,
- LPD3DXMESH* clone_mesh) PURE;
- STDMETHOD(GetVertexBuffer)(THIS_ LPDIRECT3DVERTEXBUFFER9* vertex_buffer) PURE;
- STDMETHOD(GetIndexBuffer)(THIS_ LPDIRECT3DINDEXBUFFER9* index_buffer) PURE;
- STDMETHOD(LockVertexBuffer)(THIS_ DWORD flags, LPVOID* data) PURE;
- STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
- STDMETHOD(LockIndexBuffer)(THIS_ DWORD flags, LPVOID* data) PURE;
- STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
- STDMETHOD(GetAttributeTable)(THIS_ D3DXATTRIBUTERANGE* attrib_table, DWORD* attrib_table_size) PURE;
- STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST DWORD* point_reps, DWORD* adjacency) PURE;
- STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST DWORD* adjacency, DWORD* point_reps) PURE;
- STDMETHOD(GenerateAdjacency)(THIS_ FLOAT epsilon, DWORD* adjacency) PURE;
- STDMETHOD(UpdateSemantics)(THIS_ D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE]) PURE;
-};
-
-
-#undef INTERFACE
-#define INTERFACE ID3DXMesh
-
-DECLARE_INTERFACE_(ID3DXMesh, ID3DXBaseMesh)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseMesh ***/
- STDMETHOD(DrawSubset)(THIS_ DWORD attrib_id) PURE;
- STDMETHOD_(DWORD, GetNumFaces)(THIS) PURE;
- STDMETHOD_(DWORD, GetNumVertices)(THIS) PURE;
- STDMETHOD_(DWORD, GetFVF)(THIS) PURE;
- STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE]) PURE;
- STDMETHOD_(DWORD, GetNumBytesPerVertex)(THIS) PURE;
- STDMETHOD_(DWORD, GetOptions)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9* device) PURE;
- STDMETHOD(CloneMeshFVF)(THIS_ DWORD options, DWORD fvf, LPDIRECT3DDEVICE9 device, LPD3DXMESH* clone_mesh) PURE;
- STDMETHOD(CloneMesh)(THIS_ DWORD options, CONST D3DVERTEXELEMENT9* declaration, LPDIRECT3DDEVICE9 device,
- LPD3DXMESH* clone_mesh) PURE;
- STDMETHOD(GetVertexBuffer)(THIS_ LPDIRECT3DVERTEXBUFFER9* vertex_buffer) PURE;
- STDMETHOD(GetIndexBuffer)(THIS_ LPDIRECT3DINDEXBUFFER9* index_buffer) PURE;
- STDMETHOD(LockVertexBuffer)(THIS_ DWORD flags, LPVOID* data) PURE;
- STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
- STDMETHOD(LockIndexBuffer)(THIS_ DWORD flags, LPVOID* data) PURE;
- STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
- STDMETHOD(GetAttributeTable)(THIS_ D3DXATTRIBUTERANGE* attrib_table, DWORD* attrib_table_size) PURE;
- STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST DWORD* point_reps, DWORD* adjacency) PURE;
- STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST DWORD* adjacency, DWORD* point_reps) PURE;
- STDMETHOD(GenerateAdjacency)(THIS_ FLOAT epsilon, DWORD* adjacency) PURE;
- STDMETHOD(UpdateSemantics)(THIS_ D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE]) PURE;
- /*** ID3DXMesh ***/
- STDMETHOD(LockAttributeBuffer)(THIS_ DWORD flags, DWORD** data) PURE;
- STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
- STDMETHOD(Optimize)(THIS_ DWORD flags, CONST DWORD* adjacency_in, DWORD* adjacency_out,
- DWORD* face_remap, LPD3DXBUFFER* vertex_remap, LPD3DXMESH* opt_mesh) PURE;
- STDMETHOD(OptimizeInplace)(THIS_ DWORD flags, CONST DWORD* adjacency_in, DWORD* adjacency_out,
- DWORD* face_remap, LPD3DXBUFFER* vertex_remap) PURE;
- STDMETHOD(SetAttributeTable)(THIS_ CONST D3DXATTRIBUTERANGE* attrib_table, DWORD attrib_table_size) PURE;
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3DXCreateBuffer(DWORD, LPD3DXBUFFER*);
-UINT WINAPI D3DXGetDeclVertexSize(const D3DVERTEXELEMENT9 *decl, DWORD stream_idx);
-UINT WINAPI D3DXGetFVFVertexSize(DWORD);
-BOOL WINAPI D3DXBoxBoundProbe(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *);
-BOOL WINAPI D3DXSphereBoundProbe(CONST D3DXVECTOR3 *,FLOAT,CONST D3DXVECTOR3 *,CONST D3DXVECTOR3 *);
-HRESULT WINAPI D3DXComputeBoundingBox(CONST D3DXVECTOR3 *, DWORD, DWORD, D3DXVECTOR3 *, D3DXVECTOR3 *);
-HRESULT WINAPI D3DXComputeBoundingSphere(CONST D3DXVECTOR3 *, DWORD, DWORD, D3DXVECTOR3 *, FLOAT *);
-HRESULT WINAPI D3DXDeclaratorFromFVF(DWORD, D3DVERTEXELEMENT9[MAX_FVF_DECL_SIZE]);
-BOOL WINAPI D3DXIntersectTri(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3*, FLOAT *, FLOAT *, FLOAT *);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINE_D3DX9MESH_H */
+++ /dev/null
-/*
- * Copyright 2008 Luis Busquets
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include "d3dx9.h"
-
-#ifndef __D3DX9SHADER_H__
-#define __D3DX9SHADER_H__
-
-#define D3DXSHADER_DEBUG 0x1
-#define D3DXSHADER_SKIPVALIDATION 0x2
-#define D3DXSHADER_SKIPOPTIMIZATION 0x4
-#define D3DXSHADER_PACKMATRIX_ROWMAJOR 0x8
-#define D3DXSHADER_PACKMATRIX_COLUMNMAJOR 0x10
-#define D3DXSHADER_PARTIALPRECISION 0x20
-#define D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT 0x40
-#define D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT 0x80
-#define D3DXSHADER_NO_PRESHADER 0x100
-#define D3DXSHADER_AVOID_FLOW_CONTROL 0x200
-#define D3DXSHADER_PREFER_FLOW_CONTROL 0x400
-#define D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY 0x1000
-#define D3DXSHADER_IEEE_STRICTNESS 0x2000
-
-#define D3DXSHADER_OPTIMIZATION_LEVEL0 0x4000
-#define D3DXSHADER_OPTIMIZATION_LEVEL1 0x0
-#define D3DXSHADER_OPTIMIZATION_LEVEL2 0xC000
-#define D3DXSHADER_OPTIMIZATION_LEVEL3 0x8000
-
-#define D3DXSHADER_USE_LEGACY_D3DX9_31_DLL 0x10000
-
-typedef LPCSTR D3DXHANDLE;
-
-typedef enum _D3DXREGISTER_SET
-{
- D3DXRS_BOOL,
- D3DXRS_INT4,
- D3DXRS_FLOAT4,
- D3DXRS_SAMPLER,
- D3DXRS_FORCE_DWORD = 0x7fffffff
-} D3DXREGISTER_SET, *LPD3DXREGISTER_SET;
-
-typedef enum D3DXPARAMETER_CLASS
-{
- D3DXPC_SCALAR,
- D3DXPC_VECTOR,
- D3DXPC_MATRIX_ROWS,
- D3DXPC_MATRIX_COLUMNS,
- D3DXPC_OBJECT,
- D3DXPC_STRUCT,
- D3DXPC_FORCE_DWORD = 0x7fffffff,
-} D3DXPARAMETER_CLASS, *LPD3DXPARAMETER_CLASS;
-
-typedef enum D3DXPARAMETER_TYPE
-{
- D3DXPT_VOID,
- D3DXPT_BOOL,
- D3DXPT_INT,
- D3DXPT_FLOAT,
- D3DXPT_STRING,
- D3DXPT_TEXTURE,
- D3DXPT_TEXTURE1D,
- D3DXPT_TEXTURE2D,
- D3DXPT_TEXTURE3D,
- D3DXPT_TEXTURECUBE,
- D3DXPT_SAMPLER,
- D3DXPT_SAMPLER1D,
- D3DXPT_SAMPLER2D,
- D3DXPT_SAMPLER3D,
- D3DXPT_SAMPLERCUBE,
- D3DXPT_PIXELSHADER,
- D3DXPT_VERTEXSHADER,
- D3DXPT_PIXELFRAGMENT,
- D3DXPT_VERTEXFRAGMENT,
- D3DXPT_UNSUPPORTED,
- D3DXPT_FORCE_DWORD = 0x7fffffff,
-} D3DXPARAMETER_TYPE, *LPD3DXPARAMETER_TYPE;
-
-typedef struct _D3DXCONSTANTTABLE_DESC
-{
- LPCSTR Creator;
- DWORD Version;
- UINT Constants;
-} D3DXCONSTANTTABLE_DESC, *LPD3DXCONSTANTTABLE_DESC;
-
-typedef struct _D3DXCONSTANT_DESC
-{
- LPCSTR Name;
- D3DXREGISTER_SET RegisterSet;
- UINT RegisterIndex;
- UINT RegisterCount;
- D3DXPARAMETER_CLASS Class;
- D3DXPARAMETER_TYPE Type;
- UINT Rows;
- UINT Columns;
- UINT Elements;
- UINT StructMembers;
- UINT Bytes;
- LPCVOID DefaultValue;
-} D3DXCONSTANT_DESC, *LPD3DXCONSTANT_DESC;
-
-DEFINE_GUID(IID_ID3DXConstantTable, 0x9dca3190, 0x38b9, 0x4fc3, 0x92, 0xe3, 0x39, 0xc6, 0xdd, 0xfb, 0x35, 0x8b);
-
-#undef INTERFACE
-#define INTERFACE ID3DXConstantTable
-
-DECLARE_INTERFACE_(ID3DXConstantTable, ID3DXBuffer)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBuffer methods ***/
- STDMETHOD_(LPVOID, GetBufferPointer)(THIS) PURE;
- STDMETHOD_(DWORD, GetBufferSize)(THIS) PURE;
- /*** ID3DXConstantTable methods ***/
- STDMETHOD(GetDesc)(THIS_ D3DXCONSTANTTABLE_DESC *pDesc) PURE;
- STDMETHOD(GetConstantDesc)(THIS_ D3DXHANDLE hConstant, D3DXCONSTANT_DESC *pConstantDesc, UINT *pCount) PURE;
- STDMETHOD_(UINT, GetSamplerIndex)(THIS_ D3DXHANDLE hConstant) PURE;
- STDMETHOD_(D3DXHANDLE, GetConstant)(THIS_ D3DXHANDLE hConstant, UINT Index) PURE;
- STDMETHOD_(D3DXHANDLE, GetConstantByName)(THIS_ D3DXHANDLE hConstant, LPCSTR pName) PURE;
- STDMETHOD_(D3DXHANDLE, GetConstantElement)(THIS_ D3DXHANDLE hConstant, UINT Index) PURE;
- STDMETHOD(SetDefaults)(THIS_ LPDIRECT3DDEVICE9 pDevice) PURE;
- STDMETHOD(SetValue)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes) PURE;
- STDMETHOD(SetBool)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL b) PURE;
- STDMETHOD(SetBoolArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST BOOL* pb, UINT Count) PURE;
- STDMETHOD(SetInt)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT n) PURE;
- STDMETHOD(SetIntArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST INT* pn, UINT Count) PURE;
- STDMETHOD(SetFloat)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT f) PURE;
- STDMETHOD(SetFloatArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST FLOAT* pf, UINT Count) PURE;
- STDMETHOD(SetVector)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXVECTOR4* pVector) PURE;
- STDMETHOD(SetVectorArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXVECTOR4* pVector, UINT Count) PURE;
- STDMETHOD(SetMatrix)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
- STDMETHOD(SetMatrixPointerArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
- STDMETHOD(SetMatrixTransposePointerArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXConstantTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXConstantTable_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXConstantTable_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXBuffer methods ***/
-#define ID3DXConstantTable_GetBufferPointer(p) (p)->lpVtbl->GetBufferPointer(p)
-#define ID3DXConstantTable_GetBufferSize(p) (p)->lpVtbl->GetBufferSize(p)
-/*** ID3DXConstantTable methods ***/
-#define ID3DXConstantTable_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define ID3DXConstantTable_GetConstantDesc(p,a,b,c) (p)->lpVtbl->GetConstantDesc(p,a,b,c)
-#define ID3DXConstantTable_GetSamplerIndex(p,a) (p)->lpVtbl->GetSamplerIndex(p,a)
-#define ID3DXConstantTable_GetConstant(p,a,b) (p)->lpVtbl->GetConstant(p,a,b)
-#define ID3DXConstantTable_GetConstantByName(p,a,b) (p)->lpVtbl->GetConstantByName(p,a,b)
-#define ID3DXConstantTable_GetConstantElement(p,a,b) (p)->lpVtbl->GetConstantElement(p,a,b)
-#define ID3DXConstantTable_SetDefaults(p,a) (p)->lpVtbl->SetDefaults(p,a)
-#define ID3DXConstantTable_SetValue(p,a,b,c,d) (p)->lpVtbl->SetValue(p,a,b,c,d)
-#define ID3DXConstantTable_SetBool(p,a,b,c) (p)->lpVtbl->SetBool(p,a,b,c)
-#define ID3DXConstantTable_SetBoolArray(p,a,b,c,d) (p)->lpVtbl->SetBoolArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetInt(p,a,b,c) (p)->lpVtbl->SetInt(p,a,b,c)
-#define ID3DXConstantTable_SetIntArray(p,a,b,c,d) (p)->lpVtbl->SetIntArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetFloat(p,a,b,c) (p)->lpVtbl->SetFloat(p,a,b,c)
-#define ID3DXConstantTable_SetFloatArray(p,a,b,c,d) (p)->lpVtbl->SetFloatArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetVector(p,a,b,c) (p)->lpVtbl->SetVector(p,a,b,c)
-#define ID3DXConstantTable_SetVectorArray(p,a,b,c,d) (p)->lpVtbl->SetVectorArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetMatrix(p,a,b,c) (p)->lpVtbl->SetMatrix(p,a,b,c)
-#define ID3DXConstantTable_SetMatrixArray(p,a,b,c,d) (p)->lpVtbl->SetMatrixArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetMatrixPointerArray(p,a,b,c,d) (p)->lpVtbl->SetMatrixPointerArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetMatrixTranspose(p,a,b,c) (p)->lpVtbl->SetMatrixTranspose(p,a,b,c)
-#define ID3DXConstantTable_SetMatrixTransposeArray(p,a,b,c,d) (p)->lpVtbl->SetMatrixTransposeArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetMatrixTransposePointerArray(p,a,b,c,d) (p)->lpVtbl->SetMatrixTransposePointerArray(p,a,b,c,d)
-#else
-/*** IUnknown methods ***/
-#define ID3DXConstantTable_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXConstantTable_AddRef(p) (p)->AddRef()
-#define ID3DXConstantTable_Release(p) (p)->Release()
-/*** ID3DXBuffer methods ***/
-#define ID3DXConstantTable_GetBufferPointer(p) (p)->GetBufferPointer()
-#define ID3DXConstantTable_GetBufferSize(p) (p)->GetBufferSize()
-/*** ID3DXConstantTable methods ***/
-#define ID3DXConstantTable_GetDesc(p,a) (p)->GetDesc(a)
-#define ID3DXConstantTable_GetConstantDesc(p,a,b,c) (p)->GetConstantDesc(a,b,c)
-#define ID3DXConstantTable_GetSamplerIndex(p,a) (p)->GetConstantDesc(a)
-#define ID3DXConstantTable_GetConstant(p,a,b) (p)->GetConstant(a,b)
-#define ID3DXConstantTable_GetConstantByName(p,a,b) (p)->GetConstantByName(a,b)
-#define ID3DXConstantTable_GetConstantElement(p,a,b) (p)->GetConstantElement(a,b)
-#define ID3DXConstantTable_SetDefaults(p,a) (p)->SetDefaults(a)
-#define ID3DXConstantTable_SetValue(p,a,b,c,d) (p)->SetValue(a,b,c,d)
-#define ID3DXConstantTable_SetBool(p,a,b,c) (p)->SetBool(a,b,c)
-#define ID3DXConstantTable_SetBoolArray(p,a,b,c,d) (p)->SetBoolArray(a,b,c,d)
-#define ID3DXConstantTable_SetInt(p,a,b,c) (p)->SetInt(a,b,c)
-#define ID3DXConstantTable_SetIntArray(p,a,b,c,d) (p)->SetIntArray(a,b,c,d)
-#define ID3DXConstantTable_SetFloat(p,a,b,c) (p)->SetFloat(a,b,c)
-#define ID3DXConstantTable_SetFloatArray(p,a,b,c,d) (p)->SetFloatArray(a,b,c,d)
-#define ID3DXConstantTable_SetVector(p,a,b,c) (p)->SetVector(a,b,c)
-#define ID3DXConstantTable_SetVectorArray(p,a,b,c,d) (p)->SetVectorArray(a,b,c,d)
-#define ID3DXConstantTable_SetMatrix(p,a,b,c) (p)->SetMatrix(a,b,c)
-#define ID3DXConstantTable_SetMatrixArray(p,a,b,c,d) (p)->SetMatrixArray(a,b,c,d)
-#define ID3DXConstantTable_SetMatrixPointerArray(p,a,b,c,d) (p)->SetMatrixPointerArray(a,b,c,d)
-#define ID3DXConstantTable_SetMatrixTranspose(p,a,b,c) (p)->SetMatrixTranspose(a,b,c)
-#define ID3DXConstantTable_SetMatrixTransposeArray(p,a,b,c,d) (p)->SetMatrixTransposeArray(a,b,c,d)
-#define ID3DXConstantTable_SetMatrixTransposePointerArray(p,a,b,c,d) (p)->SetMatrixTransposePointerArray(a,b,c,d)
-#endif
-
-typedef struct ID3DXConstantTable *LPD3DXCONSTANTTABLE;
-
-typedef struct _D3DXMACRO {
- LPCSTR Name;
- LPCSTR Definition;
-} D3DXMACRO, *LPD3DXMACRO;
-
-typedef struct _D3DXSEMANTIC {
- UINT Usage;
- UINT UsageIndex;
-} D3DXSEMANTIC, *LPD3DXSEMANTIC;
-
-typedef enum _D3DXINCLUDE_TYPE
-{
- D3DXINC_LOCAL,
- D3DXINC_SYSTEM,
- D3DXINC_FORCE_DWORD = 0x7fffffff,
-} D3DXINCLUDE_TYPE, *LPD3DXINCLUDE_TYPE;
-
-#undef INTERFACE
-#define INTERFACE ID3DXInclude
-
-DECLARE_INTERFACE(ID3DXInclude)
-{
- STDMETHOD(Open)(THIS_ D3DXINCLUDE_TYPE include_type, LPCSTR filename, LPCVOID parent_data, LPCVOID *data, UINT *bytes) PURE;
- STDMETHOD(Close)(THIS_ LPCVOID data) PURE;
-};
-
-#define ID3DXInclude_Open(p,a,b,c,d,e) (p)->lpVtbl->Open(p,a,b,c,d,e)
-#define ID3DXInclude_Close(p,a) (p)->lpVtbl->Close(p,a)
-
-typedef struct ID3DXInclude *LPD3DXINCLUDE;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-LPCSTR WINAPI D3DXGetPixelShaderProfile(LPDIRECT3DDEVICE9 device);
-UINT WINAPI D3DXGetShaderSize(const DWORD *byte_code);
-DWORD WINAPI D3DXGetShaderVersion(const DWORD *byte_code);
-LPCSTR WINAPI D3DXGetVertexShaderProfile(LPDIRECT3DDEVICE9 device);
-HRESULT WINAPI D3DXFindShaderComment(CONST DWORD* byte_code, DWORD fourcc, LPCVOID* data, UINT* size);
-
-HRESULT WINAPI D3DXAssembleShaderFromFileA(LPCSTR filename,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXAssembleShaderFromFileW(LPCWSTR filename,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXAssembleShaderFromResourceA(HMODULE module,
- LPCSTR resource,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXAssembleShaderFromResourceW(HMODULE module,
- LPCWSTR resource,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXAssembleShader(LPCSTR data,
- UINT data_len,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXGetShaderConstantTableEx(CONST DWORD* byte_code,
- DWORD flags,
- LPD3DXCONSTANTTABLE* constant_table);
-
-HRESULT WINAPI D3DXGetShaderConstantTable(CONST DWORD* byte_code,
- LPD3DXCONSTANTTABLE* constant_table);
-
-#ifdef __cplusplus
-}
-#endif
-
-typedef struct _D3DXSHADER_CONSTANTTABLE
-{
- DWORD Size;
- DWORD Creator;
- DWORD Version;
- DWORD Constants;
- DWORD ConstantInfo;
- DWORD Flags;
- DWORD Target;
-} D3DXSHADER_CONSTANTTABLE, *LPD3DXSHADER_CONSTANTTABLE;
-
-typedef struct _D3DXSHADER_CONSTANTINFO
-{
- DWORD Name;
- WORD RegisterSet;
- WORD RegisterIndex;
- WORD RegisterCount;
- WORD Reserved;
- DWORD TypeInfo;
- DWORD DefaultValue;
-} D3DXSHADER_CONSTANTINFO, *LPD3DXSHADER_CONSTANTINFO;
-
-typedef struct _D3DXSHADER_TYPEINFO
-{
- WORD Class;
- WORD Type;
- WORD Rows;
- WORD Columns;
- WORD Elements;
- WORD StructMembers;
- DWORD StructMemberInfo;
-} D3DXSHADER_TYPEINFO, *LPD3DXSHADER_TYPEINFO;
-
-typedef struct _D3DXSHADER_STRUCTMEMBERINFO
-{
- DWORD Name;
- DWORD TypeInfo;
-} D3DXSHADER_STRUCTMEMBERINFO, *LPD3DXSHADER_STRUCTMEMBERINFO;
-
-#endif /* __D3DX9SHADER_H__ */
+++ /dev/null
-/*
- * Copyright 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include "d3dx9.h"
-
-#ifndef __D3DX9SHAPE_H__
-#define __D3DX9SHAPE_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3DXCreateBox(LPDIRECT3DDEVICE9 device,
- FLOAT width,
- FLOAT height,
- FLOAT depth,
- LPD3DXMESH* mesh,
- LPD3DXBUFFER* adjacency);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D3DX9SHAPE_H__ */
+++ /dev/null
-/*
- * Copyright (C) 2008 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <_mingw_dxhelper.h>
-#include <d3dx9.h>
-
-#ifndef __WINE_D3DX9TEX_H
-#define __WINE_D3DX9TEX_H
-
-/**********************************************
- ***************** Definitions ****************
- **********************************************/
-#define D3DX_FILTER_NONE 0x00000001
-#define D3DX_FILTER_POINT 0x00000002
-#define D3DX_FILTER_LINEAR 0x00000003
-#define D3DX_FILTER_TRIANGLE 0x00000004
-#define D3DX_FILTER_BOX 0x00000005
-#define D3DX_FILTER_MIRROR_U 0x00010000
-#define D3DX_FILTER_MIRROR_V 0x00020000
-#define D3DX_FILTER_MIRROR_W 0x00040000
-#define D3DX_FILTER_MIRROR 0x00070000
-#define D3DX_FILTER_DITHER 0x00080000
-#define D3DX_FILTER_DITHER_DIFFUSION 0x00100000
-#define D3DX_FILTER_SRGB_IN 0x00200000
-#define D3DX_FILTER_SRGB_OUT 0x00400000
-#define D3DX_FILTER_SRGB 0x00600000
-
-#define D3DX_NORMALMAP_MIRROR_U 0x00010000
-#define D3DX_NORMALMAP_MIRROR_V 0x00020000
-#define D3DX_NORMALMAP_MIRROR 0x00030000
-#define D3DX_NORMALMAP_INVERTSIGN 0x00080000
-#define D3DX_NORMALMAP_COMPUTE_OCCLUSION 0x00100000
-
-#define D3DX_CHANNEL_RED 0x00000001
-#define D3DX_CHANNEL_BLUE 0x00000002
-#define D3DX_CHANNEL_GREEN 0x00000004
-#define D3DX_CHANNEL_ALPHA 0x00000008
-#define D3DX_CHANNEL_LUMINANCE 0x00000010
-
-/**********************************************
- **************** Typedefs ****************
- **********************************************/
-typedef enum _D3DXIMAGE_FILEFORMAT
-{
- D3DXIFF_BMP,
- D3DXIFF_JPG,
- D3DXIFF_TGA,
- D3DXIFF_PNG,
- D3DXIFF_DDS,
- D3DXIFF_PPM,
- D3DXIFF_DIB,
- D3DXIFF_FORCE_DWORD = 0x7fffffff
-} D3DXIMAGE_FILEFORMAT;
-
-typedef struct _D3DXIMAGE_INFO
-{
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT MipLevels;
- D3DFORMAT Format;
- D3DRESOURCETYPE ResourceType;
- D3DXIMAGE_FILEFORMAT ImageFileFormat;
-} D3DXIMAGE_INFO;
-
-/**********************************************
- ****************** Functions *****************
- **********************************************/
-/* Typedefs for callback functions */
-typedef VOID (WINAPI *LPD3DXFILL2D)(D3DXVECTOR4 *out, CONST D3DXVECTOR2 *texcoord, CONST D3DXVECTOR2 *texelsize, LPVOID data);
-typedef VOID (WINAPI *LPD3DXFILL3D)(D3DXVECTOR4 *out, CONST D3DXVECTOR3 *texcoord, CONST D3DXVECTOR3 *texelsize, LPVOID data);
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Image Information */
-HRESULT WINAPI D3DXGetImageInfoFromFileA(LPCSTR file, D3DXIMAGE_INFO *info);
-HRESULT WINAPI D3DXGetImageInfoFromFileW(LPCWSTR file, D3DXIMAGE_INFO *info);
-#define D3DXGetImageInfoFromFile WINELIB_NAME_AW(D3DXGetImageInfoFromFile)
-
-HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, LPCSTR resource, D3DXIMAGE_INFO *info);
-HRESULT WINAPI D3DXGetImageInfoFromResourceW(HMODULE module, LPCWSTR resource, D3DXIMAGE_INFO *info);
-#define D3DXGetImageInfoFromResource WINELIB_NAME_AW(D3DXGetImageInfoFromResource)
-
-HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(LPCVOID data, UINT datasize, D3DXIMAGE_INFO *info);
-
-
-/* Surface Loading/Saving */
-HRESULT WINAPI D3DXLoadSurfaceFromFileA( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- LPCSTR srcfile,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadSurfaceFromFileW( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- LPCWSTR srcfile,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-#define D3DXLoadSurfaceFromFile WINELIB_NAME_AW(D3DXLoadSurfaceFromFile)
-
-HRESULT WINAPI D3DXLoadSurfaceFromResourceA( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- HMODULE srcmodule,
- LPCSTR resource,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadSurfaceFromResourceW( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- HMODULE srcmodule,
- LPCWSTR resource,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-#define D3DXLoadSurfaceFromResource WINELIB_NAME_AW(D3DXLoadSurfaceFromResource)
-
-HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT*destrect,
- LPCVOID srcdata,
- UINT srcdatasize,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadSurfaceFromSurface( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- LPDIRECT3DSURFACE9 srcsurface,
- CONST PALETTEENTRY *srcpalette,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey);
-
-HRESULT WINAPI D3DXLoadSurfaceFromMemory( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- LPCVOID srcmemory,
- D3DFORMAT srcformat,
- UINT srcpitch,
- CONST PALETTEENTRY *srcpalette,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey);
-
-HRESULT WINAPI D3DXSaveSurfaceToFileA( LPCSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DSURFACE9 srcsurface,
- CONST PALETTEENTRY *srcpalette,
- CONST RECT *srcrect);
-
-HRESULT WINAPI D3DXSaveSurfaceToFileW( LPCWSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DSURFACE9 srcsurface,
- CONST PALETTEENTRY *srcpalette,
- CONST RECT *srcrect);
-#define D3DXSaveSurfaceToFile WINELIB_NAME_AW(D3DXSaveSurfaceToFile)
-
-
-/* Volume Loading/Saving */
-HRESULT WINAPI D3DXLoadVolumeFromFileA( LPDIRECT3DVOLUME9 destvolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPCSTR srcfile,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadVolumeFromFileW( LPDIRECT3DVOLUME9 destVolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPCWSTR srcfile,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-#define D3DXLoadVolumeFromFile WINELIB_NAME_AW(D3DXLoadVolumeFromFile)
-
-HRESULT WINAPI D3DXLoadVolumeFromResourceA( LPDIRECT3DVOLUME9 destVolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- HMODULE srcmodule,
- LPCSTR resource,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadVolumeFromResourceW( LPDIRECT3DVOLUME9 destVolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- HMODULE srcmodule,
- LPCWSTR resource,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-#define D3DXLoadVolumeFromResource WINELIB_NAME_AW(D3DXLoadVolumeFromResource)
-
-HRESULT WINAPI D3DXLoadVolumeFromFileInMemory(LPDIRECT3DVOLUME9 destvolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPCVOID srcdata,
- UINT srcdatasize,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadVolumeFromVolume( LPDIRECT3DVOLUME9 destvolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPDIRECT3DVOLUME9 srcvolume,
- CONST PALETTEENTRY *srcpalette,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey);
-
-HRESULT WINAPI D3DXLoadVolumeFromMemory( LPDIRECT3DVOLUME9 destvolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPCVOID srcmemory,
- D3DFORMAT srcformat,
- UINT srcrowpitch,
- UINT srcslicepitch,
- CONST PALETTEENTRY *srcpalette,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey);
-
-HRESULT WINAPI D3DXSaveVolumeToFileA( LPCSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DVOLUME9 srcvolume,
- CONST PALETTEENTRY *srcpalette,
- CONST D3DBOX *srcbox);
-
-HRESULT WINAPI D3DXSaveVolumeToFileW( LPCWSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DVOLUME9 srcvolume,
- CONST PALETTEENTRY *srcpalette,
- CONST D3DBOX *srcbox);
-#define D3DXSaveVolumeToFile WINELIB_NAME_AW(D3DXSaveVolumeToFile)
-
-
-/* Texture, cube texture and volume texture creation */
-HRESULT WINAPI D3DXCheckTextureRequirements( LPDIRECT3DDEVICE9 device,
- UINT *width,
- UINT *height,
- UINT *miplevels,
- DWORD usage,
- D3DFORMAT *format,
- D3DPOOL pool);
-HRESULT WINAPI D3DXCheckCubeTextureRequirements( LPDIRECT3DDEVICE9 device,
- UINT *size,
- UINT *miplevels,
- DWORD usage,
- D3DFORMAT *format,
- D3DPOOL pool);
-
-HRESULT WINAPI D3DXCheckVolumeTextureRequirements(LPDIRECT3DDEVICE9 device,
- UINT *width,
- UINT *height,
- UINT *depth,
- UINT *miplevels,
- DWORD usage,
- D3DFORMAT *format,
- D3DPOOL pool);
-
-HRESULT WINAPI D3DXCreateTexture( LPDIRECT3DDEVICE9 device,
- UINT width,
- UINT height,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- LPDIRECT3DTEXTURE9 *texture);
-
-HRESULT WINAPI D3DXCreateCubeTexture( LPDIRECT3DDEVICE9 device,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateVolumeTexture(LPDIRECT3DDEVICE9 device,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateTextureFromFileA( LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- LPDIRECT3DTEXTURE9 *texture);
-
-HRESULT WINAPI D3DXCreateTextureFromFileW( LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- LPDIRECT3DTEXTURE9 *texture);
-#define D3DXCreateTextureFromFile WINELIB_NAME_AW(D3DXCreateTextureFromFile)
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileA( LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileW( LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- LPDIRECT3DCUBETEXTURE9 *cube);
-#define D3DXCreateCubeTextureFromFile WINELIB_NAME_AW(D3DXCreateCubeTextureFromFile)
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileA(LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileW(LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-#define D3DXCreateVolumeTextureFromFile WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFile)
-
-HRESULT WINAPI D3DXCreateTextureFromResourceA( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- LPDIRECT3DTEXTURE9 *texture);
-
-HRESULT WINAPI D3DXCreateTextureFromResourceW( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- LPDIRECT3DTEXTURE9 *texture);
-#define D3DXCreateTextureFromResource WINELIB_NAME_AW(D3DXCreateTextureFromResource)
-
-HRESULT WINAPI D3DXCreateCubeTextureFromResourceA( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- LPDIRECT3DCUBETEXTURE9 *cube);
-HRESULT WINAPI D3DXCreateCubeTextureFromResourceW( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- LPDIRECT3DCUBETEXTURE9 *cube);
-#define D3DXCreateCubeTextureFromResource WINELIB_NAME_AW(D3DXCreateCubeTextureFromResource)
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromResourceA(LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-HRESULT WINAPI D3DXCreateVolumeTextureFromResourceW(LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-#define D3DXCreateVolumeTextureFromResource WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResource)
-
-HRESULT WINAPI D3DXCreateTextureFromFileExA( LPDIRECT3DDEVICE9 device,
- LPCSTR 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 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);
-#define D3DXCreateTextureFromFileEx WINELIB_NAME_AW(D3DXCreateTextureFromFileEx)
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileExA( LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileExW( LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-#define D3DXCreateCubeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromFileEx)
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileExA(LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileExW(LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-#define D3DXCreateVolumeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFileEx)
-
-HRESULT WINAPI D3DXCreateTextureFromResourceExA( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- 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 WINAPI D3DXCreateTextureFromResourceExW( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- 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);
-#define D3DXCreateTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateTextureFromResourceEx)
-
-HRESULT WINAPI D3DXCreateCubeTextureFromResourceExA( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateCubeTextureFromResourceExW( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-#define D3DXCreateCubeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromResourceEx)
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExA(LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExW(LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-#define D3DXCreateVolumeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResourceEx)
-
-HRESULT WINAPI D3DXCreateTextureFromFileInMemory( LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- LPDIRECT3DTEXTURE9* texture);
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemory( LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- LPDIRECT3DCUBETEXTURE9* cube);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemory(LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx( LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- 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 WINAPI D3DXCreateCubeTextureFromFileInMemoryEx( LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemoryEx(LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXSaveTextureToFileA(LPCSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DBASETEXTURE9 srctexture,
- CONST PALETTEENTRY *srcpalette);
-HRESULT WINAPI D3DXSaveTextureToFileW(LPCWSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DBASETEXTURE9 srctexture,
- CONST PALETTEENTRY *srcpalette);
-#define D3DXSaveTextureToFile WINELIB_NAME_AW(D3DXSaveTextureToFile)
-
-
-/* Other functions */
-HRESULT WINAPI D3DXFilterTexture( LPDIRECT3DBASETEXTURE9 texture,
- CONST PALETTEENTRY *palette,
- UINT srclevel,
- DWORD filter);
-#define D3DXFilterCubeTexture D3DXFilterTexture
-#define D3DXFilterVolumeTexture D3DXFilterTexture
-
-HRESULT WINAPI D3DXFillTexture( LPDIRECT3DTEXTURE9 texture,
- LPD3DXFILL2D function,
- LPVOID data);
-
-HRESULT WINAPI D3DXFillCubeTexture( LPDIRECT3DCUBETEXTURE9 cube,
- LPD3DXFILL3D function,
- LPVOID data);
-
-HRESULT WINAPI D3DXFillVolumeTexture( LPDIRECT3DVOLUMETEXTURE9 volume,
- LPD3DXFILL3D function,
- LPVOID data);
-
-HRESULT WINAPI D3DXFillTextureTX( LPDIRECT3DTEXTURE9 texture,
- CONST DWORD *function,
- CONST D3DXVECTOR4 *constants,
- UINT numconstants);
-
-HRESULT WINAPI D3DXFillCubeTextureTX( LPDIRECT3DCUBETEXTURE9 cube,
- CONST DWORD *function,
- CONST D3DXVECTOR4 *constants,
- UINT numconstants);
-
-HRESULT WINAPI D3DXFillVolumeTextureTX(LPDIRECT3DVOLUMETEXTURE9 volume,
- CONST DWORD *function,
- CONST D3DXVECTOR4 *constants,
- UINT numconstants);
-
-HRESULT WINAPI D3DXComputeNormalMap( LPDIRECT3DTEXTURE9 texture,
- LPDIRECT3DTEXTURE9 srctexture,
- CONST PALETTEENTRY *srcpalette,
- DWORD flags,
- DWORD channel,
- FLOAT amplitude);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINE_D3DX9TEX_H */
+++ /dev/null
-/*==========================================================================;
- *
- * Copyright (C) 1994-1997 Microsoft Corporation. All Rights Reserved.
- *
- * File: ddraw.h
- * Content: DirectDraw include file
- *
- ***************************************************************************/
-
-#ifndef __DDRAW_INCLUDED__
-#define __DDRAW_INCLUDED__
-
-/*
- * If you wish an application built against the newest version of DirectDraw
- * to run against an older DirectDraw run time then define DIRECTDRAW_VERSION
- * to be the earlies version of DirectDraw you wish to run against. For,
- * example if you wish an application to run against a DX 3 runtime define
- * DIRECTDRAW_VERSION to be 0x0300.
- */
-#ifndef DIRECTDRAW_VERSION
-#define DIRECTDRAW_VERSION 0x0600
-#endif /* DIRECTDRAW_VERSION */
-
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-#else
-#define IUnknown void
-#if !defined( NT_BUILD_ENVIRONMENT ) && !defined(WINNT)
- #define CO_E_NOTINITIALIZED 0x800401F0L
-#endif
-#endif
-
-#define _FACDD 0x876
-#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-//
-// For compilers that don't support nameless unions, do a
-//
-// #define NONAMELESSUNION
-//
-// before #include <ddraw.h>
-//
-#ifndef DUMMYUNIONNAMEN
-#if defined(__cplusplus) || !defined(NONAMELESSUNION)
-#define DUMMYUNIONNAMEN(n)
-#else
-#define DUMMYUNIONNAMEN(n) u##n
-#endif
-#endif
-
-#ifndef MAKEFOURCC
- #define MAKEFOURCC(ch0, ch1, ch2, ch3) \
- ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
- ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
-#endif //defined(MAKEFOURCC)
-
-/*
- * FOURCC codes for DX compressed-texture pixel formats
- */
-#define FOURCC_DXT1 (MAKEFOURCC('D','X','T','1'))
-#define FOURCC_DXT2 (MAKEFOURCC('D','X','T','2'))
-#define FOURCC_DXT3 (MAKEFOURCC('D','X','T','3'))
-#define FOURCC_DXT4 (MAKEFOURCC('D','X','T','4'))
-#define FOURCC_DXT5 (MAKEFOURCC('D','X','T','5'))
-
-/*
- * GUIDS used by DirectDraw objects
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-
-DEFINE_GUID( CLSID_DirectDraw, 0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35 );
-DEFINE_GUID( CLSID_DirectDrawClipper, 0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56 );
-DEFINE_GUID( IID_IDirectDraw, 0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
-DEFINE_GUID( IID_IDirectDraw2, 0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
-DEFINE_GUID( IID_IDirectDraw4, 0x9c59509a,0x39bd,0x11d1,0x8c,0x4a,0x00,0xc0,0x4f,0xd9,0x30,0xc5 );
-DEFINE_GUID( IID_IDirectDrawSurface, 0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
-DEFINE_GUID( IID_IDirectDrawSurface2, 0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27 );
-DEFINE_GUID( IID_IDirectDrawSurface3, 0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB );
-DEFINE_GUID( IID_IDirectDrawSurface4, 0x0B2B8630,0xAD35,0x11D0,0x8E,0xA6,0x00,0x60,0x97,0x97,0xEA,0x5B );
-
-DEFINE_GUID( IID_IDirectDrawPalette, 0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
-DEFINE_GUID( IID_IDirectDrawClipper, 0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
-DEFINE_GUID( IID_IDirectDrawColorControl, 0x4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8 );
-DEFINE_GUID( IID_IDirectDrawGammaControl, 0x69C11C3E,0xB46B,0x11D1,0xAD,0x7A,0x00,0xC0,0x4F,0xC2,0x9B,0x4E );
-
-#endif
-
-/*============================================================================
- *
- * DirectDraw Structures
- *
- * Various structures used to invoke DirectDraw.
- *
- *==========================================================================*/
-
-struct IDirectDraw;
-struct IDirectDrawSurface;
-struct IDirectDrawPalette;
-struct IDirectDrawClipper;
-
-typedef struct IDirectDraw FAR *LPDIRECTDRAW;
-typedef struct IDirectDraw2 FAR *LPDIRECTDRAW2;
-typedef struct IDirectDraw4 FAR *LPDIRECTDRAW4;
-typedef struct IDirectDrawSurface FAR *LPDIRECTDRAWSURFACE;
-typedef struct IDirectDrawSurface2 FAR *LPDIRECTDRAWSURFACE2;
-typedef struct IDirectDrawSurface3 FAR *LPDIRECTDRAWSURFACE3;
-typedef struct IDirectDrawSurface4 FAR *LPDIRECTDRAWSURFACE4;
-
-typedef struct IDirectDrawPalette FAR *LPDIRECTDRAWPALETTE;
-typedef struct IDirectDrawClipper FAR *LPDIRECTDRAWCLIPPER;
-typedef struct IDirectDrawColorControl FAR *LPDIRECTDRAWCOLORCONTROL;
-typedef struct IDirectDrawGammaControl FAR *LPDIRECTDRAWGAMMACONTROL;
-
-typedef struct _DDFXROP FAR *LPDDFXROP;
-typedef struct _DDSURFACEDESC FAR *LPDDSURFACEDESC;
-typedef struct _DDSURFACEDESC2 FAR *LPDDSURFACEDESC2;
-typedef struct _DDCOLORCONTROL FAR *LPDDCOLORCONTROL;
-
-/*
- * API's
- */
-#if (defined (WIN32) || defined( _WIN32 ) ) && !defined( _NO_COM )
-//#if defined( _WIN32 ) && !defined( _NO_ENUM )
- typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKA)(GUID FAR *, LPSTR, LPSTR, LPVOID);
- typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKW)(GUID FAR *, LPWSTR, LPWSTR, LPVOID);
- extern HRESULT WINAPI DirectDrawEnumerateW( LPDDENUMCALLBACKW lpCallback, LPVOID lpContext );
- extern HRESULT WINAPI DirectDrawEnumerateA( LPDDENUMCALLBACKA lpCallback, LPVOID lpContext );
- /*
- * Protect against old SDKs
- */
- #ifndef SM_CMONITORS
- #define HMONITOR HANDLE
- #endif
- typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKEXA)(GUID FAR *, LPSTR, LPSTR, LPVOID, HMONITOR);
- typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKEXW)(GUID FAR *, LPWSTR, LPWSTR, LPVOID, HMONITOR);
- extern HRESULT WINAPI DirectDrawEnumerateExW( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);
- extern HRESULT WINAPI DirectDrawEnumerateExA( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);
- typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXA)( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);
- typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXW)( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);
-
- #ifdef UNICODE
- typedef LPDDENUMCALLBACKW LPDDENUMCALLBACK;
- #define DirectDrawEnumerate DirectDrawEnumerateW
- typedef LPDDENUMCALLBACKEXW LPDDENUMCALLBACKEX;
- typedef LPDIRECTDRAWENUMERATEEXW LPDIRECTDRAWENUMERATEEX;
- #define DirectDrawEnumerateEx DirectDrawEnumerateExW
- #else
- typedef LPDDENUMCALLBACKA LPDDENUMCALLBACK;
- #define DirectDrawEnumerate DirectDrawEnumerateA
- typedef LPDDENUMCALLBACKEXA LPDDENUMCALLBACKEX;
- typedef LPDIRECTDRAWENUMERATEEXA LPDIRECTDRAWENUMERATEEX;
- #define DirectDrawEnumerateEx DirectDrawEnumerateExA
- #endif
- extern HRESULT WINAPI DirectDrawCreate( GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter );
- extern HRESULT WINAPI DirectDrawCreateClipper( DWORD dwFlags, LPDIRECTDRAWCLIPPER FAR *lplpDDClipper, IUnknown FAR *pUnkOuter );
-#endif
-/*
- * Flags for DirectDrawEnumerateEx
- * DirectDrawEnumerateEx supercedes DirectDrawEnumerate. You must use GetProcAddress to
- * obtain a function pointer (of type LPDIRECTDRAWENUMERATEEX) to DirectDrawEnumerateEx.
- * By default, only the primary display device is enumerated.
- * DirectDrawEnumerate is equivalent to DirectDrawEnumerate(,,DDENUM_NONDISPLAYDEVICES)
- */
-
-/*
- * This flag causes enumeration of any GDI display devices which are part of
- * the Windows Desktop
- */
-#define DDENUM_ATTACHEDSECONDARYDEVICES 0x00000001L
-
-/*
- * This flag causes enumeration of any GDI display devices which are not
- * part of the Windows Desktop
- */
-#define DDENUM_DETACHEDSECONDARYDEVICES 0x00000002L
-
-/*
- * This flag causes enumeration of non-display devices
- */
-#define DDENUM_NONDISPLAYDEVICES 0x00000004L
-
-
-#define REGSTR_KEY_DDHW_DESCRIPTION "Description"
-#define REGSTR_KEY_DDHW_DRIVERNAME "DriverName"
-#define REGSTR_PATH_DDHW "Hardware\\DirectDrawDrivers"
-
-#define DDCREATE_HARDWAREONLY 0x00000001l
-#define DDCREATE_EMULATIONONLY 0x00000002l
-
-#if defined(WINNT) || !defined(WIN32)
-typedef long HRESULT;
-#endif
-
-//#ifndef WINNT
-typedef HRESULT (FAR PASCAL * LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID);
-typedef HRESULT (FAR PASCAL * LPDDENUMMODESCALLBACK2)(LPDDSURFACEDESC2, LPVOID);
-typedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID);
-typedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK2)(LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID);
-//#endif
-
-/*
- * Generic pixel format with 8-bit RGB and alpha components
- */
-typedef struct _DDRGBA
-{
- BYTE red;
- BYTE green;
- BYTE blue;
- BYTE alpha;
-} DDRGBA;
-
-typedef DDRGBA FAR *LPDDRGBA;
-
-/*
- * DDCOLORKEY
- */
-typedef struct _DDCOLORKEY
-{
- DWORD dwColorSpaceLowValue; // low boundary of color space that is to
- // be treated as Color Key, inclusive
- DWORD dwColorSpaceHighValue; // high boundary of color space that is
- // to be treated as Color Key, inclusive
-} DDCOLORKEY;
-
-typedef DDCOLORKEY FAR* LPDDCOLORKEY;
-
-/*
- * DDBLTFX
- * Used to pass override information to the DIRECTDRAWSURFACE callback Blt.
- */
-typedef struct _DDBLTFX
-{
- DWORD dwSize; // size of structure
- DWORD dwDDFX; // FX operations
- DWORD dwROP; // Win32 raster operations
- DWORD dwDDROP; // Raster operations new for DirectDraw
- DWORD dwRotationAngle; // Rotation angle for blt
- DWORD dwZBufferOpCode; // ZBuffer compares
- DWORD dwZBufferLow; // Low limit of Z buffer
- DWORD dwZBufferHigh; // High limit of Z buffer
- DWORD dwZBufferBaseDest; // Destination base value
- DWORD dwZDestConstBitDepth; // Bit depth used to specify Z constant for destination
- union
- {
- DWORD dwZDestConst; // Constant to use as Z buffer for dest
- LPDIRECTDRAWSURFACE lpDDSZBufferDest; // Surface to use as Z buffer for dest
- } DUMMYUNIONNAMEN(1);
- DWORD dwZSrcConstBitDepth; // Bit depth used to specify Z constant for source
- union
- {
- DWORD dwZSrcConst; // Constant to use as Z buffer for src
- LPDIRECTDRAWSURFACE lpDDSZBufferSrc; // Surface to use as Z buffer for src
- } DUMMYUNIONNAMEN(2);
- DWORD dwAlphaEdgeBlendBitDepth; // Bit depth used to specify constant for alpha edge blend
- DWORD dwAlphaEdgeBlend; // Alpha for edge blending
- DWORD dwReserved;
- DWORD dwAlphaDestConstBitDepth; // Bit depth used to specify alpha constant for destination
- union
- {
- DWORD dwAlphaDestConst; // Constant to use as Alpha Channel
- LPDIRECTDRAWSURFACE lpDDSAlphaDest; // Surface to use as Alpha Channel
- } DUMMYUNIONNAMEN(3);
- DWORD dwAlphaSrcConstBitDepth; // Bit depth used to specify alpha constant for source
- union
- {
- DWORD dwAlphaSrcConst; // Constant to use as Alpha Channel
- LPDIRECTDRAWSURFACE lpDDSAlphaSrc; // Surface to use as Alpha Channel
- } DUMMYUNIONNAMEN(4);
- union
- {
- DWORD dwFillColor; // color in RGB or Palettized
- DWORD dwFillDepth; // depth value for z-buffer
- DWORD dwFillPixel; // pixel value for RGBA or RGBZ
- LPDIRECTDRAWSURFACE lpDDSPattern; // Surface to use as pattern
- } DUMMYUNIONNAMEN(5);
- DDCOLORKEY ddckDestColorkey; // DestColorkey override
- DDCOLORKEY ddckSrcColorkey; // SrcColorkey override
-} DDBLTFX;
-
-typedef DDBLTFX FAR* LPDDBLTFX;
-
-
-/*
- * DDSCAPS
- */
-typedef struct _DDSCAPS
-{
- DWORD dwCaps; // capabilities of surface wanted
-} DDSCAPS;
-
-typedef DDSCAPS FAR* LPDDSCAPS;
-
-
-/*
- * DDOSCAPS
- */
-typedef struct _DDOSCAPS
-{
- DWORD dwCaps; // capabilities of surface wanted
-} DDOSCAPS;
-
-typedef DDOSCAPS FAR* LPDDOSCAPS;
-
-/*
- * This structure is used internally by DirectDraw.
- */
-typedef struct _DDSCAPSEX
-{
- DWORD dwCaps2;
- DWORD dwCaps3;
- DWORD dwCaps4;
-} DDSCAPSEX, FAR * LPDDSCAPSEX;
-
-/*
- * DDSCAPS2
- */
-typedef struct _DDSCAPS2
-{
- DWORD dwCaps; // capabilities of surface wanted
- DWORD dwCaps2;
- DWORD dwCaps3;
- DWORD dwCaps4;
-} DDSCAPS2;
-
-typedef DDSCAPS2 FAR* LPDDSCAPS2;
-
-/*
- * DDCAPS
- */
-#define DD_ROP_SPACE (256/32) // space required to store ROP array
-
-/*
- * This structure is the DDCAPS structure as it was in version 2 and 3 of Direct X.
- * It is present for back compatability.
- */
-typedef struct _DDCAPS_DX3
-{
- DWORD dwSize; // size of the DDDRIVERCAPS structure
- DWORD dwCaps; // driver specific capabilities
- DWORD dwCaps2; // more driver specific capabilites
- DWORD dwCKeyCaps; // color key capabilities of the surface
- DWORD dwFXCaps; // driver specific stretching and effects capabilites
- DWORD dwFXAlphaCaps; // alpha driver specific capabilities
- DWORD dwPalCaps; // palette capabilities
- DWORD dwSVCaps; // stereo vision capabilities
- DWORD dwAlphaBltConstBitDepths; // DDBD_2,4,8
- DWORD dwAlphaBltPixelBitDepths; // DDBD_1,2,4,8
- DWORD dwAlphaBltSurfaceBitDepths; // DDBD_1,2,4,8
- DWORD dwAlphaOverlayConstBitDepths; // DDBD_2,4,8
- DWORD dwAlphaOverlayPixelBitDepths; // DDBD_1,2,4,8
- DWORD dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8
- DWORD dwZBufferBitDepths; // DDBD_8,16,24,32
- DWORD dwVidMemTotal; // total amount of video memory
- DWORD dwVidMemFree; // amount of free video memory
- DWORD dwMaxVisibleOverlays; // maximum number of visible overlays
- DWORD dwCurrVisibleOverlays; // current number of visible overlays
- DWORD dwNumFourCCCodes; // number of four cc codes
- DWORD dwAlignBoundarySrc; // source rectangle alignment
- DWORD dwAlignSizeSrc; // source rectangle byte size
- DWORD dwAlignBoundaryDest; // dest rectangle alignment
- DWORD dwAlignSizeDest; // dest rectangle byte size
- DWORD dwAlignStrideAlign; // stride alignment
- DWORD dwRops[DD_ROP_SPACE]; // ROPS supported
- DDSCAPS ddsCaps; // DDSCAPS structure has all the general capabilities
- DWORD dwMinOverlayStretch; // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMaxOverlayStretch; // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMinLiveVideoStretch; // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMaxLiveVideoStretch; // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMinHwCodecStretch; // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMaxHwCodecStretch; // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwReserved1; // reserved
- DWORD dwReserved2; // reserved
- DWORD dwReserved3; // reserved
- DWORD dwSVBCaps; // driver specific capabilities for System->Vmem blts
- DWORD dwSVBCKeyCaps; // driver color key capabilities for System->Vmem blts
- DWORD dwSVBFXCaps; // driver FX capabilities for System->Vmem blts
- DWORD dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts
- DWORD dwVSBCaps; // driver specific capabilities for Vmem->System blts
- DWORD dwVSBCKeyCaps; // driver color key capabilities for Vmem->System blts
- DWORD dwVSBFXCaps; // driver FX capabilities for Vmem->System blts
- DWORD dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts
- DWORD dwSSBCaps; // driver specific capabilities for System->System blts
- DWORD dwSSBCKeyCaps; // driver color key capabilities for System->System blts
- DWORD dwSSBFXCaps; // driver FX capabilities for System->System blts
- DWORD dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts
- DWORD dwReserved4; // reserved
- DWORD dwReserved5; // reserved
- DWORD dwReserved6; // reserved
-} DDCAPS_DX3;
-typedef DDCAPS_DX3 FAR* LPDDCAPS_DX3;
-
-/*
- * This structure is the DDCAPS structure as it was in version 5 of Direct X.
- * It is present for back compatability.
- */
-typedef struct _DDCAPS_DX5
-{
-/* 0*/ DWORD dwSize; // size of the DDDRIVERCAPS structure
-/* 4*/ DWORD dwCaps; // driver specific capabilities
-/* 8*/ DWORD dwCaps2; // more driver specific capabilites
-/* c*/ DWORD dwCKeyCaps; // color key capabilities of the surface
-/* 10*/ DWORD dwFXCaps; // driver specific stretching and effects capabilites
-/* 14*/ DWORD dwFXAlphaCaps; // alpha driver specific capabilities
-/* 18*/ DWORD dwPalCaps; // palette capabilities
-/* 1c*/ DWORD dwSVCaps; // stereo vision capabilities
-/* 20*/ DWORD dwAlphaBltConstBitDepths; // DDBD_2,4,8
-/* 24*/ DWORD dwAlphaBltPixelBitDepths; // DDBD_1,2,4,8
-/* 28*/ DWORD dwAlphaBltSurfaceBitDepths; // DDBD_1,2,4,8
-/* 2c*/ DWORD dwAlphaOverlayConstBitDepths; // DDBD_2,4,8
-/* 30*/ DWORD dwAlphaOverlayPixelBitDepths; // DDBD_1,2,4,8
-/* 34*/ DWORD dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8
-/* 38*/ DWORD dwZBufferBitDepths; // DDBD_8,16,24,32
-/* 3c*/ DWORD dwVidMemTotal; // total amount of video memory
-/* 40*/ DWORD dwVidMemFree; // amount of free video memory
-/* 44*/ DWORD dwMaxVisibleOverlays; // maximum number of visible overlays
-/* 48*/ DWORD dwCurrVisibleOverlays; // current number of visible overlays
-/* 4c*/ DWORD dwNumFourCCCodes; // number of four cc codes
-/* 50*/ DWORD dwAlignBoundarySrc; // source rectangle alignment
-/* 54*/ DWORD dwAlignSizeSrc; // source rectangle byte size
-/* 58*/ DWORD dwAlignBoundaryDest; // dest rectangle alignment
-/* 5c*/ DWORD dwAlignSizeDest; // dest rectangle byte size
-/* 60*/ DWORD dwAlignStrideAlign; // stride alignment
-/* 64*/ DWORD dwRops[DD_ROP_SPACE]; // ROPS supported
-/* 84*/ DDSCAPS ddsCaps; // DDSCAPS structure has all the general capabilities
-/* 88*/ DWORD dwMinOverlayStretch; // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 8c*/ DWORD dwMaxOverlayStretch; // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 90*/ DWORD dwMinLiveVideoStretch; // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 94*/ DWORD dwMaxLiveVideoStretch; // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 98*/ DWORD dwMinHwCodecStretch; // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 9c*/ DWORD dwMaxHwCodecStretch; // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* a0*/ DWORD dwReserved1; // reserved
-/* a4*/ DWORD dwReserved2; // reserved
-/* a8*/ DWORD dwReserved3; // reserved
-/* ac*/ DWORD dwSVBCaps; // driver specific capabilities for System->Vmem blts
-/* b0*/ DWORD dwSVBCKeyCaps; // driver color key capabilities for System->Vmem blts
-/* b4*/ DWORD dwSVBFXCaps; // driver FX capabilities for System->Vmem blts
-/* b8*/ DWORD dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts
-/* d8*/ DWORD dwVSBCaps; // driver specific capabilities for Vmem->System blts
-/* dc*/ DWORD dwVSBCKeyCaps; // driver color key capabilities for Vmem->System blts
-/* e0*/ DWORD dwVSBFXCaps; // driver FX capabilities for Vmem->System blts
-/* e4*/ DWORD dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts
-/*104*/ DWORD dwSSBCaps; // driver specific capabilities for System->System blts
-/*108*/ DWORD dwSSBCKeyCaps; // driver color key capabilities for System->System blts
-/*10c*/ DWORD dwSSBFXCaps; // driver FX capabilities for System->System blts
-/*110*/ DWORD dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts
-// Members added for DX5:
-/*130*/ DWORD dwMaxVideoPorts; // maximum number of usable video ports
-/*134*/ DWORD dwCurrVideoPorts; // current number of video ports used
-/*138*/ DWORD dwSVBCaps2; // more driver specific capabilities for System->Vmem blts
-/*13c*/ DWORD dwNLVBCaps; // driver specific capabilities for non-local->local vidmem blts
-/*140*/ DWORD dwNLVBCaps2; // more driver specific capabilities non-local->local vidmem blts
-/*144*/ DWORD dwNLVBCKeyCaps; // driver color key capabilities for non-local->local vidmem blts
-/*148*/ DWORD dwNLVBFXCaps; // driver FX capabilities for non-local->local blts
-/*14c*/ DWORD dwNLVBRops[DD_ROP_SPACE]; // ROPS supported for non-local->local blts
-} DDCAPS_DX5;
-typedef DDCAPS_DX5 FAR* LPDDCAPS_DX5;
-
-typedef struct _DDCAPS_DX6
-{
-/* 0*/ DWORD dwSize; // size of the DDDRIVERCAPS structure
-/* 4*/ DWORD dwCaps; // driver specific capabilities
-/* 8*/ DWORD dwCaps2; // more driver specific capabilites
-/* c*/ DWORD dwCKeyCaps; // color key capabilities of the surface
-/* 10*/ DWORD dwFXCaps; // driver specific stretching and effects capabilites
-/* 14*/ DWORD dwFXAlphaCaps; // alpha caps
-/* 18*/ DWORD dwPalCaps; // palette capabilities
-/* 1c*/ DWORD dwSVCaps; // stereo vision capabilities
-/* 20*/ DWORD dwAlphaBltConstBitDepths; // DDBD_2,4,8
-/* 24*/ DWORD dwAlphaBltPixelBitDepths; // DDBD_1,2,4,8
-/* 28*/ DWORD dwAlphaBltSurfaceBitDepths; // DDBD_1,2,4,8
-/* 2c*/ DWORD dwAlphaOverlayConstBitDepths; // DDBD_2,4,8
-/* 30*/ DWORD dwAlphaOverlayPixelBitDepths; // DDBD_1,2,4,8
-/* 34*/ DWORD dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8
-/* 38*/ DWORD dwZBufferBitDepths; // DDBD_8,16,24,32
-/* 3c*/ DWORD dwVidMemTotal; // total amount of video memory
-/* 40*/ DWORD dwVidMemFree; // amount of free video memory
-/* 44*/ DWORD dwMaxVisibleOverlays; // maximum number of visible overlays
-/* 48*/ DWORD dwCurrVisibleOverlays; // current number of visible overlays
-/* 4c*/ DWORD dwNumFourCCCodes; // number of four cc codes
-/* 50*/ DWORD dwAlignBoundarySrc; // source rectangle alignment
-/* 54*/ DWORD dwAlignSizeSrc; // source rectangle byte size
-/* 58*/ DWORD dwAlignBoundaryDest; // dest rectangle alignment
-/* 5c*/ DWORD dwAlignSizeDest; // dest rectangle byte size
-/* 60*/ DWORD dwAlignStrideAlign; // stride alignment
-/* 64*/ DWORD dwRops[DD_ROP_SPACE]; // ROPS supported
-/* 84*/ DDSCAPS ddsOldCaps; // Was DDSCAPS ddsCaps. ddsCaps is of type DDSCAPS2 for DX6
-/* 88*/ DWORD dwMinOverlayStretch; // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 8c*/ DWORD dwMaxOverlayStretch; // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 90*/ DWORD dwMinLiveVideoStretch; // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 94*/ DWORD dwMaxLiveVideoStretch; // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 98*/ DWORD dwMinHwCodecStretch; // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 9c*/ DWORD dwMaxHwCodecStretch; // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* a0*/ DWORD dwReserved1; // reserved
-/* a4*/ DWORD dwReserved2; // reserved
-/* a8*/ DWORD dwReserved3; // reserved
-/* ac*/ DWORD dwSVBCaps; // driver specific capabilities for System->Vmem blts
-/* b0*/ DWORD dwSVBCKeyCaps; // driver color key capabilities for System->Vmem blts
-/* b4*/ DWORD dwSVBFXCaps; // driver FX capabilities for System->Vmem blts
-/* b8*/ DWORD dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts
-/* d8*/ DWORD dwVSBCaps; // driver specific capabilities for Vmem->System blts
-/* dc*/ DWORD dwVSBCKeyCaps; // driver color key capabilities for Vmem->System blts
-/* e0*/ DWORD dwVSBFXCaps; // driver FX capabilities for Vmem->System blts
-/* e4*/ DWORD dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts
-/*104*/ DWORD dwSSBCaps; // driver specific capabilities for System->System blts
-/*108*/ DWORD dwSSBCKeyCaps; // driver color key capabilities for System->System blts
-/*10c*/ DWORD dwSSBFXCaps; // driver FX capabilities for System->System blts
-/*110*/ DWORD dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts
-/*130*/ DWORD dwMaxVideoPorts; // maximum number of usable video ports
-/*134*/ DWORD dwCurrVideoPorts; // current number of video ports used
-/*138*/ DWORD dwSVBCaps2; // more driver specific capabilities for System->Vmem blts
-/*13c*/ DWORD dwNLVBCaps; // driver specific capabilities for non-local->local vidmem blts
-/*140*/ DWORD dwNLVBCaps2; // more driver specific capabilities non-local->local vidmem blts
-/*144*/ DWORD dwNLVBCKeyCaps; // driver color key capabilities for non-local->local vidmem blts
-/*148*/ DWORD dwNLVBFXCaps; // driver FX capabilities for non-local->local blts
-/*14c*/ DWORD dwNLVBRops[DD_ROP_SPACE]; // ROPS supported for non-local->local blts
-// Members added for DX6 release
-/*16c*/ DDSCAPS2 ddsCaps; // Surface Caps
-} DDCAPS_DX6;
-typedef DDCAPS_DX6 FAR* LPDDCAPS_DX6;
-
-
-#if DIRECTDRAW_VERSION <= 0x300
- typedef DDCAPS_DX3 DDCAPS;
-#elif DIRECTDRAW_VERSION <= 0x500
- typedef DDCAPS_DX5 DDCAPS;
-#else
- typedef DDCAPS_DX6 DDCAPS;
-#endif
-
-typedef DDCAPS FAR* LPDDCAPS;
-
-
-
-/*
- * DDPIXELFORMAT
- */
-typedef struct _DDPIXELFORMAT
-{
- DWORD dwSize; // size of structure
- DWORD dwFlags; // pixel format flags
- DWORD dwFourCC; // (FOURCC code)
- union
- {
- DWORD dwRGBBitCount; // how many bits per pixel
- DWORD dwYUVBitCount; // how many bits per pixel
- DWORD dwZBufferBitDepth; // how many total bits/pixel in z buffer (including any stencil bits)
- DWORD dwAlphaBitDepth; // how many bits for alpha channels
- DWORD dwLuminanceBitCount; // how many bits per pixel
- DWORD dwBumpBitCount; // how many bits per "buxel", total
- } DUMMYUNIONNAMEN(1);
- union
- {
- DWORD dwRBitMask; // mask for red bit
- DWORD dwYBitMask; // mask for Y bits
- DWORD dwStencilBitDepth; // how many stencil bits (note: dwZBufferBitDepth-dwStencilBitDepth is total Z-only bits)
- DWORD dwLuminanceBitMask; // mask for luminance bits
- DWORD dwBumpDuBitMask; // mask for bump map U delta bits
- } DUMMYUNIONNAMEN(2);
- union
- {
- DWORD dwGBitMask; // mask for green bits
- DWORD dwUBitMask; // mask for U bits
- DWORD dwZBitMask; // mask for Z bits
- DWORD dwBumpDvBitMask; // mask for bump map V delta bits
- } DUMMYUNIONNAMEN(3);
- union
- {
- DWORD dwBBitMask; // mask for blue bits
- DWORD dwVBitMask; // mask for V bits
- DWORD dwStencilBitMask; // mask for stencil bits
- DWORD dwBumpLuminanceBitMask; // mask for luminance in bump map
- } DUMMYUNIONNAMEN(4);
- union
- {
- DWORD dwRGBAlphaBitMask; // mask for alpha channel
- DWORD dwYUVAlphaBitMask; // mask for alpha channel
- DWORD dwLuminanceAlphaBitMask;// mask for alpha channel
- DWORD dwRGBZBitMask; // mask for Z channel
- DWORD dwYUVZBitMask; // mask for Z channel
- } DUMMYUNIONNAMEN(5);
-} DDPIXELFORMAT;
-
-typedef DDPIXELFORMAT FAR* LPDDPIXELFORMAT;
-
-/*
- * DDOVERLAYFX
- */
-typedef struct _DDOVERLAYFX
-{
- DWORD dwSize; // size of structure
- DWORD dwAlphaEdgeBlendBitDepth; // Bit depth used to specify constant for alpha edge blend
- DWORD dwAlphaEdgeBlend; // Constant to use as alpha for edge blend
- DWORD dwReserved;
- DWORD dwAlphaDestConstBitDepth; // Bit depth used to specify alpha constant for destination
- union
- {
- DWORD dwAlphaDestConst; // Constant to use as alpha channel for dest
- LPDIRECTDRAWSURFACE lpDDSAlphaDest; // Surface to use as alpha channel for dest
- } DUMMYUNIONNAMEN(1);
- DWORD dwAlphaSrcConstBitDepth; // Bit depth used to specify alpha constant for source
- union
- {
- DWORD dwAlphaSrcConst; // Constant to use as alpha channel for src
- LPDIRECTDRAWSURFACE lpDDSAlphaSrc; // Surface to use as alpha channel for src
- } DUMMYUNIONNAMEN(2);
- DDCOLORKEY dckDestColorkey; // DestColorkey override
- DDCOLORKEY dckSrcColorkey; // DestColorkey override
- DWORD dwDDFX; // Overlay FX
- DWORD dwFlags; // flags
-} DDOVERLAYFX;
-
-typedef DDOVERLAYFX FAR *LPDDOVERLAYFX;
-
-
-/*
- * DDBLTBATCH: BltBatch entry structure
- */
-typedef struct _DDBLTBATCH
-{
- LPRECT lprDest;
- LPDIRECTDRAWSURFACE lpDDSSrc;
- LPRECT lprSrc;
- DWORD dwFlags;
- LPDDBLTFX lpDDBltFx;
-} DDBLTBATCH;
-
-typedef DDBLTBATCH FAR * LPDDBLTBATCH;
-
-
-/*
- * DDGAMMARAMP
- */
-typedef struct _DDGAMMARAMP
-{
- WORD red[256];
- WORD green[256];
- WORD blue[256];
-} DDGAMMARAMP;
-typedef DDGAMMARAMP FAR * LPDDGAMMARAMP;
-
-/*
- * This is the structure within which DirectDraw returns data about the current graphics driver and chipset
- */
-
-#define MAX_DDDEVICEID_STRING 512
-
-typedef struct tagDDDEVICEIDENTIFIER
-{
- /*
- * These elements are for presentation to the user only. They should not be used to identify particular
- * drivers, since this is unreliable and many different strings may be associated with the same
- * device, and the same driver from different vendors.
- */
- char szDriver[MAX_DDDEVICEID_STRING];
- char szDescription[MAX_DDDEVICEID_STRING];
-
- /*
- * This element is the version of the DirectDraw/3D driver. It is legal to do <, > comparisons
- * on the whole 64 bits. Caution should be exercised if you use this element to identify problematic
- * drivers. It is recommended that guidDeviceIdentifier is used for this purpose.
- *
- * This version has the form:
- * wProduct = HIWORD(liDriverVersion.HighPart)
- * wVersion = LOWORD(liDriverVersion.HighPart)
- * wSubVersion = HIWORD(liDriverVersion.LowPart)
- * wBuild = LOWORD(liDriverVersion.LowPart)
- */
-#ifdef _WIN32
- LARGE_INTEGER liDriverVersion; /* Defined for applications and other 32 bit components */
-#else
- DWORD dwDriverVersionLowPart; /* Defined for 16 bit driver components */
- DWORD dwDriverVersionHighPart;
-#endif
-
-
- /*
- * These elements can be used to identify particular chipsets. Use with extreme caution.
- * dwVendorId Identifies the manufacturer. May be zero if unknown.
- * dwDeviceId Identifies the type of chipset. May be zero if unknown.
- * dwSubSysId Identifies the subsystem, typically this means the particular board. May be zero if unknown.
- * dwRevision Identifies the revision level of the chipset. May be zero if unknown.
- */
- DWORD dwVendorId;
- DWORD dwDeviceId;
- DWORD dwSubSysId;
- DWORD dwRevision;
-
- /*
- * This element can be used to check changes in driver/chipset. This GUID is a unique identifier for the
- * driver/chipset pair. Use this element if you wish to track changes to the driver/chipset in order to
- * reprofile the graphics subsystem.
- * This element can also be used to identify particular problematic drivers.
- */
- GUID guidDeviceIdentifier;
-} DDDEVICEIDENTIFIER, * LPDDDEVICEIDENTIFIER;
-
-/*
- * Flags for the IDirectDraw4::GetDeviceIdentifier method
- */
-
-/*
- * This flag causes GetDeviceIdentifier to return information about the host (typically 2D) adapter in a system equipped
- * with a stacked secondary 3D adapter. Such an adapter appears to the application as if it were part of the
- * host adapter, but is typically physcially located on a separate card. The stacked secondary's information is
- * returned when GetDeviceIdentifier's dwFlags field is zero, since this most accurately reflects the qualities
- * of the DirectDraw object involved.
- */
-#define DDGDI_GETHOSTIDENTIFIER 0x00000001L
-
-
-
-/*
- * callbacks
- */
-typedef DWORD (FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper, HWND hWnd, DWORD code, LPVOID lpContext );
-#ifdef STREAMING
-typedef DWORD (FAR PASCAL *LPSURFACESTREAMINGCALLBACK)(DWORD);
-#endif
-
-
-/*
- * INTERACES FOLLOW:
- * IDirectDraw
- * IDirectDrawClipper
- * IDirectDrawPalette
- * IDirectDrawSurface
- */
-
-/*
- * IDirectDraw
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDraw
-DECLARE_INTERFACE_( IDirectDraw, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDraw methods ***/
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;
- STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;
- STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;
- STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;
- STDMETHOD(FlipToGDISurface)(THIS) PURE;
- STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
- STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
- STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
- STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
- STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
- STDMETHOD(RestoreDisplayMode)(THIS) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
- STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD) PURE;
- STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDraw_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDraw_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDraw_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDraw_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectDraw_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
-#define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
-#define IDirectDraw_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
-#define IDirectDraw_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
-#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
-#define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
-#define IDirectDraw_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
-#define IDirectDraw_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
-#define IDirectDraw_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
-#define IDirectDraw_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
-#define IDirectDraw_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
-#define IDirectDraw_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
-#define IDirectDraw_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
-#define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
-#define IDirectDraw_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
-#define IDirectDraw_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
-#define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
-#define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->lpVtbl->SetDisplayMode(p, a, b, c)
-#define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
-#else
-#define IDirectDraw_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDraw_AddRef(p) (p)->AddRef()
-#define IDirectDraw_Release(p) (p)->Release()
-#define IDirectDraw_Compact(p) (p)->Compact()
-#define IDirectDraw_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
-#define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
-#define IDirectDraw_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
-#define IDirectDraw_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
-#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
-#define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
-#define IDirectDraw_FlipToGDISurface(p) (p)->FlipToGDISurface()
-#define IDirectDraw_GetCaps(p, a, b) (p)->GetCaps(a, b)
-#define IDirectDraw_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
-#define IDirectDraw_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
-#define IDirectDraw_GetGDISurface(p, a) (p)->GetGDISurface(a)
-#define IDirectDraw_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
-#define IDirectDraw_GetScanLine(p, a) (p)->GetScanLine(a)
-#define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
-#define IDirectDraw_Initialize(p, a) (p)->Initialize(a)
-#define IDirectDraw_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
-#define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
-#define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->SetDisplayMode(a, b, c)
-#define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
-#endif
-
-#endif
-
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDraw2
-DECLARE_INTERFACE_( IDirectDraw2, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDraw methods ***/
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;
- STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;
- STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;
- STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;
- STDMETHOD(FlipToGDISurface)(THIS) PURE;
- STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
- STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
- STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
- STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
- STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
- STDMETHOD(RestoreDisplayMode)(THIS) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
- STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;
- STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS, LPDWORD, LPDWORD) PURE;
-};
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDraw2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDraw2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDraw2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDraw2_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectDraw2_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
-#define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
-#define IDirectDraw2_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
-#define IDirectDraw2_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
-#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
-#define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
-#define IDirectDraw2_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
-#define IDirectDraw2_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
-#define IDirectDraw2_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
-#define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
-#define IDirectDraw2_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
-#define IDirectDraw2_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
-#define IDirectDraw2_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
-#define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
-#define IDirectDraw2_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
-#define IDirectDraw2_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
-#define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
-#define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e)
-#define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
-#define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)
-#else
-#define IDirectDraw2_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDraw2_AddRef(p) (p)->AddRef()
-#define IDirectDraw2_Release(p) (p)->Release()
-#define IDirectDraw2_Compact(p) (p)->Compact()
-#define IDirectDraw2_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
-#define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
-#define IDirectDraw2_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
-#define IDirectDraw2_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
-#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
-#define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
-#define IDirectDraw2_FlipToGDISurface(p) (p)->FlipToGDISurface()
-#define IDirectDraw2_GetCaps(p, a, b) (p)->GetCaps(a, b)
-#define IDirectDraw2_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
-#define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
-#define IDirectDraw2_GetGDISurface(p, a) (p)->GetGDISurface(a)
-#define IDirectDraw2_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
-#define IDirectDraw2_GetScanLine(p, a) (p)->GetScanLine(a)
-#define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
-#define IDirectDraw2_Initialize(p, a) (p)->Initialize(a)
-#define IDirectDraw2_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
-#define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
-#define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e)
-#define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
-#define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->GetAvailableVidMem(a, b, c)
-#endif
-
-#endif
-
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDraw4
-DECLARE_INTERFACE_( IDirectDraw4, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDraw methods ***/
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE4 FAR *, IUnknown FAR *) PURE;
- STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE4, LPDIRECTDRAWSURFACE4 FAR * ) PURE;
- STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ) PURE;
- STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2 ) PURE;
- STDMETHOD(FlipToGDISurface)(THIS) PURE;
- STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
- STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC2) PURE;
- STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
- STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE4 FAR *) PURE;
- STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
- STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
- STDMETHOD(RestoreDisplayMode)(THIS) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
- STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;
- STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2, LPDWORD, LPDWORD) PURE;
- /*** Added in the V4 Interface ***/
- STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE4 *) PURE;
- STDMETHOD(RestoreAllSurfaces)(THIS) PURE;
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER, DWORD ) PURE;
-};
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDraw4_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDraw4_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDraw4_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDraw4_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectDraw4_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
-#define IDirectDraw4_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
-#define IDirectDraw4_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
-#define IDirectDraw4_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
-#define IDirectDraw4_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
-#define IDirectDraw4_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
-#define IDirectDraw4_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
-#define IDirectDraw4_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
-#define IDirectDraw4_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
-#define IDirectDraw4_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
-#define IDirectDraw4_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
-#define IDirectDraw4_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
-#define IDirectDraw4_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
-#define IDirectDraw4_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
-#define IDirectDraw4_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
-#define IDirectDraw4_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
-#define IDirectDraw4_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
-#define IDirectDraw4_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e)
-#define IDirectDraw4_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
-#define IDirectDraw4_GetAvailableVidMem(p, a, b, c) (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)
-#define IDirectDraw4_GetSurfaceFromDC(p, a, b) (p)->lpVtbl->GetSurfaceFromDC(p, a, b)
-#define IDirectDraw4_RestoreAllSurfaces(p) (p)->lpVtbl->RestoreAllSurfaces(p)
-#define IDirectDraw4_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirectDraw4_GetDeviceIdentifier(p,a,b) (p)->lpVtbl->GetDeviceIdentifier(p,a,b)
-#else
-#define IDirectDraw4_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDraw4_AddRef(p) (p)->AddRef()
-#define IDirectDraw4_Release(p) (p)->Release()
-#define IDirectDraw4_Compact(p) (p)->Compact()
-#define IDirectDraw4_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
-#define IDirectDraw4_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
-#define IDirectDraw4_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
-#define IDirectDraw4_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
-#define IDirectDraw4_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
-#define IDirectDraw4_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
-#define IDirectDraw4_FlipToGDISurface(p) (p)->FlipToGDISurface()
-#define IDirectDraw4_GetCaps(p, a, b) (p)->GetCaps(a, b)
-#define IDirectDraw4_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
-#define IDirectDraw4_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
-#define IDirectDraw4_GetGDISurface(p, a) (p)->GetGDISurface(a)
-#define IDirectDraw4_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
-#define IDirectDraw4_GetScanLine(p, a) (p)->GetScanLine(a)
-#define IDirectDraw4_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
-#define IDirectDraw4_Initialize(p, a) (p)->Initialize(a)
-#define IDirectDraw4_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
-#define IDirectDraw4_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
-#define IDirectDraw4_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e)
-#define IDirectDraw4_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
-#define IDirectDraw4_GetAvailableVidMem(p, a, b, c) (p)->GetAvailableVidMem(a, b, c)
-#define IDirectDraw4_GetSurfaceFromDC(p, a, b) (p)->GetSurfaceFromDC(a, b)
-#define IDirectDraw4_RestoreAllSurfaces(p) (p)->RestoreAllSurfaces()
-#define IDirectDraw4_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
-#define IDirectDraw4_GetDeviceIdentifier(p,a,b) (p)->GetDeviceIdentifier(a,b)
-#endif
-
-#endif
-
-
-/*
- * IDirectDrawPalette
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawPalette
-DECLARE_INTERFACE_( IDirectDrawPalette, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawPalette methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD, LPPALETTEENTRY) PURE;
- STDMETHOD(SetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawPalette_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDrawPalette_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawPalette_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawPalette_GetCaps(p, a) (p)->lpVtbl->GetCaps(p, a)
-#define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->lpVtbl->GetEntries(p, a, b, c, d)
-#define IDirectDrawPalette_Initialize(p, a, b, c) (p)->lpVtbl->Initialize(p, a, b, c)
-#define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->lpVtbl->SetEntries(p, a, b, c, d)
-#else
-#define IDirectDrawPalette_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDrawPalette_AddRef(p) (p)->AddRef()
-#define IDirectDrawPalette_Release(p) (p)->Release()
-#define IDirectDrawPalette_GetCaps(p, a) (p)->GetCaps(a)
-#define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->GetEntries(a, b, c, d)
-#define IDirectDrawPalette_Initialize(p, a, b, c) (p)->Initialize(a, b, c)
-#define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->SetEntries(a, b, c, d)
-#endif
-
-#endif
-
-
-
-/*
- * IDirectDrawClipper
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawClipper
-DECLARE_INTERFACE_( IDirectDrawClipper, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawClipper methods ***/
- STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE;
- STDMETHOD(GetHWnd)(THIS_ HWND FAR *) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD) PURE;
- STDMETHOD(IsClipListChanged)(THIS_ BOOL FAR *) PURE;
- STDMETHOD(SetClipList)(THIS_ LPRGNDATA,DWORD) PURE;
- STDMETHOD(SetHWnd)(THIS_ DWORD, HWND ) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawClipper_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDrawClipper_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawClipper_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->lpVtbl->GetClipList(p, a, b, c)
-#define IDirectDrawClipper_GetHWnd(p, a) (p)->lpVtbl->GetHWnd(p, a)
-#define IDirectDrawClipper_Initialize(p, a, b) (p)->lpVtbl->Initialize(p, a, b)
-#define IDirectDrawClipper_IsClipListChanged(p, a) (p)->lpVtbl->IsClipListChanged(p, a)
-#define IDirectDrawClipper_SetClipList(p, a, b) (p)->lpVtbl->SetClipList(p, a, b)
-#define IDirectDrawClipper_SetHWnd(p, a, b) (p)->lpVtbl->SetHWnd(p, a, b)
-#else
-#define IDirectDrawClipper_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDrawClipper_AddRef(p) (p)->AddRef()
-#define IDirectDrawClipper_Release(p) (p)->Release()
-#define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->GetClipList(a, b, c)
-#define IDirectDrawClipper_GetHWnd(p, a) (p)->GetHWnd(a)
-#define IDirectDrawClipper_Initialize(p, a, b) (p)->Initialize(a, b)
-#define IDirectDrawClipper_IsClipListChanged(p, a) (p)->IsClipListChanged(a)
-#define IDirectDrawClipper_SetClipList(p, a, b) (p)->SetClipList(a, b)
-#define IDirectDrawClipper_SetHWnd(p, a, b) (p)->SetHWnd(a, b)
-#endif
-
-#endif
-
-/*
- * IDirectDrawSurface and related interfaces
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface
-DECLARE_INTERFACE_( IDirectDrawSurface, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawSurface methods ***/
- STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
- STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE, LPRECT,DWORD, LPDDBLTFX) PURE;
- STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE, LPRECT,DWORD) PURE;
- STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;
- STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE FAR *) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
- STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
- STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
- STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
- STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
- STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
- STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
- STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawSurface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectDrawSurface_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawSurface_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
-#define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
-#define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
-#define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
-#define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
-#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
-#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
-#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
-#define IDirectDrawSurface_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
-#define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
-#define IDirectDrawSurface_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
-#define IDirectDrawSurface_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
-#define IDirectDrawSurface_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
-#define IDirectDrawSurface_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
-#define IDirectDrawSurface_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirectDrawSurface_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
-#define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
-#define IDirectDrawSurface_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
-#define IDirectDrawSurface_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
-#define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
-#define IDirectDrawSurface_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectDrawSurface_IsLost(p) (p)->lpVtbl->IsLost(p)
-#define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirectDrawSurface_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#define IDirectDrawSurface_Restore(p) (p)->lpVtbl->Restore(p)
-#define IDirectDrawSurface_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
-#define IDirectDrawSurface_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
-#define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
-#define IDirectDrawSurface_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
-#define IDirectDrawSurface_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
-#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
-#define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
-#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
-#else
-#define IDirectDrawSurface_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectDrawSurface_AddRef(p) (p)->AddRef()
-#define IDirectDrawSurface_Release(p) (p)->Release()
-#define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
-#define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
-#define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
-#define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
-#define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
-#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
-#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
-#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
-#define IDirectDrawSurface_Flip(p,a,b) (p)->Flip(a,b)
-#define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
-#define IDirectDrawSurface_GetBltStatus(p,a) (p)->GetBltStatus(a)
-#define IDirectDrawSurface_GetCaps(p,b) (p)->GetCaps(b)
-#define IDirectDrawSurface_GetClipper(p,a) (p)->GetClipper(a)
-#define IDirectDrawSurface_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
-#define IDirectDrawSurface_GetDC(p,a) (p)->GetDC(a)
-#define IDirectDrawSurface_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
-#define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
-#define IDirectDrawSurface_GetPalette(p,a) (p)->GetPalette(a)
-#define IDirectDrawSurface_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
-#define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
-#define IDirectDrawSurface_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectDrawSurface_IsLost(p) (p)->IsLost()
-#define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirectDrawSurface_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#define IDirectDrawSurface_Restore(p) (p)->Restore()
-#define IDirectDrawSurface_SetClipper(p,a) (p)->SetClipper(a)
-#define IDirectDrawSurface_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
-#define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
-#define IDirectDrawSurface_SetPalette(p,a) (p)->SetPalette(a)
-#define IDirectDrawSurface_Unlock(p,b) (p)->Unlock(b)
-#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
-#define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
-#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
-#endif
-
-/*
- * IDirectDrawSurface2 and related interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface2
-DECLARE_INTERFACE_( IDirectDrawSurface2, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawSurface methods ***/
- STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2) PURE;
- STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
- STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX) PURE;
- STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD) PURE;
- STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE2) PURE;
- STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2, DWORD) PURE;
- STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
- STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
- STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
- STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
- STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
- STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
- STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
- STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE2) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
- STDMETHOD(PageLock)(THIS_ DWORD) PURE;
- STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectDrawSurface2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawSurface2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
-#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
-#define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
-#define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
-#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
-#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
-#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
-#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
-#define IDirectDrawSurface2_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
-#define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
-#define IDirectDrawSurface2_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
-#define IDirectDrawSurface2_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
-#define IDirectDrawSurface2_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
-#define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
-#define IDirectDrawSurface2_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
-#define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
-#define IDirectDrawSurface2_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
-#define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
-#define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
-#define IDirectDrawSurface2_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectDrawSurface2_IsLost(p) (p)->lpVtbl->IsLost(p)
-#define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirectDrawSurface2_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#define IDirectDrawSurface2_Restore(p) (p)->lpVtbl->Restore(p)
-#define IDirectDrawSurface2_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
-#define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
-#define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
-#define IDirectDrawSurface2_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
-#define IDirectDrawSurface2_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
-#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
-#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
-#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
-#define IDirectDrawSurface2_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
-#define IDirectDrawSurface2_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
-#define IDirectDrawSurface2_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
-#else
-#define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectDrawSurface2_AddRef(p) (p)->AddRef()
-#define IDirectDrawSurface2_Release(p) (p)->Release()
-#define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
-#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
-#define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
-#define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
-#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
-#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
-#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
-#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
-#define IDirectDrawSurface2_Flip(p,a,b) (p)->Flip(a,b)
-#define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
-#define IDirectDrawSurface2_GetBltStatus(p,a) (p)->GetBltStatus(a)
-#define IDirectDrawSurface2_GetCaps(p,b) (p)->GetCaps(b)
-#define IDirectDrawSurface2_GetClipper(p,a) (p)->GetClipper(a)
-#define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
-#define IDirectDrawSurface2_GetDC(p,a) (p)->GetDC(a)
-#define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
-#define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
-#define IDirectDrawSurface2_GetPalette(p,a) (p)->GetPalette(a)
-#define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
-#define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
-#define IDirectDrawSurface2_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectDrawSurface2_IsLost(p) (p)->IsLost()
-#define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirectDrawSurface2_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#define IDirectDrawSurface2_Restore(p) (p)->Restore()
-#define IDirectDrawSurface2_SetClipper(p,a) (p)->SetClipper(a)
-#define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
-#define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
-#define IDirectDrawSurface2_SetPalette(p,a) (p)->SetPalette(a)
-#define IDirectDrawSurface2_Unlock(p,b) (p)->Unlock(b)
-#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
-#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
-#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
-#define IDirectDrawSurface2_GetDDInterface(p,a) (p)->GetDDInterface(a)
-#define IDirectDrawSurface2_PageLock(p,a) (p)->PageLock(a)
-#define IDirectDrawSurface2_PageUnlock(p,a) (p)->PageUnlock(a)
-#endif
-
-/*
- * IDirectDrawSurface3 and related interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface3
-DECLARE_INTERFACE_( IDirectDrawSurface3, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawSurface methods ***/
- STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3) PURE;
- STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
- STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX) PURE;
- STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD) PURE;
- STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE3) PURE;
- STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3, DWORD) PURE;
- STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
- STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
- STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
- STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
- STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
- STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
- STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
- STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE3) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
- STDMETHOD(PageLock)(THIS_ DWORD) PURE;
- STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
- /*** Added in the V3 interface ***/
- STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC, DWORD) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectDrawSurface3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawSurface3_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
-#define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
-#define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
-#define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
-#define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
-#define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
-#define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
-#define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
-#define IDirectDrawSurface3_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
-#define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
-#define IDirectDrawSurface3_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
-#define IDirectDrawSurface3_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
-#define IDirectDrawSurface3_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
-#define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
-#define IDirectDrawSurface3_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
-#define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
-#define IDirectDrawSurface3_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
-#define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
-#define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
-#define IDirectDrawSurface3_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectDrawSurface3_IsLost(p) (p)->lpVtbl->IsLost(p)
-#define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirectDrawSurface3_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#define IDirectDrawSurface3_Restore(p) (p)->lpVtbl->Restore(p)
-#define IDirectDrawSurface3_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
-#define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
-#define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
-#define IDirectDrawSurface3_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
-#define IDirectDrawSurface3_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
-#define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
-#define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
-#define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
-#define IDirectDrawSurface3_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
-#define IDirectDrawSurface3_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
-#define IDirectDrawSurface3_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
-#define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->lpVtbl->SetSurfaceDesc(p,a,b)
-#else
-#define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectDrawSurface3_AddRef(p) (p)->AddRef()
-#define IDirectDrawSurface3_Release(p) (p)->Release()
-#define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
-#define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
-#define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
-#define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
-#define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
-#define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
-#define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
-#define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
-#define IDirectDrawSurface3_Flip(p,a,b) (p)->Flip(a,b)
-#define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
-#define IDirectDrawSurface3_GetBltStatus(p,a) (p)->GetBltStatus(a)
-#define IDirectDrawSurface3_GetCaps(p,b) (p)->GetCaps(b)
-#define IDirectDrawSurface3_GetClipper(p,a) (p)->GetClipper(a)
-#define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
-#define IDirectDrawSurface3_GetDC(p,a) (p)->GetDC(a)
-#define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
-#define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
-#define IDirectDrawSurface3_GetPalette(p,a) (p)->GetPalette(a)
-#define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
-#define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
-#define IDirectDrawSurface3_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectDrawSurface3_IsLost(p) (p)->IsLost()
-#define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirectDrawSurface3_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#define IDirectDrawSurface3_Restore(p) (p)->Restore()
-#define IDirectDrawSurface3_SetClipper(p,a) (p)->SetClipper(a)
-#define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
-#define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
-#define IDirectDrawSurface3_SetPalette(p,a) (p)->SetPalette(a)
-#define IDirectDrawSurface3_Unlock(p,b) (p)->Unlock(b)
-#define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
-#define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
-#define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
-#define IDirectDrawSurface3_GetDDInterface(p,a) (p)->GetDDInterface(a)
-#define IDirectDrawSurface3_PageLock(p,a) (p)->PageLock(a)
-#define IDirectDrawSurface3_PageUnlock(p,a) (p)->PageUnlock(a)
-#define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->SetSurfaceDesc(a,b)
-#endif
-
-/*
- * IDirectDrawSurface4 and related interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface4
-DECLARE_INTERFACE_( IDirectDrawSurface4, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawSurface methods ***/
- STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE4) PURE;
- STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
- STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX) PURE;
- STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD) PURE;
- STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE4) PURE;
- STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK2) PURE;
- STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2) PURE;
- STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE4, DWORD) PURE;
- STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2, LPDIRECTDRAWSURFACE4 FAR *) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2) PURE;
- STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
- STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
- STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
- STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
- STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC2) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
- STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
- STDMETHOD(Unlock)(THIS_ LPRECT) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
- STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE4) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
- STDMETHOD(PageLock)(THIS_ DWORD) PURE;
- STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
- /*** Added in the v3 interface ***/
- STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2, DWORD) PURE;
- /*** Added in the v4 interface ***/
- STDMETHOD(SetPrivateData)(THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID, LPVOID, LPDWORD) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD) PURE;
- STDMETHOD(ChangeUniquenessValue)(THIS) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawSurface4_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectDrawSurface4_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawSurface4_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawSurface4_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
-#define IDirectDrawSurface4_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
-#define IDirectDrawSurface4_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
-#define IDirectDrawSurface4_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
-#define IDirectDrawSurface4_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
-#define IDirectDrawSurface4_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
-#define IDirectDrawSurface4_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
-#define IDirectDrawSurface4_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
-#define IDirectDrawSurface4_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
-#define IDirectDrawSurface4_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
-#define IDirectDrawSurface4_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
-#define IDirectDrawSurface4_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
-#define IDirectDrawSurface4_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
-#define IDirectDrawSurface4_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
-#define IDirectDrawSurface4_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirectDrawSurface4_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
-#define IDirectDrawSurface4_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
-#define IDirectDrawSurface4_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
-#define IDirectDrawSurface4_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
-#define IDirectDrawSurface4_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
-#define IDirectDrawSurface4_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectDrawSurface4_IsLost(p) (p)->lpVtbl->IsLost(p)
-#define IDirectDrawSurface4_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirectDrawSurface4_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#define IDirectDrawSurface4_Restore(p) (p)->lpVtbl->Restore(p)
-#define IDirectDrawSurface4_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
-#define IDirectDrawSurface4_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
-#define IDirectDrawSurface4_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
-#define IDirectDrawSurface4_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
-#define IDirectDrawSurface4_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
-#define IDirectDrawSurface4_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
-#define IDirectDrawSurface4_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
-#define IDirectDrawSurface4_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
-#define IDirectDrawSurface4_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
-#define IDirectDrawSurface4_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
-#define IDirectDrawSurface4_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
-#define IDirectDrawSurface4_SetSurfaceDesc(p,a,b) (p)->lpVtbl->SetSurfaceDesc(p,a,b)
-#define IDirectDrawSurface4_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirectDrawSurface4_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirectDrawSurface4_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirectDrawSurface4_GetUniquenessValue(p, a) (p)->lpVtbl->GetUniquenessValue(p, a)
-#define IDirectDrawSurface4_ChangeUniquenessValue(p) (p)->lpVtbl->ChangeUniquenessValue(p)
-#else
-#define IDirectDrawSurface4_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectDrawSurface4_AddRef(p) (p)->AddRef()
-#define IDirectDrawSurface4_Release(p) (p)->Release()
-#define IDirectDrawSurface4_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
-#define IDirectDrawSurface4_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
-#define IDirectDrawSurface4_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
-#define IDirectDrawSurface4_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
-#define IDirectDrawSurface4_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
-#define IDirectDrawSurface4_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
-#define IDirectDrawSurface4_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
-#define IDirectDrawSurface4_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
-#define IDirectDrawSurface4_Flip(p,a,b) (p)->Flip(a,b)
-#define IDirectDrawSurface4_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
-#define IDirectDrawSurface4_GetBltStatus(p,a) (p)->GetBltStatus(a)
-#define IDirectDrawSurface4_GetCaps(p,b) (p)->GetCaps(b)
-#define IDirectDrawSurface4_GetClipper(p,a) (p)->GetClipper(a)
-#define IDirectDrawSurface4_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
-#define IDirectDrawSurface4_GetDC(p,a) (p)->GetDC(a)
-#define IDirectDrawSurface4_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
-#define IDirectDrawSurface4_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
-#define IDirectDrawSurface4_GetPalette(p,a) (p)->GetPalette(a)
-#define IDirectDrawSurface4_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
-#define IDirectDrawSurface4_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
-#define IDirectDrawSurface4_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectDrawSurface4_IsLost(p) (p)->IsLost()
-#define IDirectDrawSurface4_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirectDrawSurface4_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#define IDirectDrawSurface4_Restore(p) (p)->Restore()
-#define IDirectDrawSurface4_SetClipper(p,a) (p)->SetClipper(a)
-#define IDirectDrawSurface4_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
-#define IDirectDrawSurface4_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
-#define IDirectDrawSurface4_SetPalette(p,a) (p)->SetPalette(a)
-#define IDirectDrawSurface4_Unlock(p,b) (p)->Unlock(b)
-#define IDirectDrawSurface4_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
-#define IDirectDrawSurface4_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
-#define IDirectDrawSurface4_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
-#define IDirectDrawSurface4_GetDDInterface(p,a) (p)->GetDDInterface(a)
-#define IDirectDrawSurface4_PageLock(p,a) (p)->PageLock(a)
-#define IDirectDrawSurface4_PageUnlock(p,a) (p)->PageUnlock(a)
-#define IDirectDrawSurface4_SetSurfaceDesc(p,a,b) (p)->SetSurfaceDesc(a,b)
-#define IDirectDrawSurface4_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirectDrawSurface4_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirectDrawSurface4_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirectDrawSurface4_GetUniquenessValue(p, a) (p)->GetUniquenessValue(a)
-#define IDirectDrawSurface4_ChangeUniquenessValue(p) (p)->ChangeUniquenessValue()
-#endif
-
-
-
-/*
- * IDirectDrawColorControl
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawColorControl
-DECLARE_INTERFACE_( IDirectDrawColorControl, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawColorControl methods ***/
- STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;
- STDMETHOD(SetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDrawColorControl_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawColorControl_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawColorControl_GetColorControls(p, a) (p)->lpVtbl->GetColorControls(p, a)
-#define IDirectDrawColorControl_SetColorControls(p, a) (p)->lpVtbl->SetColorControls(p, a)
-#else
-#define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDrawColorControl_AddRef(p) (p)->AddRef()
-#define IDirectDrawColorControl_Release(p) (p)->Release()
-#define IDirectDrawColorControl_GetColorControls(p, a) (p)->GetColorControls(a)
-#define IDirectDrawColorControl_SetColorControls(p, a) (p)->SetColorControls(a)
-#endif
-
-#endif
-
-
-/*
- * IDirectDrawGammaControl
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawGammaControl
-DECLARE_INTERFACE_( IDirectDrawGammaControl, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawColorControl methods ***/
- STDMETHOD(GetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE;
- STDMETHOD(SetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawGammaControl_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDrawGammaControl_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawGammaControl_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawGammaControl_GetGammaRamp(p, a, b) (p)->lpVtbl->GetGammaRamp(p, a, b)
-#define IDirectDrawGammaControl_SetGammaRamp(p, a, b) (p)->lpVtbl->SetGammaRamp(p, a, b)
-#else
-#define IDirectDrawGammaControl_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDrawGammaControl_AddRef(p) (p)->AddRef()
-#define IDirectDrawGammaControl_Release(p) (p)->Release()
-#define IDirectDrawGammaControl_GetGammaRamp(p, a, b) (p)->GetGammaRamp(a, b)
-#define IDirectDrawGammaControl_SetGammaRamp(p, a, b) (p)->SetGammaRamp(a, b)
-#endif
-
-#endif
-
-
-
-#endif
-
-
-/*
- * DDSURFACEDESC
- */
-typedef struct _DDSURFACEDESC
-{
- DWORD dwSize; // size of the DDSURFACEDESC structure
- DWORD dwFlags; // determines what fields are valid
- DWORD dwHeight; // height of surface to be created
- DWORD dwWidth; // width of input surface
- union
- {
- LONG lPitch; // distance to start of next line (return value only)
- DWORD dwLinearSize; // Formless late-allocated optimized surface size
- } DUMMYUNIONNAMEN(1);
- DWORD dwBackBufferCount; // number of back buffers requested
- union
- {
- DWORD dwMipMapCount; // number of mip-map levels requested
- DWORD dwZBufferBitDepth; // depth of Z buffer requested
- DWORD dwRefreshRate; // refresh rate (used when display mode is described)
- } DUMMYUNIONNAMEN(2);
- DWORD dwAlphaBitDepth; // depth of alpha buffer requested
- DWORD dwReserved; // reserved
- LPVOID lpSurface; // pointer to the associated surface memory
- DDCOLORKEY ddckCKDestOverlay; // color key for destination overlay use
- DDCOLORKEY ddckCKDestBlt; // color key for destination blt use
- DDCOLORKEY ddckCKSrcOverlay; // color key for source overlay use
- DDCOLORKEY ddckCKSrcBlt; // color key for source blt use
- DDPIXELFORMAT ddpfPixelFormat; // pixel format description of the surface
- DDSCAPS ddsCaps; // direct draw surface capabilities
-} DDSURFACEDESC;
-
-/*
- * DDSURFACEDESC2
- */
-typedef struct _DDSURFACEDESC2
-{
- DWORD dwSize; // size of the DDSURFACEDESC structure
- DWORD dwFlags; // determines what fields are valid
- DWORD dwHeight; // height of surface to be created
- DWORD dwWidth; // width of input surface
- union
- {
- LONG lPitch; // distance to start of next line (return value only)
- DWORD dwLinearSize; // Formless late-allocated optimized surface size
- } DUMMYUNIONNAMEN(1);
- DWORD dwBackBufferCount; // number of back buffers requested
- union
- {
- DWORD dwMipMapCount; // number of mip-map levels requestde
- // dwZBufferBitDepth removed, use ddpfPixelFormat one instead
- DWORD dwRefreshRate; // refresh rate (used when display mode is described)
- } DUMMYUNIONNAMEN(2);
- DWORD dwAlphaBitDepth; // depth of alpha buffer requested
- DWORD dwReserved; // reserved
- LPVOID lpSurface; // pointer to the associated surface memory
- DDCOLORKEY ddckCKDestOverlay; // color key for destination overlay use
- DDCOLORKEY ddckCKDestBlt; // color key for destination blt use
- DDCOLORKEY ddckCKSrcOverlay; // color key for source overlay use
- DDCOLORKEY ddckCKSrcBlt; // color key for source blt use
- DDPIXELFORMAT ddpfPixelFormat; // pixel format description of the surface
- DDSCAPS2 ddsCaps; // direct draw surface capabilities
- DWORD dwTextureStage; // stage in multitexture cascade
-} DDSURFACEDESC2;
-
-/*
- * ddsCaps field is valid.
- */
-#define DDSD_CAPS 0x00000001l // default
-
-/*
- * dwHeight field is valid.
- */
-#define DDSD_HEIGHT 0x00000002l
-
-/*
- * dwWidth field is valid.
- */
-#define DDSD_WIDTH 0x00000004l
-
-/*
- * lPitch is valid.
- */
-#define DDSD_PITCH 0x00000008l
-
-/*
- * dwBackBufferCount is valid.
- */
-#define DDSD_BACKBUFFERCOUNT 0x00000020l
-
-/*
- * dwZBufferBitDepth is valid. (shouldnt be used in DDSURFACEDESC2)
- */
-#define DDSD_ZBUFFERBITDEPTH 0x00000040l
-
-/*
- * dwAlphaBitDepth is valid.
- */
-#define DDSD_ALPHABITDEPTH 0x00000080l
-
-
-/*
- * lpSurface is valid.
- */
-#define DDSD_LPSURFACE 0x00000800l
-
-/*
- * ddpfPixelFormat is valid.
- */
-#define DDSD_PIXELFORMAT 0x00001000l
-
-/*
- * ddckCKDestOverlay is valid.
- */
-#define DDSD_CKDESTOVERLAY 0x00002000l
-
-/*
- * ddckCKDestBlt is valid.
- */
-#define DDSD_CKDESTBLT 0x00004000l
-
-/*
- * ddckCKSrcOverlay is valid.
- */
-#define DDSD_CKSRCOVERLAY 0x00008000l
-
-/*
- * ddckCKSrcBlt is valid.
- */
-#define DDSD_CKSRCBLT 0x00010000l
-
-/*
- * dwMipMapCount is valid.
- */
-#define DDSD_MIPMAPCOUNT 0x00020000l
-
- /*
- * dwRefreshRate is valid
- */
-#define DDSD_REFRESHRATE 0x00040000l
-
-/*
- * dwLinearSize is valid
- */
-#define DDSD_LINEARSIZE 0x00080000l
-
-/*
- * dwTextureStage is valid
- */
-#define DDSD_TEXTURESTAGE 0x00100000l
-/*
- * All input fields are valid.
- */
-#define DDSD_ALL 0x001ff9eel
-
-
-/*
- * DDOPTSURFACEDESC
- */
-typedef struct _DDOPTSURFACEDESC
-{
- DWORD dwSize; // size of the DDOPTSURFACEDESC structure
- DWORD dwFlags; // determines what fields are valid
- DDSCAPS2 ddSCaps; // Common caps like: Memory type
- DDOSCAPS ddOSCaps; // Common caps like: Memory type
- GUID guid; // Compression technique GUID
- DWORD dwCompressionRatio; // Compression ratio
-} DDOPTSURFACEDESC;
-
-/*
- * guid field is valid.
- */
-#define DDOSD_GUID 0x00000001l
-
-/*
- * dwCompressionRatio field is valid.
- */
-#define DDOSD_COMPRESSION_RATIO 0x00000002l
-
-/*
- * ddSCaps field is valid.
- */
-#define DDOSD_SCAPS 0x00000004l
-
-/*
- * ddOSCaps field is valid.
- */
-#define DDOSD_OSCAPS 0x00000008l
-
-/*
- * All input fields are valid.
- */
-#define DDOSD_ALL 0x0000000fl
-
-/*
- * The surface's optimized pixelformat is compressed
- */
-#define DDOSDCAPS_OPTCOMPRESSED 0x00000001l
-
-/*
- * The surface's optimized pixelformat is reordered
- */
-#define DDOSDCAPS_OPTREORDERED 0x00000002l
-
-/*
- * The opt surface is a monolithic mipmap
- */
-#define DDOSDCAPS_MONOLITHICMIPMAP 0x00000004l
-
-/*
- * The valid Surf caps:
- * #define DDSCAPS_SYSTEMMEMORY 0x00000800l
- * #define DDSCAPS_VIDEOMEMORY 0x00004000l
- * #define DDSCAPS_LOCALVIDMEM 0x10000000l
- * #define DDSCAPS_NONLOCALVIDMEM 0x20000000l
- */
-#define DDOSDCAPS_VALIDSCAPS 0x30004800l
-
-/*
- * The valid OptSurf caps
- */
-#define DDOSDCAPS_VALIDOSCAPS 0x00000007l
-
-
-/*
- * DDCOLORCONTROL
- */
-typedef struct _DDCOLORCONTROL
-{
- DWORD dwSize;
- DWORD dwFlags;
- LONG lBrightness;
- LONG lContrast;
- LONG lHue;
- LONG lSaturation;
- LONG lSharpness;
- LONG lGamma;
- LONG lColorEnable;
- DWORD dwReserved1;
-} DDCOLORCONTROL;
-
-
-/*
- * lBrightness field is valid.
- */
-#define DDCOLOR_BRIGHTNESS 0x00000001l
-
-/*
- * lContrast field is valid.
- */
-#define DDCOLOR_CONTRAST 0x00000002l
-
-/*
- * lHue field is valid.
- */
-#define DDCOLOR_HUE 0x00000004l
-
-/*
- * lSaturation field is valid.
- */
-#define DDCOLOR_SATURATION 0x00000008l
-
-/*
- * lSharpness field is valid.
- */
-#define DDCOLOR_SHARPNESS 0x00000010l
-
-/*
- * lGamma field is valid.
- */
-#define DDCOLOR_GAMMA 0x00000020l
-
-/*
- * lColorEnable field is valid.
- */
-#define DDCOLOR_COLORENABLE 0x00000040l
-
-
-
-/*============================================================================
- *
- * Direct Draw Capability Flags
- *
- * These flags are used to describe the capabilities of a given Surface.
- * All flags are bit flags.
- *
- *==========================================================================*/
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * This bit is reserved. It should not be specified.
- */
-#define DDSCAPS_RESERVED1 0x00000001l
-
-/*
- * Indicates that this surface contains alpha-only information.
- * (To determine if a surface is RGBA/YUVA, the pixel format must be
- * interrogated.)
- */
-#define DDSCAPS_ALPHA 0x00000002l
-
-/*
- * Indicates that this surface is a backbuffer. It is generally
- * set by CreateSurface when the DDSCAPS_FLIP capability bit is set.
- * It indicates that this surface is THE back buffer of a surface
- * flipping structure. DirectDraw supports N surfaces in a
- * surface flipping structure. Only the surface that immediately
- * precedeces the DDSCAPS_FRONTBUFFER has this capability bit set.
- * The other surfaces are identified as back buffers by the presence
- * of the DDSCAPS_FLIP capability, their attachment order, and the
- * absence of the DDSCAPS_FRONTBUFFER and DDSCAPS_BACKBUFFER
- * capabilities. The bit is sent to CreateSurface when a standalone
- * back buffer is being created. This surface could be attached to
- * a front buffer and/or back buffers to form a flipping surface
- * structure after the CreateSurface call. See AddAttachments for
- * a detailed description of the behaviors in this case.
- */
-#define DDSCAPS_BACKBUFFER 0x00000004l
-
-/*
- * Indicates a complex surface structure is being described. A
- * complex surface structure results in the creation of more than
- * one surface. The additional surfaces are attached to the root
- * surface. The complex structure can only be destroyed by
- * destroying the root.
- */
-#define DDSCAPS_COMPLEX 0x00000008l
-
-/*
- * Indicates that this surface is a part of a surface flipping structure.
- * When it is passed to CreateSurface the DDSCAPS_FRONTBUFFER and
- * DDSCAP_BACKBUFFER bits are not set. They are set by CreateSurface
- * on the resulting creations. The dwBackBufferCount field in the
- * DDSURFACEDESC structure must be set to at least 1 in order for
- * the CreateSurface call to succeed. The DDSCAPS_COMPLEX capability
- * must always be set with creating multiple surfaces through CreateSurface.
- */
-#define DDSCAPS_FLIP 0x00000010l
-
-/*
- * Indicates that this surface is THE front buffer of a surface flipping
- * structure. It is generally set by CreateSurface when the DDSCAPS_FLIP
- * capability bit is set.
- * If this capability is sent to CreateSurface then a standalonw front buffer
- * is created. This surface will not have the DDSCAPS_FLIP capability.
- * It can be attached to other back buffers to form a flipping structure.
- * See AddAttachments for a detailed description of the behaviors in this
- * case.
- */
-#define DDSCAPS_FRONTBUFFER 0x00000020l
-
-/*
- * Indicates that this surface is any offscreen surface that is not an overlay,
- * texture, zbuffer, front buffer, back buffer, or alpha surface. It is used
- * to identify plain vanilla surfaces.
- */
-#define DDSCAPS_OFFSCREENPLAIN 0x00000040l
-
-/*
- * Indicates that this surface is an overlay. It may or may not be directly visible
- * depending on whether or not it is currently being overlayed onto the primary
- * surface. DDSCAPS_VISIBLE can be used to determine whether or not it is being
- * overlayed at the moment.
- */
-#define DDSCAPS_OVERLAY 0x00000080l
-
-/*
- * Indicates that unique DirectDrawPalette objects can be created and
- * attached to this surface.
- */
-#define DDSCAPS_PALETTE 0x00000100l
-
-/*
- * Indicates that this surface is the primary surface. The primary
- * surface represents what the user is seeing at the moment.
- */
-#define DDSCAPS_PRIMARYSURFACE 0x00000200l
-
-/*
- * Indicates that this surface is the primary surface for the left eye.
- * The primary surface for the left eye represents what the user is seeing
- * at the moment with the users left eye. When this surface is created the
- * DDSCAPS_PRIMARYSURFACE represents what the user is seeing with the users
- * right eye.
- */
-#define DDSCAPS_PRIMARYSURFACELEFT 0x00000400l
-
-/*
- * Indicates that this surface memory was allocated in system memory
- */
-#define DDSCAPS_SYSTEMMEMORY 0x00000800l
-
-/*
- * Indicates that this surface can be used as a 3D texture. It does not
- * indicate whether or not the surface is being used for that purpose.
- */
-#define DDSCAPS_TEXTURE 0x00001000l
-
-/*
- * Indicates that a surface may be a destination for 3D rendering. This
- * bit must be set in order to query for a Direct3D Device Interface
- * from this surface.
- */
-#define DDSCAPS_3DDEVICE 0x00002000l
-
-/*
- * Indicates that this surface exists in video memory.
- */
-#define DDSCAPS_VIDEOMEMORY 0x00004000l
-
-/*
- * Indicates that changes made to this surface are immediately visible.
- * It is always set for the primary surface and is set for overlays while
- * they are being overlayed and texture maps while they are being textured.
- */
-#define DDSCAPS_VISIBLE 0x00008000l
-
-/*
- * Indicates that only writes are permitted to the surface. Read accesses
- * from the surface may or may not generate a protection fault, but the
- * results of a read from this surface will not be meaningful. READ ONLY.
- */
-#define DDSCAPS_WRITEONLY 0x00010000l
-
-/*
- * Indicates that this surface is a z buffer. A z buffer does not contain
- * displayable information. Instead it contains bit depth information that is
- * used to determine which pixels are visible and which are obscured.
- */
-#define DDSCAPS_ZBUFFER 0x00020000l
-
-/*
- * Indicates surface will have a DC associated long term
- */
-#define DDSCAPS_OWNDC 0x00040000l
-
-/*
- * Indicates surface should be able to receive live video
- */
-#define DDSCAPS_LIVEVIDEO 0x00080000l
-
-/*
- * Indicates surface should be able to have a stream decompressed
- * to it by the hardware.
- */
-#define DDSCAPS_HWCODEC 0x00100000l
-
-/*
- * Surface is a ModeX surface.
- *
- */
-#define DDSCAPS_MODEX 0x00200000l
-
-/*
- * Indicates surface is one level of a mip-map. This surface will
- * be attached to other DDSCAPS_MIPMAP surfaces to form the mip-map.
- * This can be done explicitly, by creating a number of surfaces and
- * attaching them with AddAttachedSurface or by implicitly by CreateSurface.
- * If this bit is set then DDSCAPS_TEXTURE must also be set.
- */
-#define DDSCAPS_MIPMAP 0x00400000l
-
-/*
- * This bit is reserved. It should not be specified.
- */
-#define DDSCAPS_RESERVED2 0x00800000l
-
-
-/*
- * Indicates that memory for the surface is not allocated until the surface
- * is loaded (via the Direct3D texture Load() function).
- */
-#define DDSCAPS_ALLOCONLOAD 0x04000000l
-
-/*
- * Indicates that the surface will recieve data from a video port.
- */
-#define DDSCAPS_VIDEOPORT 0x08000000l
-
-/*
- * Indicates that a video memory surface is resident in true, local video
- * memory rather than non-local video memory. If this flag is specified then
- * so must DDSCAPS_VIDEOMEMORY. This flag is mutually exclusive with
- * DDSCAPS_NONLOCALVIDMEM.
- */
-#define DDSCAPS_LOCALVIDMEM 0x10000000l
-
-/*
- * Indicates that a video memory surface is resident in non-local video
- * memory rather than true, local video memory. If this flag is specified
- * then so must DDSCAPS_VIDEOMEMORY. This flag is mutually exclusive with
- * DDSCAPS_LOCALVIDMEM.
- */
-#define DDSCAPS_NONLOCALVIDMEM 0x20000000l
-
-/*
- * Indicates that this surface is a standard VGA mode surface, and not a
- * ModeX surface. (This flag will never be set in combination with the
- * DDSCAPS_MODEX flag).
- */
-#define DDSCAPS_STANDARDVGAMODE 0x40000000l
-
-/*
- * Indicates that this surface will be an optimized surface. This flag is
- * currently only valid in conjunction with the DDSCAPS_TEXTURE flag. The surface
- * will be created without any underlying video memory until loaded.
- */
-#define DDSCAPS_OPTIMIZED 0x80000000l
-
-
-
-
-/*
- * Indicates that this surface will receive data from a video port using
- * the de-interlacing hardware. This allows the driver to allocate memory
- * for any extra buffers that may be required. The DDSCAPS_VIDEOPORT and
- * DDSCAPS_OVERLAY flags must also be set.
- */
-#define DDSCAPS2_HARDWAREDEINTERLACE 0x00000002L
-
-/*
- * Indicates to the driver that this surface will be locked very frequently
- * (for procedural textures, dynamic lightmaps, etc). Surfaces with this cap
- * set must also have DDSCAPS_TEXTURE. This cap cannot be used with
- * DDSCAPS2_HINTSTATIC and DDSCAPS2_OPAQUE.
- */
-#define DDSCAPS2_HINTDYNAMIC 0x00000004L
-
-/*
- * Indicates to the driver that this surface can be re-ordered/retiled on
- * load. This operation will not change the size of the texture. It is
- * relatively fast and symmetrical, since the application may lock these
- * bits (although it will take a performance hit when doing so). Surfaces
- * with this cap set must also have DDSCAPS_TEXTURE. This cap cannot be
- * used with DDSCAPS2_HINTDYNAMIC and DDSCAPS2_OPAQUE.
- */
-#define DDSCAPS2_HINTSTATIC 0x00000008L
-
-/*
- * Indicates that the client would like this texture surface to be managed by the
- * DirectDraw/Direct3D runtime. Surfaces with this cap set must also have
- * DDSCAPS_TEXTURE set.
- */
-#define DDSCAPS2_TEXTUREMANAGE 0x00000010L
-
-/*
- * These bits are reserved for internal use */
-#define DDSCAPS2_RESERVED1 0x00000020L
-#define DDSCAPS2_RESERVED2 0x00000040L
-
-/*
- * Indicates to the driver that this surface will never be locked again.
- * The driver is free to optimize this surface via retiling and actual compression.
- * All calls to Lock() or Blts from this surface will fail. Surfaces with this
- * cap set must also have DDSCAPS_TEXTURE. This cap cannot be used with
- * DDSCAPS2_HINTDYNAMIC and DDSCAPS2_HINTSTATIC.
- */
-#define DDSCAPS2_OPAQUE 0x00000080L
-
-/*
- * Applications should set this bit at CreateSurface time to indicate that they
- * intend to use antialiasing. Only valid if DDSCAPS_3DDEVICE is also set.
- */
-#define DDSCAPS2_HINTANTIALIASING 0x00000100L
-
-
-
-
- /****************************************************************************
- *
- * DIRECTDRAW DRIVER CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Display hardware has 3D acceleration.
- */
-#define DDCAPS_3D 0x00000001l
-
-/*
- * Indicates that DirectDraw will support only dest rectangles that are aligned
- * on DIRECTDRAWCAPS.dwAlignBoundaryDest boundaries of the surface, respectively.
- * READ ONLY.
- */
-#define DDCAPS_ALIGNBOUNDARYDEST 0x00000002l
-
-/*
- * Indicates that DirectDraw will support only source rectangles whose sizes in
- * BYTEs are DIRECTDRAWCAPS.dwAlignSizeDest multiples, respectively. READ ONLY.
- */
-#define DDCAPS_ALIGNSIZEDEST 0x00000004l
-/*
- * Indicates that DirectDraw will support only source rectangles that are aligned
- * on DIRECTDRAWCAPS.dwAlignBoundarySrc boundaries of the surface, respectively.
- * READ ONLY.
- */
-#define DDCAPS_ALIGNBOUNDARYSRC 0x00000008l
-
-/*
- * Indicates that DirectDraw will support only source rectangles whose sizes in
- * BYTEs are DIRECTDRAWCAPS.dwAlignSizeSrc multiples, respectively. READ ONLY.
- */
-#define DDCAPS_ALIGNSIZESRC 0x00000010l
-
-/*
- * Indicates that DirectDraw will create video memory surfaces that have a stride
- * alignment equal to DIRECTDRAWCAPS.dwAlignStride. READ ONLY.
- */
-#define DDCAPS_ALIGNSTRIDE 0x00000020l
-
-/*
- * Display hardware is capable of blt operations.
- */
-#define DDCAPS_BLT 0x00000040l
-
-/*
- * Display hardware is capable of asynchronous blt operations.
- */
-#define DDCAPS_BLTQUEUE 0x00000080l
-
-/*
- * Display hardware is capable of color space conversions during the blt operation.
- */
-#define DDCAPS_BLTFOURCC 0x00000100l
-
-/*
- * Display hardware is capable of stretching during blt operations.
- */
-#define DDCAPS_BLTSTRETCH 0x00000200l
-
-/*
- * Display hardware is shared with GDI.
- */
-#define DDCAPS_GDI 0x00000400l
-
-/*
- * Display hardware can overlay.
- */
-#define DDCAPS_OVERLAY 0x00000800l
-
-/*
- * Set if display hardware supports overlays but can not clip them.
- */
-#define DDCAPS_OVERLAYCANTCLIP 0x00001000l
-
-/*
- * Indicates that overlay hardware is capable of color space conversions during
- * the overlay operation.
- */
-#define DDCAPS_OVERLAYFOURCC 0x00002000l
-
-/*
- * Indicates that stretching can be done by the overlay hardware.
- */
-#define DDCAPS_OVERLAYSTRETCH 0x00004000l
-
-/*
- * Indicates that unique DirectDrawPalettes can be created for DirectDrawSurfaces
- * other than the primary surface.
- */
-#define DDCAPS_PALETTE 0x00008000l
-
-/*
- * Indicates that palette changes can be syncd with the veritcal refresh.
- */
-#define DDCAPS_PALETTEVSYNC 0x00010000l
-
-/*
- * Display hardware can return the current scan line.
- */
-#define DDCAPS_READSCANLINE 0x00020000l
-
-/*
- * Display hardware has stereo vision capabilities. DDSCAPS_PRIMARYSURFACELEFT
- * can be created.
- */
-#define DDCAPS_STEREOVIEW 0x00040000l
-
-/*
- * Display hardware is capable of generating a vertical blank interrupt.
- */
-#define DDCAPS_VBI 0x00080000l
-
-/*
- * Supports the use of z buffers with blt operations.
- */
-#define DDCAPS_ZBLTS 0x00100000l
-
-/*
- * Supports Z Ordering of overlays.
- */
-#define DDCAPS_ZOVERLAYS 0x00200000l
-
-/*
- * Supports color key
- */
-#define DDCAPS_COLORKEY 0x00400000l
-
-/*
- * Supports alpha surfaces
- */
-#define DDCAPS_ALPHA 0x00800000l
-
-/*
- * colorkey is hardware assisted(DDCAPS_COLORKEY will also be set)
- */
-#define DDCAPS_COLORKEYHWASSIST 0x01000000l
-
-/*
- * no hardware support at all
- */
-#define DDCAPS_NOHARDWARE 0x02000000l
-
-/*
- * Display hardware is capable of color fill with bltter
- */
-#define DDCAPS_BLTCOLORFILL 0x04000000l
-
-/*
- * Display hardware is bank switched, and potentially very slow at
- * random access to VRAM.
- */
-#define DDCAPS_BANKSWITCHED 0x08000000l
-
-/*
- * Display hardware is capable of depth filling Z-buffers with bltter
- */
-#define DDCAPS_BLTDEPTHFILL 0x10000000l
-
-/*
- * Display hardware is capable of clipping while bltting.
- */
-#define DDCAPS_CANCLIP 0x20000000l
-
-/*
- * Display hardware is capable of clipping while stretch bltting.
- */
-#define DDCAPS_CANCLIPSTRETCHED 0x40000000l
-
-/*
- * Display hardware is capable of bltting to or from system memory
- */
-#define DDCAPS_CANBLTSYSMEM 0x80000000l
-
-
- /****************************************************************************
- *
- * MORE DIRECTDRAW DRIVER CAPABILITY FLAGS (dwCaps2)
- *
- ****************************************************************************/
-
-/*
- * Display hardware is certified
- */
-#define DDCAPS2_CERTIFIED 0x00000001l
-
-/*
- * Driver cannot interleave 2D operations (lock and blt) to surfaces with
- * Direct3D rendering operations between calls to BeginScene() and EndScene()
- */
-#define DDCAPS2_NO2DDURING3DSCENE 0x00000002l
-
-/*
- * Display hardware contains a video port
- */
-#define DDCAPS2_VIDEOPORT 0x00000004l
-
-/*
- * The overlay can be automatically flipped according to the video port
- * VSYNCs, providing automatic doubled buffered display of video port
- * data using an overlay
- */
-#define DDCAPS2_AUTOFLIPOVERLAY 0x00000008l
-
-/*
- * Overlay can display each field of interlaced data individually while
- * it is interleaved in memory without causing jittery artifacts.
- */
-#define DDCAPS2_CANBOBINTERLEAVED 0x00000010l
-
-/*
- * Overlay can display each field of interlaced data individually while
- * it is not interleaved in memory without causing jittery artifacts.
- */
-#define DDCAPS2_CANBOBNONINTERLEAVED 0x00000020l
-
-/*
- * The overlay surface contains color controls (brightness, sharpness, etc.)
- */
-#define DDCAPS2_COLORCONTROLOVERLAY 0x00000040l
-
-/*
- * The primary surface contains color controls (gamma, etc.)
- */
-#define DDCAPS2_COLORCONTROLPRIMARY 0x00000080l
-
-/*
- * RGBZ -> RGB supported for 16:16 RGB:Z
- */
-#define DDCAPS2_CANDROPZ16BIT 0x00000100l
-
-/*
- * Driver supports non-local video memory.
- */
-#define DDCAPS2_NONLOCALVIDMEM 0x00000200l
-
-/*
- * Dirver supports non-local video memory but has different capabilities for
- * non-local video memory surfaces. If this bit is set then so must
- * DDCAPS2_NONLOCALVIDMEM.
- */
-#define DDCAPS2_NONLOCALVIDMEMCAPS 0x00000400l
-
-/*
- * Driver neither requires nor prefers surfaces to be pagelocked when performing
- * blts involving system memory surfaces
- */
-#define DDCAPS2_NOPAGELOCKREQUIRED 0x00000800l
-
-/*
- * Driver can create surfaces which are wider than the primary surface
- */
-#define DDCAPS2_WIDESURFACES 0x00001000l
-
-/*
- * Driver supports bob without using a video port by handling the
- * DDFLIP_ODD and DDFLIP_EVEN flags specified in Flip.
- */
-#define DDCAPS2_CANFLIPODDEVEN 0x00002000l
-
-/*
- * Driver supports bob using hardware
- */
-#define DDCAPS2_CANBOBHARDWARE 0x00004000l
-
-/*
- * Driver supports bltting any FOURCC surface to another surface of the same FOURCC
- */
-#define DDCAPS2_COPYFOURCC 0x00008000l
-
-
-/*
- * Driver supports loadable gamma ramps for the primary surface
- */
-#define DDCAPS2_PRIMARYGAMMA 0x00020000l
-
-/*
- * Driver can render in windowed mode.
- */
-#define DDCAPS2_CANRENDERWINDOWED 0x00080000l
-
-/*
- * A calibrator is available to adjust the gamma ramp according to the
- * physical display properties so that the result will be identical on
- * all calibrated systems.
- */
-#define DDCAPS2_CANCALIBRATEGAMMA 0x00100000l
-
-/*
- * Indicates that the driver will respond to DDFLIP_INTERVALn flags
- */
-#define DDCAPS2_FLIPINTERVAL 0x00200000l
-
-/*
- * Indicates that the driver will respond to DDFLIP_NOVSYNC
- */
-#define DDCAPS2_FLIPNOVSYNC 0x00400000l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW FX ALPHA CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Supports alpha blending around the edge of a source color keyed surface.
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHAEDGEBLEND 0x00000001l
-
-/*
- * Supports alpha information in the pixel format. The bit depth of alpha
- * information in the pixel format can be 1,2,4, or 8. The alpha value becomes
- * more opaque as the alpha value increases. (0 is transparent.)
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHAPIXELS 0x00000002l
-
-/*
- * Supports alpha information in the pixel format. The bit depth of alpha
- * information in the pixel format can be 1,2,4, or 8. The alpha value
- * becomes more transparent as the alpha value increases. (0 is opaque.)
- * This flag can only be set if DDCAPS_ALPHA is set.
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHAPIXELSNEG 0x00000004l
-
-/*
- * Supports alpha only surfaces. The bit depth of an alpha only surface can be
- * 1,2,4, or 8. The alpha value becomes more opaque as the alpha value increases.
- * (0 is transparent.)
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHASURFACES 0x00000008l
-
-/*
- * The depth of the alpha channel data can range can be 1,2,4, or 8.
- * The NEG suffix indicates that this alpha channel becomes more transparent
- * as the alpha value increases. (0 is opaque.) This flag can only be set if
- * DDCAPS_ALPHA is set.
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHASURFACESNEG 0x00000010l
-
-/*
- * Supports alpha blending around the edge of a source color keyed surface.
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND 0x00000020l
-
-/*
- * Supports alpha information in the pixel format. The bit depth of alpha
- * information in the pixel format can be 1,2,4, or 8. The alpha value becomes
- * more opaque as the alpha value increases. (0 is transparent.)
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHAPIXELS 0x00000040l
-
-/*
- * Supports alpha information in the pixel format. The bit depth of alpha
- * information in the pixel format can be 1,2,4, or 8. The alpha value
- * becomes more transparent as the alpha value increases. (0 is opaque.)
- * This flag can only be set if DDCAPS_ALPHA is set.
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG 0x00000080l
-
-/*
- * Supports alpha only surfaces. The bit depth of an alpha only surface can be
- * 1,2,4, or 8. The alpha value becomes more opaque as the alpha value increases.
- * (0 is transparent.)
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHASURFACES 0x00000100l
-
-/*
- * The depth of the alpha channel data can range can be 1,2,4, or 8.
- * The NEG suffix indicates that this alpha channel becomes more transparent
- * as the alpha value increases. (0 is opaque.) This flag can only be set if
- * DDCAPS_ALPHA is set.
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHASURFACESNEG 0x00000200l
-
-#if DIRECTDRAW_VERSION < 0x0600
-#endif //DIRECTDRAW_VERSION
-
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAW FX CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Uses arithmetic operations to stretch and shrink surfaces during blt
- * rather than pixel doubling techniques. Along the Y axis.
- */
-#define DDFXCAPS_BLTARITHSTRETCHY 0x00000020l
-
-/*
- * Uses arithmetic operations to stretch during blt
- * rather than pixel doubling techniques. Along the Y axis. Only
- * works for x1, x2, etc.
- */
-#define DDFXCAPS_BLTARITHSTRETCHYN 0x00000010l
-
-/*
- * Supports mirroring left to right in blt.
- */
-#define DDFXCAPS_BLTMIRRORLEFTRIGHT 0x00000040l
-
-/*
- * Supports mirroring top to bottom in blt.
- */
-#define DDFXCAPS_BLTMIRRORUPDOWN 0x00000080l
-
-/*
- * Supports arbitrary rotation for blts.
- */
-#define DDFXCAPS_BLTROTATION 0x00000100l
-
-/*
- * Supports 90 degree rotations for blts.
- */
-#define DDFXCAPS_BLTROTATION90 0x00000200l
-
-/*
- * DirectDraw supports arbitrary shrinking of a surface along the
- * x axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSHRINKX 0x00000400l
-
-/*
- * DirectDraw supports integer shrinking (1x,2x,) of a surface
- * along the x axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSHRINKXN 0x00000800l
-
-/*
- * DirectDraw supports arbitrary shrinking of a surface along the
- * y axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSHRINKY 0x00001000l
-
-/*
- * DirectDraw supports integer shrinking (1x,2x,) of a surface
- * along the y axis (vertical direction) for blts.
- */
-#define DDFXCAPS_BLTSHRINKYN 0x00002000l
-
-/*
- * DirectDraw supports arbitrary stretching of a surface along the
- * x axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSTRETCHX 0x00004000l
-
-/*
- * DirectDraw supports integer stretching (1x,2x,) of a surface
- * along the x axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSTRETCHXN 0x00008000l
-
-/*
- * DirectDraw supports arbitrary stretching of a surface along the
- * y axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSTRETCHY 0x00010000l
-
-/*
- * DirectDraw supports integer stretching (1x,2x,) of a surface
- * along the y axis (vertical direction) for blts.
- */
-#define DDFXCAPS_BLTSTRETCHYN 0x00020000l
-
-/*
- * Uses arithmetic operations to stretch and shrink surfaces during
- * overlay rather than pixel doubling techniques. Along the Y axis
- * for overlays.
- */
-#define DDFXCAPS_OVERLAYARITHSTRETCHY 0x00040000l
-
-/*
- * Uses arithmetic operations to stretch surfaces during
- * overlay rather than pixel doubling techniques. Along the Y axis
- * for overlays. Only works for x1, x2, etc.
- */
-#define DDFXCAPS_OVERLAYARITHSTRETCHYN 0x00000008l
-
-/*
- * DirectDraw supports arbitrary shrinking of a surface along the
- * x axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSHRINKX 0x00080000l
-
-/*
- * DirectDraw supports integer shrinking (1x,2x,) of a surface
- * along the x axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSHRINKXN 0x00100000l
-
-/*
- * DirectDraw supports arbitrary shrinking of a surface along the
- * y axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSHRINKY 0x00200000l
-
-/*
- * DirectDraw supports integer shrinking (1x,2x,) of a surface
- * along the y axis (vertical direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSHRINKYN 0x00400000l
-
-/*
- * DirectDraw supports arbitrary stretching of a surface along the
- * x axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSTRETCHX 0x00800000l
-
-/*
- * DirectDraw supports integer stretching (1x,2x,) of a surface
- * along the x axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSTRETCHXN 0x01000000l
-
-/*
- * DirectDraw supports arbitrary stretching of a surface along the
- * y axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSTRETCHY 0x02000000l
-
-/*
- * DirectDraw supports integer stretching (1x,2x,) of a surface
- * along the y axis (vertical direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSTRETCHYN 0x04000000l
-
-/*
- * DirectDraw supports mirroring of overlays across the vertical axis
- */
-#define DDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000l
-
-/*
- * DirectDraw supports mirroring of overlays across the horizontal axis
- */
-#define DDFXCAPS_OVERLAYMIRRORUPDOWN 0x10000000l
-
-/*
- * Driver can do alpha blending for blits.
- */
-#define DDFXCAPS_BLTALPHA 0x00000001l
-
-/*
- * Driver can do geometric transformations (or warps) for blits.
- */
-#define DDFXCAPS_BLTTRANSFORM 0x00000002l
-
-/*
- * Driver can do surface-reconstruction filtering for warped blits.
- */
-#define DDFXCAPS_BLTFILTER DDFXCAPS_BLTARITHSTRETCHY
-
-/*
- * Driver can do alpha blending for overlays.
- */
-#define DDFXCAPS_OVERLAYALPHA 0x00000004l
-
-/*
- * Driver can do geometric transformations (or warps) for overlays.
- */
-#define DDFXCAPS_OVERLAYTRANSFORM 0x20000000l
-
-/*
- * Driver can do surface-reconstruction filtering for warped overlays.
- */
-#define DDFXCAPS_OVERLAYFILTER DDFXCAPS_OVERLAYARITHSTRETCHY
-
-
-/****************************************************************************
- *
- * DIRECTDRAW STEREO VIEW CAPABILITIES
- *
- ****************************************************************************/
-
-/*
- * The stereo view is accomplished via enigma encoding.
- */
-#define DDSVCAPS_ENIGMA 0x00000001l
-
-/*
- * The stereo view is accomplished via high frequency flickering.
- */
-#define DDSVCAPS_FLICKER 0x00000002l
-
-/*
- * The stereo view is accomplished via red and blue filters applied
- * to the left and right eyes. All images must adapt their colorspaces
- * for this process.
- */
-#define DDSVCAPS_REDBLUE 0x00000004l
-
-/*
- * The stereo view is accomplished with split screen technology.
- */
-#define DDSVCAPS_SPLIT 0x00000008l
-
-/****************************************************************************
- *
- * DIRECTDRAWPALETTE CAPABILITIES
- *
- ****************************************************************************/
-
-/*
- * Index is 4 bits. There are sixteen color entries in the palette table.
- */
-#define DDPCAPS_4BIT 0x00000001l
-
-/*
- * Index is onto a 8 bit color index. This field is only valid with the
- * DDPCAPS_1BIT, DDPCAPS_2BIT or DDPCAPS_4BIT capability and the target
- * surface is in 8bpp. Each color entry is one byte long and is an index
- * into destination surface's 8bpp palette.
- */
-#define DDPCAPS_8BITENTRIES 0x00000002l
-
-/*
- * Index is 8 bits. There are 256 color entries in the palette table.
- */
-#define DDPCAPS_8BIT 0x00000004l
-
-/*
- * Indicates that this DIRECTDRAWPALETTE should use the palette color array
- * passed into the lpDDColorArray parameter to initialize the DIRECTDRAWPALETTE
- * object.
- */
-#define DDPCAPS_INITIALIZE 0x00000008l
-
-/*
- * This palette is the one attached to the primary surface. Changing this
- * table has immediate effect on the display unless DDPSETPAL_VSYNC is specified
- * and supported.
- */
-#define DDPCAPS_PRIMARYSURFACE 0x00000010l
-
-/*
- * This palette is the one attached to the primary surface left. Changing
- * this table has immediate effect on the display for the left eye unless
- * DDPSETPAL_VSYNC is specified and supported.
- */
-#define DDPCAPS_PRIMARYSURFACELEFT 0x00000020l
-
-/*
- * This palette can have all 256 entries defined
- */
-#define DDPCAPS_ALLOW256 0x00000040l
-
-/*
- * This palette can have modifications to it synced with the monitors
- * refresh rate.
- */
-#define DDPCAPS_VSYNC 0x00000080l
-
-/*
- * Index is 1 bit. There are two color entries in the palette table.
- */
-#define DDPCAPS_1BIT 0x00000100l
-
-/*
- * Index is 2 bit. There are four color entries in the palette table.
- */
-#define DDPCAPS_2BIT 0x00000200l
-
-/*
- * The peFlags member of PALETTEENTRY denotes an 8 bit alpha value
- */
-#define DDPCAPS_ALPHA 0x00000400l
-
-
-/****************************************************************************
- *
- * DIRECTDRAWPALETTE SETENTRY CONSTANTS
- *
- ****************************************************************************/
-
-
-/****************************************************************************
- *
- * DIRECTDRAWPALETTE GETENTRY CONSTANTS
- *
- ****************************************************************************/
-
-/* 0 is the only legal value */
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE SETPRIVATEDATA CONSTANTS
- *
- ****************************************************************************/
-
-/*
- * The passed pointer is an IUnknown ptr. The cbData argument to SetPrivateData
- * must be set to sizeof(IUnknown*). DirectDraw will call AddRef through this
- * pointer and Release when the private data is destroyed. This includes when
- * the surface or palette is destroyed before such priovate data is destroyed.
- */
-#define DDSPD_IUNKNOWNPOINTER 0x00000001L
-
-/*
- * Private data is only valid for the current state of the object,
- * as determined by the uniqueness value.
- */
-#define DDSPD_VOLATILE 0x00000002L
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE SETPALETTE CONSTANTS
- *
- ****************************************************************************/
-
-
-/****************************************************************************
- *
- * DIRECTDRAW BITDEPTH CONSTANTS
- *
- * NOTE: These are only used to indicate supported bit depths. These
- * are flags only, they are not to be used as an actual bit depth. The
- * absolute numbers 1, 2, 4, 8, 16, 24 and 32 are used to indicate actual
- * bit depths in a surface or for changing the display mode.
- *
- ****************************************************************************/
-
-/*
- * 1 bit per pixel.
- */
-#define DDBD_1 0x00004000l
-
-/*
- * 2 bits per pixel.
- */
-#define DDBD_2 0x00002000l
-
-/*
- * 4 bits per pixel.
- */
-#define DDBD_4 0x00001000l
-
-/*
- * 8 bits per pixel.
- */
-#define DDBD_8 0x00000800l
-
-/*
- * 16 bits per pixel.
- */
-#define DDBD_16 0x00000400l
-
-/*
- * 24 bits per pixel.
- */
-#define DDBD_24 0X00000200l
-
-/*
- * 32 bits per pixel.
- */
-#define DDBD_32 0x00000100l
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE SET/GET COLOR KEY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Set if the structure contains a color space. Not set if the structure
- * contains a single color key.
- */
-#define DDCKEY_COLORSPACE 0x00000001l
-
-/*
- * Set if the structure specifies a color key or color space which is to be
- * used as a destination color key for blt operations.
- */
-#define DDCKEY_DESTBLT 0x00000002l
-
-/*
- * Set if the structure specifies a color key or color space which is to be
- * used as a destination color key for overlay operations.
- */
-#define DDCKEY_DESTOVERLAY 0x00000004l
-
-/*
- * Set if the structure specifies a color key or color space which is to be
- * used as a source color key for blt operations.
- */
-#define DDCKEY_SRCBLT 0x00000008l
-
-/*
- * Set if the structure specifies a color key or color space which is to be
- * used as a source color key for overlay operations.
- */
-#define DDCKEY_SRCOVERLAY 0x00000010l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW COLOR KEY CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Supports transparent blting using a color key to identify the replaceable
- * bits of the destination surface for RGB colors.
- */
-#define DDCKEYCAPS_DESTBLT 0x00000001l
-
-/*
- * Supports transparent blting using a color space to identify the replaceable
- * bits of the destination surface for RGB colors.
- */
-#define DDCKEYCAPS_DESTBLTCLRSPACE 0x00000002l
-
-/*
- * Supports transparent blting using a color space to identify the replaceable
- * bits of the destination surface for YUV colors.
- */
-#define DDCKEYCAPS_DESTBLTCLRSPACEYUV 0x00000004l
-
-/*
- * Supports transparent blting using a color key to identify the replaceable
- * bits of the destination surface for YUV colors.
- */
-#define DDCKEYCAPS_DESTBLTYUV 0x00000008l
-
-/*
- * Supports overlaying using colorkeying of the replaceable bits of the surface
- * being overlayed for RGB colors.
- */
-#define DDCKEYCAPS_DESTOVERLAY 0x00000010l
-
-/*
- * Supports a color space as the color key for the destination for RGB colors.
- */
-#define DDCKEYCAPS_DESTOVERLAYCLRSPACE 0x00000020l
-
-/*
- * Supports a color space as the color key for the destination for YUV colors.
- */
-#define DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV 0x00000040l
-
-/*
- * Supports only one active destination color key value for visible overlay
- * surfaces.
- */
-#define DDCKEYCAPS_DESTOVERLAYONEACTIVE 0x00000080l
-
-/*
- * Supports overlaying using colorkeying of the replaceable bits of the
- * surface being overlayed for YUV colors.
- */
-#define DDCKEYCAPS_DESTOVERLAYYUV 0x00000100l
-
-/*
- * Supports transparent blting using the color key for the source with
- * this surface for RGB colors.
- */
-#define DDCKEYCAPS_SRCBLT 0x00000200l
-
-/*
- * Supports transparent blting using a color space for the source with
- * this surface for RGB colors.
- */
-#define DDCKEYCAPS_SRCBLTCLRSPACE 0x00000400l
-
-/*
- * Supports transparent blting using a color space for the source with
- * this surface for YUV colors.
- */
-#define DDCKEYCAPS_SRCBLTCLRSPACEYUV 0x00000800l
-
-/*
- * Supports transparent blting using the color key for the source with
- * this surface for YUV colors.
- */
-#define DDCKEYCAPS_SRCBLTYUV 0x00001000l
-
-/*
- * Supports overlays using the color key for the source with this
- * overlay surface for RGB colors.
- */
-#define DDCKEYCAPS_SRCOVERLAY 0x00002000l
-
-/*
- * Supports overlays using a color space as the source color key for
- * the overlay surface for RGB colors.
- */
-#define DDCKEYCAPS_SRCOVERLAYCLRSPACE 0x00004000l
-
-/*
- * Supports overlays using a color space as the source color key for
- * the overlay surface for YUV colors.
- */
-#define DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV 0x00008000l
-
-/*
- * Supports only one active source color key value for visible
- * overlay surfaces.
- */
-#define DDCKEYCAPS_SRCOVERLAYONEACTIVE 0x00010000l
-
-/*
- * Supports overlays using the color key for the source with this
- * overlay surface for YUV colors.
- */
-#define DDCKEYCAPS_SRCOVERLAYYUV 0x00020000l
-
-/*
- * there are no bandwidth trade-offs for using colorkey with an overlay
- */
-#define DDCKEYCAPS_NOCOSTOVERLAY 0x00040000l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW PIXELFORMAT FLAGS
- *
- ****************************************************************************/
-
-/*
- * The surface has alpha channel information in the pixel format.
- */
-#define DDPF_ALPHAPIXELS 0x00000001l
-
-/*
- * The pixel format contains alpha only information
- */
-#define DDPF_ALPHA 0x00000002l
-
-/*
- * The FourCC code is valid.
- */
-#define DDPF_FOURCC 0x00000004l
-
-/*
- * The surface is 4-bit color indexed.
- */
-#define DDPF_PALETTEINDEXED4 0x00000008l
-
-/*
- * The surface is indexed into a palette which stores indices
- * into the destination surface's 8-bit palette.
- */
-#define DDPF_PALETTEINDEXEDTO8 0x00000010l
-
-/*
- * The surface is 8-bit color indexed.
- */
-#define DDPF_PALETTEINDEXED8 0x00000020l
-
-/*
- * The RGB data in the pixel format structure is valid.
- */
-#define DDPF_RGB 0x00000040l
-
-/*
- * The surface will accept pixel data in the format specified
- * and compress it during the write.
- */
-#define DDPF_COMPRESSED 0x00000080l
-
-/*
- * The surface will accept RGB data and translate it during
- * the write to YUV data. The format of the data to be written
- * will be contained in the pixel format structure. The DDPF_RGB
- * flag will be set.
- */
-#define DDPF_RGBTOYUV 0x00000100l
-
-/*
- * pixel format is YUV - YUV data in pixel format struct is valid
- */
-#define DDPF_YUV 0x00000200l
-
-/*
- * pixel format is a z buffer only surface
- */
-#define DDPF_ZBUFFER 0x00000400l
-
-/*
- * The surface is 1-bit color indexed.
- */
-#define DDPF_PALETTEINDEXED1 0x00000800l
-
-/*
- * The surface is 2-bit color indexed.
- */
-#define DDPF_PALETTEINDEXED2 0x00001000l
-
-/*
- * The surface contains Z information in the pixels
- */
-#define DDPF_ZPIXELS 0x00002000l
-
-/*
- * The surface contains stencil information along with Z
- */
-#define DDPF_STENCILBUFFER 0x00004000l
-
-/*
- * Premultiplied alpha format -- the color components have been
- * premultiplied by the alpha component.
- */
-#define DDPF_ALPHAPREMULT 0x00008000l
-
-
-/*
- * Luminance data in the pixel format is valid.
- * Use this flag for luminance-only or luminance+alpha surfaces,
- * the bit depth is then ddpf.dwLuminanceBitCount.
- */
-#define DDPF_LUMINANCE 0x00020000l
-
-/*
- * Luminance data in the pixel format is valid.
- * Use this flag when hanging luminance off bumpmap surfaces,
- * the bit mask for the luminance portion of the pixel is then
- * ddpf.dwBumpLuminanceBitMask
- */
-#define DDPF_BUMPLUMINANCE 0x00040000l
-
-/*
- * Bump map dUdV data in the pixel format is valid.
- */
-#define DDPF_BUMPDUDV 0x00080000l
-
-/*===========================================================================
- *
- *
- * DIRECTDRAW CALLBACK FLAGS
- *
- *
- *==========================================================================*/
-
-/****************************************************************************
- *
- * DIRECTDRAW ENUMSURFACES FLAGS
- *
- ****************************************************************************/
-
-/*
- * Enumerate all of the surfaces that meet the search criterion.
- */
-#define DDENUMSURFACES_ALL 0x00000001l
-
-/*
- * A search hit is a surface that matches the surface description.
- */
-#define DDENUMSURFACES_MATCH 0x00000002l
-
-/*
- * A search hit is a surface that does not match the surface description.
- */
-#define DDENUMSURFACES_NOMATCH 0x00000004l
-
-/*
- * Enumerate the first surface that can be created which meets the search criterion.
- */
-#define DDENUMSURFACES_CANBECREATED 0x00000008l
-
-/*
- * Enumerate the surfaces that already exist that meet the search criterion.
- */
-#define DDENUMSURFACES_DOESEXIST 0x00000010l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW SETDISPLAYMODE FLAGS
- *
- ****************************************************************************/
-
-/*
- * The desired mode is a standard VGA mode
- */
-#define DDSDM_STANDARDVGAMODE 0x00000001l
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAW ENUMDISPLAYMODES FLAGS
- *
- ****************************************************************************/
-
-/*
- * Enumerate Modes with different refresh rates. EnumDisplayModes guarantees
- * that a particular mode will be enumerated only once. This flag specifies whether
- * the refresh rate is taken into account when determining if a mode is unique.
- */
-#define DDEDM_REFRESHRATES 0x00000001l
-
-/*
- * Enumerate VGA modes. Specify this flag if you wish to enumerate supported VGA
- * modes such as mode 0x13 in addition to the usual ModeX modes (which are always
- * enumerated if the application has previously called SetCooperativeLevel with the
- * DDSCL_ALLOWMODEX flag set).
- */
-#define DDEDM_STANDARDVGAMODES 0x00000002L
-
-
-/****************************************************************************
- *
- * DIRECTDRAW SETCOOPERATIVELEVEL FLAGS
- *
- ****************************************************************************/
-
-/*
- * Exclusive mode owner will be responsible for the entire primary surface.
- * GDI can be ignored. used with DD
- */
-#define DDSCL_FULLSCREEN 0x00000001l
-
-/*
- * allow CTRL_ALT_DEL to work while in fullscreen exclusive mode
- */
-#define DDSCL_ALLOWREBOOT 0x00000002l
-
-/*
- * prevents DDRAW from modifying the application window.
- * prevents DDRAW from minimize/restore the application window on activation.
- */
-#define DDSCL_NOWINDOWCHANGES 0x00000004l
-
-/*
- * app wants to work as a regular Windows application
- */
-#define DDSCL_NORMAL 0x00000008l
-
-/*
- * app wants exclusive access
- */
-#define DDSCL_EXCLUSIVE 0x00000010l
-
-
-/*
- * app can deal with non-windows display modes
- */
-#define DDSCL_ALLOWMODEX 0x00000040l
-
-/*
- * this window will receive the focus messages
- */
-#define DDSCL_SETFOCUSWINDOW 0x00000080l
-
-/*
- * this window is associated with the DDRAW object and will
- * cover the screen in fullscreen mode
- */
-#define DDSCL_SETDEVICEWINDOW 0x00000100l
-
-/*
- * app wants DDRAW to create a window to be associated with the
- * DDRAW object
- */
-#define DDSCL_CREATEDEVICEWINDOW 0x00000200l
-
-/*
- * App explicitly asks DDRAW/D3D to be multithread safe. This makes D3D
- * take the global crtisec more frequently.
- */
-#define DDSCL_MULTITHREADED 0x00000400l
-
-/*
- * App hints that it would like to keep the FPU set up for optimal Direct3D
- * performance (single precision and exceptions disabled) so Direct3D
- * does not need to explicitly set the FPU each time
- */
-#define DDSCL_FPUSETUP 0x00000800l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW BLT FLAGS
- *
- ****************************************************************************/
-
-/*
- * Use the alpha information in the pixel format or the alpha channel surface
- * attached to the destination surface as the alpha channel for this blt.
- */
-#define DDBLT_ALPHADEST 0x00000001l
-
-/*
- * Use the dwConstAlphaDest field in the DDBLTFX structure as the alpha channel
- * for the destination surface for this blt.
- */
-#define DDBLT_ALPHADESTCONSTOVERRIDE 0x00000002l
-
-/*
- * The NEG suffix indicates that the destination surface becomes more
- * transparent as the alpha value increases. (0 is opaque)
- */
-#define DDBLT_ALPHADESTNEG 0x00000004l
-
-/*
- * Use the lpDDSAlphaDest field in the DDBLTFX structure as the alpha
- * channel for the destination for this blt.
- */
-#define DDBLT_ALPHADESTSURFACEOVERRIDE 0x00000008l
-
-/*
- * Use the dwAlphaEdgeBlend field in the DDBLTFX structure as the alpha channel
- * for the edges of the image that border the color key colors.
- */
-#define DDBLT_ALPHAEDGEBLEND 0x00000010l
-
-/*
- * Use the alpha information in the pixel format or the alpha channel surface
- * attached to the source surface as the alpha channel for this blt.
- */
-#define DDBLT_ALPHASRC 0x00000020l
-
-/*
- * Use the dwConstAlphaSrc field in the DDBLTFX structure as the alpha channel
- * for the source for this blt.
- */
-#define DDBLT_ALPHASRCCONSTOVERRIDE 0x00000040l
-
-/*
- * The NEG suffix indicates that the source surface becomes more transparent
- * as the alpha value increases. (0 is opaque)
- */
-#define DDBLT_ALPHASRCNEG 0x00000080l
-
-/*
- * Use the lpDDSAlphaSrc field in the DDBLTFX structure as the alpha channel
- * for the source for this blt.
- */
-#define DDBLT_ALPHASRCSURFACEOVERRIDE 0x00000100l
-
-/*
- * Do this blt asynchronously through the FIFO in the order received. If
- * there is no room in the hardware FIFO fail the call.
- */
-#define DDBLT_ASYNC 0x00000200l
-
-/*
- * Uses the dwFillColor field in the DDBLTFX structure as the RGB color
- * to fill the destination rectangle on the destination surface with.
- */
-#define DDBLT_COLORFILL 0x00000400l
-
-/*
- * Uses the dwDDFX field in the DDBLTFX structure to specify the effects
- * to use for the blt.
- */
-#define DDBLT_DDFX 0x00000800l
-
-/*
- * Uses the dwDDROPS field in the DDBLTFX structure to specify the ROPS
- * that are not part of the Win32 API.
- */
-#define DDBLT_DDROPS 0x00001000l
-
-/*
- * Use the color key associated with the destination surface.
- */
-#define DDBLT_KEYDEST 0x00002000l
-
-/*
- * Use the dckDestColorkey field in the DDBLTFX structure as the color key
- * for the destination surface.
- */
-#define DDBLT_KEYDESTOVERRIDE 0x00004000l
-
-/*
- * Use the color key associated with the source surface.
- */
-#define DDBLT_KEYSRC 0x00008000l
-
-/*
- * Use the dckSrcColorkey field in the DDBLTFX structure as the color key
- * for the source surface.
- */
-#define DDBLT_KEYSRCOVERRIDE 0x00010000l
-
-/*
- * Use the dwROP field in the DDBLTFX structure for the raster operation
- * for this blt. These ROPs are the same as the ones defined in the Win32 API.
- */
-#define DDBLT_ROP 0x00020000l
-
-/*
- * Use the dwRotationAngle field in the DDBLTFX structure as the angle
- * (specified in 1/100th of a degree) to rotate the surface.
- */
-#define DDBLT_ROTATIONANGLE 0x00040000l
-
-/*
- * Z-buffered blt using the z-buffers attached to the source and destination
- * surfaces and the dwZBufferOpCode field in the DDBLTFX structure as the
- * z-buffer opcode.
- */
-#define DDBLT_ZBUFFER 0x00080000l
-
-/*
- * Z-buffered blt using the dwConstDest Zfield and the dwZBufferOpCode field
- * in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively
- * for the destination.
- */
-#define DDBLT_ZBUFFERDESTCONSTOVERRIDE 0x00100000l
-
-/*
- * Z-buffered blt using the lpDDSDestZBuffer field and the dwZBufferOpCode
- * field in the DDBLTFX structure as the z-buffer and z-buffer opcode
- * respectively for the destination.
- */
-#define DDBLT_ZBUFFERDESTOVERRIDE 0x00200000l
-
-/*
- * Z-buffered blt using the dwConstSrcZ field and the dwZBufferOpCode field
- * in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively
- * for the source.
- */
-#define DDBLT_ZBUFFERSRCCONSTOVERRIDE 0x00400000l
-
-/*
- * Z-buffered blt using the lpDDSSrcZBuffer field and the dwZBufferOpCode
- * field in the DDBLTFX structure as the z-buffer and z-buffer opcode
- * respectively for the source.
- */
-#define DDBLT_ZBUFFERSRCOVERRIDE 0x00800000l
-
-/*
- * wait until the device is ready to handle the blt
- * this will cause blt to not return DDERR_WASSTILLDRAWING
- */
-#define DDBLT_WAIT 0x01000000l
-
-/*
- * Uses the dwFillDepth field in the DDBLTFX structure as the depth value
- * to fill the destination rectangle on the destination Z-buffer surface
- * with.
- */
-#define DDBLT_DEPTHFILL 0x02000000l
-
-
-/****************************************************************************
- *
- * BLTFAST FLAGS
- *
- ****************************************************************************/
-
-#define DDBLTFAST_NOCOLORKEY 0x00000000
-#define DDBLTFAST_SRCCOLORKEY 0x00000001
-#define DDBLTFAST_DESTCOLORKEY 0x00000002
-#define DDBLTFAST_WAIT 0x00000010
-
-
-
-
-/****************************************************************************
- *
- * FLIP FLAGS
- *
- ****************************************************************************/
-
-#define DDFLIP_WAIT 0x00000001L
-
-/*
- * Indicates that the target surface contains the even field of video data.
- * This flag is only valid with an overlay surface.
- */
-#define DDFLIP_EVEN 0x00000002L
-
-/*
- * Indicates that the target surface contains the odd field of video data.
- * This flag is only valid with an overlay surface.
- */
-#define DDFLIP_ODD 0x00000004L
-
-/*
- * Causes DirectDraw to perform the physical flip immediately and return
- * to the application. Typically, what was the front buffer but is now the back
- * buffer will still be visible (depending on timing) until the next vertical
- * retrace. Subsequent operations involving the two flipped surfaces will
- * not check to see if the physical flip has finished (i.e. will not return
- * DDERR_WASSTILLDRAWING for that reason (but may for other reasons)).
- * This allows an application to perform Flips at a higher frequency than the
- * monitor refresh rate, but may introduce visible artifacts.
- * Only effective if DDCAPS2_FLIPNOVSYNC is set. If that bit is not set,
- * DDFLIP_NOVSYNC has no effect.
- */
-#define DDFLIP_NOVSYNC 0x00000008L
-
-
-/*
- * Flip Interval Flags. These flags indicate how many vertical retraces to wait between
- * each flip. The default is one. DirectDraw will return DDERR_WASSTILLDRAWING for each
- * surface involved in the flip until the specified number of vertical retraces has
- * ocurred. Only effective if DDCAPS2_FLIPINTERVAL is set. If that bit is not set,
- * DDFLIP_INTERVALn has no effect.
- */
-
-/*
- * DirectDraw will flip on every other vertical sync
- */
-#define DDFLIP_INTERVAL2 0x02000000L
-
-
-/*
- * DirectDraw will flip on every third vertical sync
- */
-#define DDFLIP_INTERVAL3 0x03000000L
-
-
-/*
- * DirectDraw will flip on every fourth vertical sync
- */
-#define DDFLIP_INTERVAL4 0x04000000L
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAW SURFACE OVERLAY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Use the alpha information in the pixel format or the alpha channel surface
- * attached to the destination surface as the alpha channel for the
- * destination overlay.
- */
-#define DDOVER_ALPHADEST 0x00000001l
-
-/*
- * Use the dwConstAlphaDest field in the DDOVERLAYFX structure as the
- * destination alpha channel for this overlay.
- */
-#define DDOVER_ALPHADESTCONSTOVERRIDE 0x00000002l
-
-/*
- * The NEG suffix indicates that the destination surface becomes more
- * transparent as the alpha value increases.
- */
-#define DDOVER_ALPHADESTNEG 0x00000004l
-
-/*
- * Use the lpDDSAlphaDest field in the DDOVERLAYFX structure as the alpha
- * channel destination for this overlay.
- */
-#define DDOVER_ALPHADESTSURFACEOVERRIDE 0x00000008l
-
-/*
- * Use the dwAlphaEdgeBlend field in the DDOVERLAYFX structure as the alpha
- * channel for the edges of the image that border the color key colors.
- */
-#define DDOVER_ALPHAEDGEBLEND 0x00000010l
-
-/*
- * Use the alpha information in the pixel format or the alpha channel surface
- * attached to the source surface as the source alpha channel for this overlay.
- */
-#define DDOVER_ALPHASRC 0x00000020l
-
-/*
- * Use the dwConstAlphaSrc field in the DDOVERLAYFX structure as the source
- * alpha channel for this overlay.
- */
-#define DDOVER_ALPHASRCCONSTOVERRIDE 0x00000040l
-
-/*
- * The NEG suffix indicates that the source surface becomes more transparent
- * as the alpha value increases.
- */
-#define DDOVER_ALPHASRCNEG 0x00000080l
-
-/*
- * Use the lpDDSAlphaSrc field in the DDOVERLAYFX structure as the alpha channel
- * source for this overlay.
- */
-#define DDOVER_ALPHASRCSURFACEOVERRIDE 0x00000100l
-
-/*
- * Turn this overlay off.
- */
-#define DDOVER_HIDE 0x00000200l
-
-/*
- * Use the color key associated with the destination surface.
- */
-#define DDOVER_KEYDEST 0x00000400l
-
-/*
- * Use the dckDestColorkey field in the DDOVERLAYFX structure as the color key
- * for the destination surface
- */
-#define DDOVER_KEYDESTOVERRIDE 0x00000800l
-
-/*
- * Use the color key associated with the source surface.
- */
-#define DDOVER_KEYSRC 0x00001000l
-
-/*
- * Use the dckSrcColorkey field in the DDOVERLAYFX structure as the color key
- * for the source surface.
- */
-#define DDOVER_KEYSRCOVERRIDE 0x00002000l
-
-/*
- * Turn this overlay on.
- */
-#define DDOVER_SHOW 0x00004000l
-
-/*
- * Add a dirty rect to an emulated overlayed surface.
- */
-#define DDOVER_ADDDIRTYRECT 0x00008000l
-
-/*
- * Redraw all dirty rects on an emulated overlayed surface.
- */
-#define DDOVER_REFRESHDIRTYRECTS 0x00010000l
-
-/*
- * Redraw the entire surface on an emulated overlayed surface.
- */
-#define DDOVER_REFRESHALL 0x00020000l
-
-
-/*
- * Use the overlay FX flags to define special overlay FX
- */
-#define DDOVER_DDFX 0x00080000l
-
-/*
- * Autoflip the overlay when ever the video port autoflips
- */
-#define DDOVER_AUTOFLIP 0x00100000l
-
-/*
- * Display each field of video port data individually without
- * causing any jittery artifacts
- */
-#define DDOVER_BOB 0x00200000l
-
-/*
- * Indicates that bob/weave decisions should not be overridden by other
- * interfaces.
- */
-#define DDOVER_OVERRIDEBOBWEAVE 0x00400000l
-
-/*
- * Indicates that the surface memory is composed of interleaved fields.
- */
-#define DDOVER_INTERLEAVED 0x00800000l
-
-/*
- * Indicates that bob will be performed using hardware rather than
- * software or emulated.
- */
-#define DDOVER_BOBHARDWARE 0x01000000l
-
-
-
-
-
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE LOCK FLAGS
- *
- ****************************************************************************/
-
-/*
- * The default. Set to indicate that Lock should return a valid memory pointer
- * to the top of the specified rectangle. If no rectangle is specified then a
- * pointer to the top of the surface is returned.
- */
-#define DDLOCK_SURFACEMEMORYPTR 0x00000000L // default
-
-/*
- * Set to indicate that Lock should wait until it can obtain a valid memory
- * pointer before returning. If this bit is set, Lock will never return
- * DDERR_WASSTILLDRAWING.
- */
-#define DDLOCK_WAIT 0x00000001L
-
-/*
- * Set if an event handle is being passed to Lock. Lock will trigger the event
- * when it can return the surface memory pointer requested.
- */
-#define DDLOCK_EVENT 0x00000002L
-
-/*
- * Indicates that the surface being locked will only be read from.
- */
-#define DDLOCK_READONLY 0x00000010L
-
-/*
- * Indicates that the surface being locked will only be written to
- */
-#define DDLOCK_WRITEONLY 0x00000020L
-
-
-/*
- * Indicates that a system wide lock should not be taken when this surface
- * is locked. This has several advantages (cursor responsiveness, ability
- * to call more Windows functions, easier debugging) when locking video
- * memory surfaces. However, an application specifying this flag must
- * comply with a number of conditions documented in the help file.
- * Furthermore, this flag cannot be specified when locking the primary.
- */
-#define DDLOCK_NOSYSLOCK 0x00000800L
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE PAGELOCK FLAGS
- *
- ****************************************************************************/
-
-/*
- * No flags defined at present
- */
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE PAGEUNLOCK FLAGS
- *
- ****************************************************************************/
-
-/*
- * No flags defined at present
- */
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE BLT FX FLAGS
- *
- ****************************************************************************/
-
-/*
- * If stretching, use arithmetic stretching along the Y axis for this blt.
- */
-#define DDBLTFX_ARITHSTRETCHY 0x00000001l
-
-/*
- * Do this blt mirroring the surface left to right. Spin the
- * surface around its y-axis.
- */
-#define DDBLTFX_MIRRORLEFTRIGHT 0x00000002l
-
-/*
- * Do this blt mirroring the surface up and down. Spin the surface
- * around its x-axis.
- */
-#define DDBLTFX_MIRRORUPDOWN 0x00000004l
-
-/*
- * Schedule this blt to avoid tearing.
- */
-#define DDBLTFX_NOTEARING 0x00000008l
-
-/*
- * Do this blt rotating the surface one hundred and eighty degrees.
- */
-#define DDBLTFX_ROTATE180 0x00000010l
-
-/*
- * Do this blt rotating the surface two hundred and seventy degrees.
- */
-#define DDBLTFX_ROTATE270 0x00000020l
-
-/*
- * Do this blt rotating the surface ninety degrees.
- */
-#define DDBLTFX_ROTATE90 0x00000040l
-
-/*
- * Do this z blt using dwZBufferLow and dwZBufferHigh as range values
- * specified to limit the bits copied from the source surface.
- */
-#define DDBLTFX_ZBUFFERRANGE 0x00000080l
-
-/*
- * Do this z blt adding the dwZBufferBaseDest to each of the sources z values
- * before comparing it with the desting z values.
- */
-#define DDBLTFX_ZBUFFERBASEDEST 0x00000100l
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE OVERLAY FX FLAGS
- *
- ****************************************************************************/
-
-/*
- * If stretching, use arithmetic stretching along the Y axis for this overlay.
- */
-#define DDOVERFX_ARITHSTRETCHY 0x00000001l
-
-/*
- * Mirror the overlay across the vertical axis
- */
-#define DDOVERFX_MIRRORLEFTRIGHT 0x00000002l
-
-/*
- * Mirror the overlay across the horizontal axis
- */
-#define DDOVERFX_MIRRORUPDOWN 0x00000004l
-
-/****************************************************************************
- *
- * Flags for dwDDFX member of DDSPRITEFX structure
- *
- ****************************************************************************/
-/*
- * Use affine transformation matrix in fTransform member.
- */
-#define DDSPRITEFX_AFFINETRANSFORM 0x00000001l
-
-/*
- * Use RGBA scaling factors in ddrgbaScaleFactors member.
- */
-#define DDSPRITEFX_RGBASCALING 0x00000002l
-
-/*
- * Degrade RGBA scaling factors to accommodate driver's capabilities.
- */
-#define DDSPRITEFX_DEGRADERGBASCALING 0x00000004l
-
-/*
- * Do bilinear filtering of stretched or warped sprite.
- */
-#define DDSPRITEFX_BILINEARFILTER 0x00000008l
-
-/*
- * Do "blur" filtering of stretched or warped sprite.
- */
-#define DDSPRITEFX_BLURFILTER 0x00000010l
-
-/*
- * Do "flat" filtering of stretched or warped sprite.
- */
-#define DDSPRITEFX_FLATFILTER 0x00000020l
-
-/*
- * Degrade filtering operation to accommodate driver's capabilities.
- */
-#define DDSPRITEFX_DEGRADEFILTER 0x00000040l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW WAITFORVERTICALBLANK FLAGS
- *
- ****************************************************************************/
-
-/*
- * return when the vertical blank interval begins
- */
-#define DDWAITVB_BLOCKBEGIN 0x00000001l
-
-/*
- * set up an event to trigger when the vertical blank begins
- */
-#define DDWAITVB_BLOCKBEGINEVENT 0x00000002l
-
-/*
- * return when the vertical blank interval ends and display begins
- */
-#define DDWAITVB_BLOCKEND 0x00000004l
-
-/****************************************************************************
- *
- * DIRECTDRAW GETFLIPSTATUS FLAGS
- *
- ****************************************************************************/
-
-/*
- * is it OK to flip now?
- */
-#define DDGFS_CANFLIP 0x00000001l
-
-/*
- * is the last flip finished?
- */
-#define DDGFS_ISFLIPDONE 0x00000002l
-
-/****************************************************************************
- *
- * DIRECTDRAW GETBLTSTATUS FLAGS
- *
- ****************************************************************************/
-
-/*
- * is it OK to blt now?
- */
-#define DDGBS_CANBLT 0x00000001l
-
-/*
- * is the blt to the surface finished?
- */
-#define DDGBS_ISBLTDONE 0x00000002l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW ENUMOVERLAYZORDER FLAGS
- *
- ****************************************************************************/
-
-/*
- * Enumerate overlays back to front.
- */
-#define DDENUMOVERLAYZ_BACKTOFRONT 0x00000000l
-
-/*
- * Enumerate overlays front to back
- */
-#define DDENUMOVERLAYZ_FRONTTOBACK 0x00000001l
-
-/****************************************************************************
- *
- * DIRECTDRAW UPDATEOVERLAYZORDER FLAGS
- *
- ****************************************************************************/
-
-/*
- * Send overlay to front
- */
-#define DDOVERZ_SENDTOFRONT 0x00000000l
-
-/*
- * Send overlay to back
- */
-#define DDOVERZ_SENDTOBACK 0x00000001l
-
-/*
- * Move Overlay forward
- */
-#define DDOVERZ_MOVEFORWARD 0x00000002l
-
-/*
- * Move Overlay backward
- */
-#define DDOVERZ_MOVEBACKWARD 0x00000003l
-
-/*
- * Move Overlay in front of relative surface
- */
-#define DDOVERZ_INSERTINFRONTOF 0x00000004l
-
-/*
- * Move Overlay in back of relative surface
- */
-#define DDOVERZ_INSERTINBACKOF 0x00000005l
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAW SETGAMMARAMP FLAGS
- *
- ****************************************************************************/
-
-/*
- * Request calibrator to adjust the gamma ramp according to the physical
- * properties of the display so that the result should appear identical
- * on all systems.
- */
-#define DDSGR_CALIBRATE 0x00000001L
-
-
-/*===========================================================================
- *
- *
- * DIRECTDRAW RETURN CODES
- *
- * The return values from DirectDraw Commands and Surface that return an HRESULT
- * are codes from DirectDraw concerning the results of the action
- * requested by DirectDraw.
- *
- *==========================================================================*/
-
-/*
- * Status is OK
- *
- * Issued by: DirectDraw Commands and all callbacks
- */
-#define DD_OK 0
-#define DD_FALSE S_FALSE
-
-/****************************************************************************
- *
- * DIRECTDRAW ENUMCALLBACK RETURN VALUES
- *
- * EnumCallback returns are used to control the flow of the DIRECTDRAW and
- * DIRECTDRAWSURFACE object enumerations. They can only be returned by
- * enumeration callback routines.
- *
- ****************************************************************************/
-
-/*
- * stop the enumeration
- */
-#define DDENUMRET_CANCEL 0
-
-/*
- * continue the enumeration
- */
-#define DDENUMRET_OK 1
-
-/****************************************************************************
- *
- * DIRECTDRAW ERRORS
- *
- * Errors are represented by negative values and cannot be combined.
- *
- ****************************************************************************/
-
-/*
- * This object is already initialized
- */
-#define DDERR_ALREADYINITIALIZED MAKE_DDHRESULT( 5 )
-
-/*
- * This surface can not be attached to the requested surface.
- */
-#define DDERR_CANNOTATTACHSURFACE MAKE_DDHRESULT( 10 )
-
-/*
- * This surface can not be detached from the requested surface.
- */
-#define DDERR_CANNOTDETACHSURFACE MAKE_DDHRESULT( 20 )
-
-/*
- * Support is currently not available.
- */
-#define DDERR_CURRENTLYNOTAVAIL MAKE_DDHRESULT( 40 )
-
-/*
- * An exception was encountered while performing the requested operation
- */
-#define DDERR_EXCEPTION MAKE_DDHRESULT( 55 )
-
-/*
- * Generic failure.
- */
-#define DDERR_GENERIC E_FAIL
-
-/*
- * Height of rectangle provided is not a multiple of reqd alignment
- */
-#define DDERR_HEIGHTALIGN MAKE_DDHRESULT( 90 )
-
-/*
- * Unable to match primary surface creation request with existing
- * primary surface.
- */
-#define DDERR_INCOMPATIBLEPRIMARY MAKE_DDHRESULT( 95 )
-
-/*
- * One or more of the caps bits passed to the callback are incorrect.
- */
-#define DDERR_INVALIDCAPS MAKE_DDHRESULT( 100 )
-
-/*
- * DirectDraw does not support provided Cliplist.
- */
-#define DDERR_INVALIDCLIPLIST MAKE_DDHRESULT( 110 )
-
-/*
- * DirectDraw does not support the requested mode
- */
-#define DDERR_INVALIDMODE MAKE_DDHRESULT( 120 )
-
-/*
- * DirectDraw received a pointer that was an invalid DIRECTDRAW object.
- */
-#define DDERR_INVALIDOBJECT MAKE_DDHRESULT( 130 )
-
-/*
- * One or more of the parameters passed to the callback function are
- * incorrect.
- */
-#define DDERR_INVALIDPARAMS E_INVALIDARG
-
-/*
- * pixel format was invalid as specified
- */
-#define DDERR_INVALIDPIXELFORMAT MAKE_DDHRESULT( 145 )
-
-/*
- * Rectangle provided was invalid.
- */
-#define DDERR_INVALIDRECT MAKE_DDHRESULT( 150 )
-
-/*
- * Operation could not be carried out because one or more surfaces are locked
- */
-#define DDERR_LOCKEDSURFACES MAKE_DDHRESULT( 160 )
-
-/*
- * There is no 3D present.
- */
-#define DDERR_NO3D MAKE_DDHRESULT( 170 )
-
-/*
- * Operation could not be carried out because there is no alpha accleration
- * hardware present or available.
- */
-#define DDERR_NOALPHAHW MAKE_DDHRESULT( 180 )
-
-
-/*
- * no clip list available
- */
-#define DDERR_NOCLIPLIST MAKE_DDHRESULT( 205 )
-
-/*
- * Operation could not be carried out because there is no color conversion
- * hardware present or available.
- */
-#define DDERR_NOCOLORCONVHW MAKE_DDHRESULT( 210 )
-
-/*
- * Create function called without DirectDraw object method SetCooperativeLevel
- * being called.
- */
-#define DDERR_NOCOOPERATIVELEVELSET MAKE_DDHRESULT( 212 )
-
-/*
- * Surface doesn't currently have a color key
- */
-#define DDERR_NOCOLORKEY MAKE_DDHRESULT( 215 )
-
-/*
- * Operation could not be carried out because there is no hardware support
- * of the dest color key.
- */
-#define DDERR_NOCOLORKEYHW MAKE_DDHRESULT( 220 )
-
-/*
- * No DirectDraw support possible with current display driver
- */
-#define DDERR_NODIRECTDRAWSUPPORT MAKE_DDHRESULT( 222 )
-
-/*
- * Operation requires the application to have exclusive mode but the
- * application does not have exclusive mode.
- */
-#define DDERR_NOEXCLUSIVEMODE MAKE_DDHRESULT( 225 )
-
-/*
- * Flipping visible surfaces is not supported.
- */
-#define DDERR_NOFLIPHW MAKE_DDHRESULT( 230 )
-
-/*
- * There is no GDI present.
- */
-#define DDERR_NOGDI MAKE_DDHRESULT( 240 )
-
-/*
- * Operation could not be carried out because there is no hardware present
- * or available.
- */
-#define DDERR_NOMIRRORHW MAKE_DDHRESULT( 250 )
-
-/*
- * Requested item was not found
- */
-#define DDERR_NOTFOUND MAKE_DDHRESULT( 255 )
-
-/*
- * Operation could not be carried out because there is no overlay hardware
- * present or available.
- */
-#define DDERR_NOOVERLAYHW MAKE_DDHRESULT( 260 )
-
-/*
- * Operation could not be carried out because the source and destination
- * rectangles are on the same surface and overlap each other.
- */
-#define DDERR_OVERLAPPINGRECTS MAKE_DDHRESULT( 270 )
-
-/*
- * Operation could not be carried out because there is no appropriate raster
- * op hardware present or available.
- */
-#define DDERR_NORASTEROPHW MAKE_DDHRESULT( 280 )
-
-/*
- * Operation could not be carried out because there is no rotation hardware
- * present or available.
- */
-#define DDERR_NOROTATIONHW MAKE_DDHRESULT( 290 )
-
-/*
- * Operation could not be carried out because there is no hardware support
- * for stretching
- */
-#define DDERR_NOSTRETCHHW MAKE_DDHRESULT( 310 )
-
-/*
- * DirectDrawSurface is not in 4 bit color palette and the requested operation
- * requires 4 bit color palette.
- */
-#define DDERR_NOT4BITCOLOR MAKE_DDHRESULT( 316 )
-
-/*
- * DirectDrawSurface is not in 4 bit color index palette and the requested
- * operation requires 4 bit color index palette.
- */
-#define DDERR_NOT4BITCOLORINDEX MAKE_DDHRESULT( 317 )
-
-/*
- * DirectDraw Surface is not in 8 bit color mode and the requested operation
- * requires 8 bit color.
- */
-#define DDERR_NOT8BITCOLOR MAKE_DDHRESULT( 320 )
-
-/*
- * Operation could not be carried out because there is no texture mapping
- * hardware present or available.
- */
-#define DDERR_NOTEXTUREHW MAKE_DDHRESULT( 330 )
-
-/*
- * Operation could not be carried out because there is no hardware support
- * for vertical blank synchronized operations.
- */
-#define DDERR_NOVSYNCHW MAKE_DDHRESULT( 335 )
-
-/*
- * Operation could not be carried out because there is no hardware support
- * for zbuffer blting.
- */
-#define DDERR_NOZBUFFERHW MAKE_DDHRESULT( 340 )
-
-/*
- * Overlay surfaces could not be z layered based on their BltOrder because
- * the hardware does not support z layering of overlays.
- */
-#define DDERR_NOZOVERLAYHW MAKE_DDHRESULT( 350 )
-
-/*
- * The hardware needed for the requested operation has already been
- * allocated.
- */
-#define DDERR_OUTOFCAPS MAKE_DDHRESULT( 360 )
-
-/*
- * DirectDraw does not have enough memory to perform the operation.
- */
-#define DDERR_OUTOFMEMORY E_OUTOFMEMORY
-
-/*
- * DirectDraw does not have enough memory to perform the operation.
- */
-#define DDERR_OUTOFVIDEOMEMORY MAKE_DDHRESULT( 380 )
-
-/*
- * hardware does not support clipped overlays
- */
-#define DDERR_OVERLAYCANTCLIP MAKE_DDHRESULT( 382 )
-
-/*
- * Can only have ony color key active at one time for overlays
- */
-#define DDERR_OVERLAYCOLORKEYONLYONEACTIVE MAKE_DDHRESULT( 384 )
-
-/*
- * Access to this palette is being refused because the palette is already
- * locked by another thread.
- */
-#define DDERR_PALETTEBUSY MAKE_DDHRESULT( 387 )
-
-/*
- * No src color key specified for this operation.
- */
-#define DDERR_COLORKEYNOTSET MAKE_DDHRESULT( 400 )
-
-/*
- * This surface is already attached to the surface it is being attached to.
- */
-#define DDERR_SURFACEALREADYATTACHED MAKE_DDHRESULT( 410 )
-
-/*
- * This surface is already a dependency of the surface it is being made a
- * dependency of.
- */
-#define DDERR_SURFACEALREADYDEPENDENT MAKE_DDHRESULT( 420 )
-
-/*
- * Access to this surface is being refused because the surface is already
- * locked by another thread.
- */
-#define DDERR_SURFACEBUSY MAKE_DDHRESULT( 430 )
-
-/*
- * Access to this surface is being refused because no driver exists
- * which can supply a pointer to the surface.
- * This is most likely to happen when attempting to lock the primary
- * surface when no DCI provider is present.
- * Will also happen on attempts to lock an optimized surface.
- */
-#define DDERR_CANTLOCKSURFACE MAKE_DDHRESULT( 435 )
-
-/*
- * Access to Surface refused because Surface is obscured.
- */
-#define DDERR_SURFACEISOBSCURED MAKE_DDHRESULT( 440 )
-
-/*
- * Access to this surface is being refused because the surface is gone.
- * The DIRECTDRAWSURFACE object representing this surface should
- * have Restore called on it.
- */
-#define DDERR_SURFACELOST MAKE_DDHRESULT( 450 )
-
-/*
- * The requested surface is not attached.
- */
-#define DDERR_SURFACENOTATTACHED MAKE_DDHRESULT( 460 )
-
-/*
- * Height requested by DirectDraw is too large.
- */
-#define DDERR_TOOBIGHEIGHT MAKE_DDHRESULT( 470 )
-
-/*
- * Size requested by DirectDraw is too large -- The individual height and
- * width are OK.
- */
-#define DDERR_TOOBIGSIZE MAKE_DDHRESULT( 480 )
-
-/*
- * Width requested by DirectDraw is too large.
- */
-#define DDERR_TOOBIGWIDTH MAKE_DDHRESULT( 490 )
-
-/*
- * Action not supported.
- */
-#define DDERR_UNSUPPORTED E_NOTIMPL
-
-/*
- * FOURCC format requested is unsupported by DirectDraw
- */
-#define DDERR_UNSUPPORTEDFORMAT MAKE_DDHRESULT( 510 )
-
-/*
- * Bitmask in the pixel format requested is unsupported by DirectDraw
- */
-#define DDERR_UNSUPPORTEDMASK MAKE_DDHRESULT( 520 )
-
-/*
- * The specified stream contains invalid data
- */
-#define DDERR_INVALIDSTREAM MAKE_DDHRESULT( 521 )
-
-/*
- * vertical blank is in progress
- */
-#define DDERR_VERTICALBLANKINPROGRESS MAKE_DDHRESULT( 537 )
-
-/*
- * Informs DirectDraw that the previous Blt which is transfering information
- * to or from this Surface is incomplete.
- */
-#define DDERR_WASSTILLDRAWING MAKE_DDHRESULT( 540 )
-
-
-/*
- * Rectangle provided was not horizontally aligned on reqd. boundary
- */
-#define DDERR_XALIGN MAKE_DDHRESULT( 560 )
-
-/*
- * The GUID passed to DirectDrawCreate is not a valid DirectDraw driver
- * identifier.
- */
-#define DDERR_INVALIDDIRECTDRAWGUID MAKE_DDHRESULT( 561 )
-
-/*
- * A DirectDraw object representing this driver has already been created
- * for this process.
- */
-#define DDERR_DIRECTDRAWALREADYCREATED MAKE_DDHRESULT( 562 )
-
-/*
- * A hardware only DirectDraw object creation was attempted but the driver
- * did not support any hardware.
- */
-#define DDERR_NODIRECTDRAWHW MAKE_DDHRESULT( 563 )
-
-/*
- * this process already has created a primary surface
- */
-#define DDERR_PRIMARYSURFACEALREADYEXISTS MAKE_DDHRESULT( 564 )
-
-/*
- * software emulation not available.
- */
-#define DDERR_NOEMULATION MAKE_DDHRESULT( 565 )
-
-/*
- * region passed to Clipper::GetClipList is too small.
- */
-#define DDERR_REGIONTOOSMALL MAKE_DDHRESULT( 566 )
-
-/*
- * an attempt was made to set a clip list for a clipper objec that
- * is already monitoring an hwnd.
- */
-#define DDERR_CLIPPERISUSINGHWND MAKE_DDHRESULT( 567 )
-
-/*
- * No clipper object attached to surface object
- */
-#define DDERR_NOCLIPPERATTACHED MAKE_DDHRESULT( 568 )
-
-/*
- * Clipper notification requires an HWND or
- * no HWND has previously been set as the CooperativeLevel HWND.
- */
-#define DDERR_NOHWND MAKE_DDHRESULT( 569 )
-
-/*
- * HWND used by DirectDraw CooperativeLevel has been subclassed,
- * this prevents DirectDraw from restoring state.
- */
-#define DDERR_HWNDSUBCLASSED MAKE_DDHRESULT( 570 )
-
-/*
- * The CooperativeLevel HWND has already been set.
- * It can not be reset while the process has surfaces or palettes created.
- */
-#define DDERR_HWNDALREADYSET MAKE_DDHRESULT( 571 )
-
-/*
- * No palette object attached to this surface.
- */
-#define DDERR_NOPALETTEATTACHED MAKE_DDHRESULT( 572 )
-
-/*
- * No hardware support for 16 or 256 color palettes.
- */
-#define DDERR_NOPALETTEHW MAKE_DDHRESULT( 573 )
-
-/*
- * If a clipper object is attached to the source surface passed into a
- * BltFast call.
- */
-#define DDERR_BLTFASTCANTCLIP MAKE_DDHRESULT( 574 )
-
-/*
- * No blter.
- */
-#define DDERR_NOBLTHW MAKE_DDHRESULT( 575 )
-
-/*
- * No DirectDraw ROP hardware.
- */
-#define DDERR_NODDROPSHW MAKE_DDHRESULT( 576 )
-
-/*
- * returned when GetOverlayPosition is called on a hidden overlay
- */
-#define DDERR_OVERLAYNOTVISIBLE MAKE_DDHRESULT( 577 )
-
-/*
- * returned when GetOverlayPosition is called on a overlay that UpdateOverlay
- * has never been called on to establish a destionation.
- */
-#define DDERR_NOOVERLAYDEST MAKE_DDHRESULT( 578 )
-
-/*
- * returned when the position of the overlay on the destionation is no longer
- * legal for that destionation.
- */
-#define DDERR_INVALIDPOSITION MAKE_DDHRESULT( 579 )
-
-/*
- * returned when an overlay member is called for a non-overlay surface
- */
-#define DDERR_NOTAOVERLAYSURFACE MAKE_DDHRESULT( 580 )
-
-/*
- * An attempt was made to set the cooperative level when it was already
- * set to exclusive.
- */
-#define DDERR_EXCLUSIVEMODEALREADYSET MAKE_DDHRESULT( 581 )
-
-/*
- * An attempt has been made to flip a surface that is not flippable.
- */
-#define DDERR_NOTFLIPPABLE MAKE_DDHRESULT( 582 )
-
-/*
- * Can't duplicate primary & 3D surfaces, or surfaces that are implicitly
- * created.
- */
-#define DDERR_CANTDUPLICATE MAKE_DDHRESULT( 583 )
-
-/*
- * Surface was not locked. An attempt to unlock a surface that was not
- * locked at all, or by this process, has been attempted.
- */
-#define DDERR_NOTLOCKED MAKE_DDHRESULT( 584 )
-
-/*
- * Windows can not create any more DCs, or a DC was requested for a paltte-indexed
- * surface when the surface had no palette AND the display mode was not palette-indexed
- * (in this case DirectDraw cannot select a proper palette into the DC)
- */
-#define DDERR_CANTCREATEDC MAKE_DDHRESULT( 585 )
-
-/*
- * No DC was ever created for this surface.
- */
-#define DDERR_NODC MAKE_DDHRESULT( 586 )
-
-/*
- * This surface can not be restored because it was created in a different
- * mode.
- */
-#define DDERR_WRONGMODE MAKE_DDHRESULT( 587 )
-
-/*
- * This surface can not be restored because it is an implicitly created
- * surface.
- */
-#define DDERR_IMPLICITLYCREATED MAKE_DDHRESULT( 588 )
-
-/*
- * The surface being used is not a palette-based surface
- */
-#define DDERR_NOTPALETTIZED MAKE_DDHRESULT( 589 )
-
-
-/*
- * The display is currently in an unsupported mode
- */
-#define DDERR_UNSUPPORTEDMODE MAKE_DDHRESULT( 590 )
-
-/*
- * Operation could not be carried out because there is no mip-map
- * texture mapping hardware present or available.
- */
-#define DDERR_NOMIPMAPHW MAKE_DDHRESULT( 591 )
-
-/*
- * The requested action could not be performed because the surface was of
- * the wrong type.
- */
-#define DDERR_INVALIDSURFACETYPE MAKE_DDHRESULT( 592 )
-
-
-
-/*
- * Device does not support optimized surfaces, therefore no video memory optimized surfaces
- */
-#define DDERR_NOOPTIMIZEHW MAKE_DDHRESULT( 600 )
-
-/*
- * Surface is an optimized surface, but has not yet been allocated any memory
- */
-#define DDERR_NOTLOADED MAKE_DDHRESULT( 601 )
-
-/*
- * Attempt was made to create or set a device window without first setting
- * the focus window
- */
-#define DDERR_NOFOCUSWINDOW MAKE_DDHRESULT( 602 )
-
-/*
- * A DC has already been returned for this surface. Only one DC can be
- * retrieved per surface.
- */
-#define DDERR_DCALREADYCREATED MAKE_DDHRESULT( 620 )
-
-/*
- * An attempt was made to allocate non-local video memory from a device
- * that does not support non-local video memory.
- */
-#define DDERR_NONONLOCALVIDMEM MAKE_DDHRESULT( 630 )
-
-/*
- * The attempt to page lock a surface failed.
- */
-#define DDERR_CANTPAGELOCK MAKE_DDHRESULT( 640 )
-
-
-/*
- * The attempt to page unlock a surface failed.
- */
-#define DDERR_CANTPAGEUNLOCK MAKE_DDHRESULT( 660 )
-
-/*
- * An attempt was made to page unlock a surface with no outstanding page locks.
- */
-#define DDERR_NOTPAGELOCKED MAKE_DDHRESULT( 680 )
-
-/*
- * There is more data available than the specified buffer size could hold
- */
-#define DDERR_MOREDATA MAKE_DDHRESULT( 690 )
-
-/*
- * The data has expired and is therefore no longer valid.
- */
-#define DDERR_EXPIRED MAKE_DDHRESULT( 691 )
-
-/*
- * The video port is not active
- */
-#define DDERR_VIDEONOTACTIVE MAKE_DDHRESULT( 695 )
-
-/*
- * Surfaces created by one direct draw device cannot be used directly by
- * another direct draw device.
- */
-#define DDERR_DEVICEDOESNTOWNSURFACE MAKE_DDHRESULT( 699 )
-
-
-/*
- * An attempt was made to invoke an interface member of a DirectDraw object
- * created by CoCreateInstance() before it was initialized.
- */
-#define DDERR_NOTINITIALIZED CO_E_NOTINITIALIZED
-
-
-/* Alpha bit depth constants */
-
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
-
+++ /dev/null
-/****************************************************************************
- *
- * Copyright (C) 1996-1997 Microsoft Corporation. All Rights Reserved.
- *
- * File: dinput.h
- * Content: DirectInput include file
- *
- ****************************************************************************/
-
-#ifndef __DINPUT_INCLUDED__
-#define __DINPUT_INCLUDED__
-
-#ifndef DIJ_RINGZERO
-
-#ifdef _WIN32
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-#endif
-
-#endif /* DIJ_RINGZERO */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef DIRECTINPUT_VERSION
-#define DIRECTINPUT_VERSION 0x0500
-#endif
-
-#ifndef DIJ_RINGZERO
-/****************************************************************************
- *
- * Class IDs
- *
- ****************************************************************************/
-
-DEFINE_GUID(CLSID_DirectInput, 0x25E609E0,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(CLSID_DirectInputDevice,0x25E609E1,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-/****************************************************************************
- *
- * Interfaces
- *
- ****************************************************************************/
-
-DEFINE_GUID(IID_IDirectInputA, 0x89521360,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputW, 0x89521361,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInput2A, 0x5944E662,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInput2W, 0x5944E663,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(IID_IDirectInputDeviceA, 0x5944E680,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDeviceW, 0x5944E681,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDevice2A,0x5944E682,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDevice2W,0x5944E683,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(IID_IDirectInputEffect, 0xE7E1F7C0,0x88D2,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-
-/****************************************************************************
- *
- * Predefined object types
- *
- ****************************************************************************/
-
-DEFINE_GUID(GUID_XAxis, 0xA36D02E0,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_YAxis, 0xA36D02E1,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_ZAxis, 0xA36D02E2,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_RxAxis, 0xA36D02F4,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_RyAxis, 0xA36D02F5,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_RzAxis, 0xA36D02E3,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_Slider, 0xA36D02E4,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(GUID_Button, 0xA36D02F0,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_Key, 0x55728220,0xD33C,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(GUID_POV, 0xA36D02F2,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(GUID_Unknown, 0xA36D02F3,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-/****************************************************************************
- *
- * Predefined product GUIDs
- *
- ****************************************************************************/
-
-DEFINE_GUID(GUID_SysMouse, 0x6F1D2B60,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_SysKeyboard,0x6F1D2B61,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_Joystick ,0x6F1D2B70,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-/****************************************************************************
- *
- * Predefined force feedback effects
- *
- ****************************************************************************/
-
-DEFINE_GUID(GUID_ConstantForce,0x13541C20,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_RampForce, 0x13541C21,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Square, 0x13541C22,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Sine, 0x13541C23,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Triangle, 0x13541C24,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_SawtoothUp, 0x13541C25,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_SawtoothDown, 0x13541C26,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Spring, 0x13541C27,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Damper, 0x13541C28,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Inertia, 0x13541C29,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Friction, 0x13541C2A,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_CustomForce, 0x13541C2B,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-
-
-#endif /* DIJ_RINGZERO */
-
-/****************************************************************************
- *
- * Interfaces and Structures...
- *
- ****************************************************************************/
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-
-/****************************************************************************
- *
- * IDirectInputEffect
- *
- ****************************************************************************/
-
-#define DIEFT_ALL 0x00000000
-
-#define DIEFT_CONSTANTFORCE 0x00000001
-#define DIEFT_RAMPFORCE 0x00000002
-#define DIEFT_PERIODIC 0x00000003
-#define DIEFT_CONDITION 0x00000004
-#define DIEFT_CUSTOMFORCE 0x00000005
-#define DIEFT_HARDWARE 0x000000FF
-
-#define DIEFT_FFATTACK 0x00000200
-#define DIEFT_FFFADE 0x00000400
-#define DIEFT_SATURATION 0x00000800
-#define DIEFT_POSNEGCOEFFICIENTS 0x00001000
-#define DIEFT_POSNEGSATURATION 0x00002000
-#define DIEFT_DEADBAND 0x00004000
-
-#define DIEFT_GETTYPE(n) LOBYTE(n)
-
-#define DI_DEGREES 100
-#define DI_FFNOMINALMAX 10000
-#define DI_SECONDS 1000000
-
-typedef struct DICONSTANTFORCE {
- LONG lMagnitude;
-} DICONSTANTFORCE, *LPDICONSTANTFORCE;
-typedef const DICONSTANTFORCE *LPCDICONSTANTFORCE;
-
-typedef struct DIRAMPFORCE {
- LONG lStart;
- LONG lEnd;
-} DIRAMPFORCE, *LPDIRAMPFORCE;
-typedef const DIRAMPFORCE *LPCDIRAMPFORCE;
-
-typedef struct DIPERIODIC {
- DWORD dwMagnitude;
- LONG lOffset;
- DWORD dwPhase;
- DWORD dwPeriod;
-} DIPERIODIC, *LPDIPERIODIC;
-typedef const DIPERIODIC *LPCDIPERIODIC;
-
-typedef struct DICONDITION {
- LONG lOffset;
- LONG lPositiveCoefficient;
- LONG lNegativeCoefficient;
- DWORD dwPositiveSaturation;
- DWORD dwNegativeSaturation;
- LONG lDeadBand;
-} DICONDITION, *LPDICONDITION;
-typedef const DICONDITION *LPCDICONDITION;
-
-typedef struct DICUSTOMFORCE {
- DWORD cChannels;
- DWORD dwSamplePeriod;
- DWORD cSamples;
- LPLONG rglForceData;
-} DICUSTOMFORCE, *LPDICUSTOMFORCE;
-typedef const DICUSTOMFORCE *LPCDICUSTOMFORCE;
-
-typedef struct DIENVELOPE {
- DWORD dwSize; /* sizeof(DIENVELOPE) */
- DWORD dwAttackLevel;
- DWORD dwAttackTime; /* Microseconds */
- DWORD dwFadeLevel;
- DWORD dwFadeTime; /* Microseconds */
-} DIENVELOPE, *LPDIENVELOPE;
-typedef const DIENVELOPE *LPCDIENVELOPE;
-
-typedef struct DIEFFECT {
- DWORD dwSize; /* sizeof(DIEFFECT) */
- DWORD dwFlags; /* DIEFF_* */
- DWORD dwDuration; /* Microseconds */
- DWORD dwSamplePeriod; /* Microseconds */
- DWORD dwGain;
- DWORD dwTriggerButton; /* or DIEB_NOTRIGGER */
- DWORD dwTriggerRepeatInterval; /* Microseconds */
- DWORD cAxes; /* Number of axes */
- LPDWORD rgdwAxes; /* Array of axes */
- LPLONG rglDirection; /* Array of directions */
- LPDIENVELOPE lpEnvelope; /* Optional */
- DWORD cbTypeSpecificParams; /* Size of params */
- LPVOID lpvTypeSpecificParams; /* Pointer to params */
-} DIEFFECT, *LPDIEFFECT;
-typedef const DIEFFECT *LPCDIEFFECT;
-
-#define DIEFF_OBJECTIDS 0x00000001
-#define DIEFF_OBJECTOFFSETS 0x00000002
-#define DIEFF_CARTESIAN 0x00000010
-#define DIEFF_POLAR 0x00000020
-#define DIEFF_SPHERICAL 0x00000040
-
-#define DIEP_DURATION 0x00000001
-#define DIEP_SAMPLEPERIOD 0x00000002
-#define DIEP_GAIN 0x00000004
-#define DIEP_TRIGGERBUTTON 0x00000008
-#define DIEP_TRIGGERREPEATINTERVAL 0x00000010
-#define DIEP_AXES 0x00000020
-#define DIEP_DIRECTION 0x00000040
-#define DIEP_ENVELOPE 0x00000080
-#define DIEP_TYPESPECIFICPARAMS 0x00000100
-#define DIEP_ALLPARAMS 0x000001FF
-#define DIEP_START 0x20000000
-#define DIEP_NORESTART 0x40000000
-#define DIEP_NODOWNLOAD 0x80000000
-#define DIEB_NOTRIGGER 0xFFFFFFFF
-
-#define DIES_SOLO 0x00000001
-#define DIES_NODOWNLOAD 0x80000000
-
-#define DIEGES_PLAYING 0x00000001
-#define DIEGES_EMULATED 0x00000002
-
-typedef struct DIEFFESCAPE {
- DWORD dwSize;
- DWORD dwCommand;
- LPVOID lpvInBuffer;
- DWORD cbInBuffer;
- LPVOID lpvOutBuffer;
- DWORD cbOutBuffer;
-} DIEFFESCAPE, *LPDIEFFESCAPE;
-
-#ifndef DIJ_RINGZERO
-
-#undef INTERFACE
-#define INTERFACE IDirectInputEffect
-
-DECLARE_INTERFACE_(IDirectInputEffect, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputEffect methods ***/
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
- STDMETHOD(GetEffectGuid)(THIS_ LPGUID) PURE;
- STDMETHOD(GetParameters)(THIS_ LPDIEFFECT,DWORD) PURE;
- STDMETHOD(SetParameters)(THIS_ LPCDIEFFECT,DWORD) PURE;
- STDMETHOD(Start)(THIS_ DWORD,DWORD) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(GetEffectStatus)(THIS_ LPDWORD) PURE;
- STDMETHOD(Download)(THIS) PURE;
- STDMETHOD(Unload)(THIS) PURE;
- STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE) PURE;
-};
-
-typedef struct IDirectInputEffect *LPDIRECTINPUTEFFECT;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInputEffect_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInputEffect_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInputEffect_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInputEffect_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
-#define IDirectInputEffect_GetEffectGuid(p,a) (p)->lpVtbl->GetEffectGuid(p,a)
-#define IDirectInputEffect_GetParameters(p,a,b) (p)->lpVtbl->GetParameters(p,a,b)
-#define IDirectInputEffect_SetParameters(p,a,b) (p)->lpVtbl->SetParameters(p,a,b)
-#define IDirectInputEffect_Start(p,a,b) (p)->lpVtbl->Start(p,a,b)
-#define IDirectInputEffect_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectInputEffect_GetEffectStatus(p,a) (p)->lpVtbl->GetEffectStatus(p,a)
-#define IDirectInputEffect_Download(p) (p)->lpVtbl->Download(p)
-#define IDirectInputEffect_Unload(p) (p)->lpVtbl->Unload(p)
-#define IDirectInputEffect_Escape(p,a) (p)->lpVtbl->Escape(p,a)
-#else
-#define IDirectInputEffect_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInputEffect_AddRef(p) (p)->AddRef()
-#define IDirectInputEffect_Release(p) (p)->Release()
-#define IDirectInputEffect_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
-#define IDirectInputEffect_GetEffectGuid(p,a) (p)->GetEffectGuid(a)
-#define IDirectInputEffect_GetParameters(p,a,b) (p)->GetParameters(a,b)
-#define IDirectInputEffect_SetParameters(p,a,b) (p)->SetParameters(a,b)
-#define IDirectInputEffect_Start(p,a,b) (p)->Start(a,b)
-#define IDirectInputEffect_Stop(p) (p)->Stop()
-#define IDirectInputEffect_GetEffectStatus(p,a) (p)->GetEffectStatus(a)
-#define IDirectInputEffect_Download(p) (p)->Download()
-#define IDirectInputEffect_Unload(p) (p)->Unload()
-#define IDirectInputEffect_Escape(p,a) (p)->Escape(a)
-#endif
-
-#endif /* DIJ_RINGZERO */
-
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-/****************************************************************************
- *
- * IDirectInputDevice
- *
- ****************************************************************************/
-
-#define DIDEVTYPE_DEVICE 1
-#define DIDEVTYPE_MOUSE 2
-#define DIDEVTYPE_KEYBOARD 3
-#define DIDEVTYPE_JOYSTICK 4
-#define DIDEVTYPE_HID 0x00010000
-
-#define DIDEVTYPEMOUSE_UNKNOWN 1
-#define DIDEVTYPEMOUSE_TRADITIONAL 2
-#define DIDEVTYPEMOUSE_FINGERSTICK 3
-#define DIDEVTYPEMOUSE_TOUCHPAD 4
-#define DIDEVTYPEMOUSE_TRACKBALL 5
-
-#define DIDEVTYPEKEYBOARD_UNKNOWN 0
-#define DIDEVTYPEKEYBOARD_PCXT 1
-#define DIDEVTYPEKEYBOARD_OLIVETTI 2
-#define DIDEVTYPEKEYBOARD_PCAT 3
-#define DIDEVTYPEKEYBOARD_PCENH 4
-#define DIDEVTYPEKEYBOARD_NOKIA1050 5
-#define DIDEVTYPEKEYBOARD_NOKIA9140 6
-#define DIDEVTYPEKEYBOARD_NEC98 7
-#define DIDEVTYPEKEYBOARD_NEC98LAPTOP 8
-#define DIDEVTYPEKEYBOARD_NEC98106 9
-#define DIDEVTYPEKEYBOARD_JAPAN106 10
-#define DIDEVTYPEKEYBOARD_JAPANAX 11
-#define DIDEVTYPEKEYBOARD_J3100 12
-
-#define DIDEVTYPEJOYSTICK_UNKNOWN 1
-#define DIDEVTYPEJOYSTICK_TRADITIONAL 2
-#define DIDEVTYPEJOYSTICK_FLIGHTSTICK 3
-#define DIDEVTYPEJOYSTICK_GAMEPAD 4
-#define DIDEVTYPEJOYSTICK_RUDDER 5
-#define DIDEVTYPEJOYSTICK_WHEEL 6
-#define DIDEVTYPEJOYSTICK_HEADTRACKER 7
-
-#define GET_DIDEVICE_TYPE(dwDevType) LOBYTE(dwDevType)
-#define GET_DIDEVICE_SUBTYPE(dwDevType) HIBYTE(dwDevType)
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-/* This structure is defined for DirectX 3.0 compatibility */
-
-typedef struct DIDEVCAPS_DX3 {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwDevType;
- DWORD dwAxes;
- DWORD dwButtons;
- DWORD dwPOVs;
-} DIDEVCAPS_DX3, *LPDIDEVCAPS_DX3;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-typedef struct DIDEVCAPS {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwDevType;
- DWORD dwAxes;
- DWORD dwButtons;
- DWORD dwPOVs;
-#if(DIRECTINPUT_VERSION >= 0x0500)
- DWORD dwFFSamplePeriod;
- DWORD dwFFMinTimeResolution;
- DWORD dwFirmwareRevision;
- DWORD dwHardwareRevision;
- DWORD dwFFDriverVersion;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVCAPS, *LPDIDEVCAPS;
-
-#define DIDC_ATTACHED 0x00000001
-#define DIDC_POLLEDDEVICE 0x00000002
-#define DIDC_EMULATED 0x00000004
-#define DIDC_POLLEDDATAFORMAT 0x00000008
-#if(DIRECTINPUT_VERSION >= 0x0500)
-#define DIDC_FORCEFEEDBACK 0x00000100
-#define DIDC_FFATTACK 0x00000200
-#define DIDC_FFFADE 0x00000400
-#define DIDC_SATURATION 0x00000800
-#define DIDC_POSNEGCOEFFICIENTS 0x00001000
-#define DIDC_POSNEGSATURATION 0x00002000
-#define DIDC_DEADBAND 0x00004000
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-#define DIDFT_ALL 0x00000000
-
-#define DIDFT_RELAXIS 0x00000001
-#define DIDFT_ABSAXIS 0x00000002
-#define DIDFT_AXIS 0x00000003
-
-#define DIDFT_PSHBUTTON 0x00000004
-#define DIDFT_TGLBUTTON 0x00000008
-#define DIDFT_BUTTON 0x0000000C
-
-#define DIDFT_POV 0x00000010
-
-#define DIDFT_COLLECTION 0x00000040
-#define DIDFT_NODATA 0x00000080
-
-#define DIDFT_ANYINSTANCE 0x00FFFF00
-#define DIDFT_INSTANCEMASK DIDFT_ANYINSTANCE
-#define DIDFT_MAKEINSTANCE(n) ((WORD)(n) << 8)
-#define DIDFT_GETTYPE(n) LOBYTE(n)
-#define DIDFT_GETINSTANCE(n) LOWORD((n) >> 8)
-#define DIDFT_FFACTUATOR 0x01000000
-#define DIDFT_FFEFFECTTRIGGER 0x02000000
-
-#define DIDFT_ENUMCOLLECTION(n) ((WORD)(n) << 8)
-#define DIDFT_NOCOLLECTION 0x00FFFF00
-
-
-#ifndef DIJ_RINGZERO
-
-typedef struct _DIOBJECTDATAFORMAT {
- const GUID *pguid;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
-} DIOBJECTDATAFORMAT, *LPDIOBJECTDATAFORMAT;
-typedef const DIOBJECTDATAFORMAT *LPCDIOBJECTDATAFORMAT;
-
-typedef struct _DIDATAFORMAT {
- DWORD dwSize;
- DWORD dwObjSize;
- DWORD dwFlags;
- DWORD dwDataSize;
- DWORD dwNumObjs;
- LPDIOBJECTDATAFORMAT rgodf;
-} DIDATAFORMAT, *LPDIDATAFORMAT;
-typedef const DIDATAFORMAT *LPCDIDATAFORMAT;
-
-#define DIDF_ABSAXIS 0x00000001
-#define DIDF_RELAXIS 0x00000002
-
-extern const DIDATAFORMAT c_dfDIMouse;
-extern const DIDATAFORMAT c_dfDIKeyboard;
-extern const DIDATAFORMAT c_dfDIJoystick;
-extern const DIDATAFORMAT c_dfDIJoystick2;
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-/* These structures are defined for DirectX 3.0 compatibility */
-
-typedef struct DIDEVICEOBJECTINSTANCE_DX3A {
- DWORD dwSize;
- GUID guidType;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
- CHAR tszName[MAX_PATH];
-} DIDEVICEOBJECTINSTANCE_DX3A, *LPDIDEVICEOBJECTINSTANCE_DX3A;
-typedef struct DIDEVICEOBJECTINSTANCE_DX3W {
- DWORD dwSize;
- GUID guidType;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
- WCHAR tszName[MAX_PATH];
-} DIDEVICEOBJECTINSTANCE_DX3W, *LPDIDEVICEOBJECTINSTANCE_DX3W;
-#ifdef UNICODE
-typedef DIDEVICEOBJECTINSTANCE_DX3W DIDEVICEOBJECTINSTANCE_DX3;
-typedef LPDIDEVICEOBJECTINSTANCE_DX3W LPDIDEVICEOBJECTINSTANCE_DX3;
-#else
-typedef DIDEVICEOBJECTINSTANCE_DX3A DIDEVICEOBJECTINSTANCE_DX3;
-typedef LPDIDEVICEOBJECTINSTANCE_DX3A LPDIDEVICEOBJECTINSTANCE_DX3;
-#endif // UNICODE
-typedef const DIDEVICEOBJECTINSTANCE_DX3A *LPCDIDEVICEOBJECTINSTANCE_DX3A;
-typedef const DIDEVICEOBJECTINSTANCE_DX3W *LPCDIDEVICEOBJECTINSTANCE_DX3W;
-typedef const DIDEVICEOBJECTINSTANCE_DX3 *LPCDIDEVICEOBJECTINSTANCE_DX3;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-typedef struct DIDEVICEOBJECTINSTANCEA {
- DWORD dwSize;
- GUID guidType;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
- CHAR tszName[MAX_PATH];
-#if(DIRECTINPUT_VERSION >= 0x0500)
- DWORD dwFFMaxForce;
- DWORD dwFFForceResolution;
- WORD wCollectionNumber;
- WORD wDesignatorIndex;
- WORD wUsagePage;
- WORD wUsage;
- DWORD dwDimension;
- WORD wExponent;
- WORD wReserved;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVICEOBJECTINSTANCEA, *LPDIDEVICEOBJECTINSTANCEA;
-typedef struct DIDEVICEOBJECTINSTANCEW {
- DWORD dwSize;
- GUID guidType;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
- WCHAR tszName[MAX_PATH];
-#if(DIRECTINPUT_VERSION >= 0x0500)
- DWORD dwFFMaxForce;
- DWORD dwFFForceResolution;
- WORD wCollectionNumber;
- WORD wDesignatorIndex;
- WORD wUsagePage;
- WORD wUsage;
- DWORD dwDimension;
- WORD wExponent;
- WORD wReserved;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVICEOBJECTINSTANCEW, *LPDIDEVICEOBJECTINSTANCEW;
-#ifdef UNICODE
-typedef DIDEVICEOBJECTINSTANCEW DIDEVICEOBJECTINSTANCE;
-typedef LPDIDEVICEOBJECTINSTANCEW LPDIDEVICEOBJECTINSTANCE;
-#else
-typedef DIDEVICEOBJECTINSTANCEA DIDEVICEOBJECTINSTANCE;
-typedef LPDIDEVICEOBJECTINSTANCEA LPDIDEVICEOBJECTINSTANCE;
-#endif // UNICODE
-typedef const DIDEVICEOBJECTINSTANCEA *LPCDIDEVICEOBJECTINSTANCEA;
-typedef const DIDEVICEOBJECTINSTANCEW *LPCDIDEVICEOBJECTINSTANCEW;
-typedef const DIDEVICEOBJECTINSTANCE *LPCDIDEVICEOBJECTINSTANCE;
-
-typedef BOOL (FAR PASCAL * LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA, LPVOID);
-typedef BOOL (FAR PASCAL * LPDIENUMDEVICEOBJECTSCALLBACKW)(LPCDIDEVICEOBJECTINSTANCEW, LPVOID);
-#ifdef UNICODE
-#define LPDIENUMDEVICEOBJECTSCALLBACK LPDIENUMDEVICEOBJECTSCALLBACKW
-#else
-#define LPDIENUMDEVICEOBJECTSCALLBACK LPDIENUMDEVICEOBJECTSCALLBACKA
-#endif // !UNICODE
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-#define DIDOI_FFACTUATOR 0x00000001
-#define DIDOI_FFEFFECTTRIGGER 0x00000002
-#define DIDOI_POLLED 0x00008000
-#define DIDOI_ASPECTPOSITION 0x00000100
-#define DIDOI_ASPECTVELOCITY 0x00000200
-#define DIDOI_ASPECTACCEL 0x00000300
-#define DIDOI_ASPECTFORCE 0x00000400
-#define DIDOI_ASPECTMASK 0x00000F00
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-typedef struct DIPROPHEADER {
- DWORD dwSize;
- DWORD dwHeaderSize;
- DWORD dwObj;
- DWORD dwHow;
-} DIPROPHEADER, *LPDIPROPHEADER;
-typedef const DIPROPHEADER *LPCDIPROPHEADER;
-
-#define DIPH_DEVICE 0
-#define DIPH_BYOFFSET 1
-#define DIPH_BYID 2
-
-typedef struct DIPROPDWORD {
- DIPROPHEADER diph;
- DWORD dwData;
-} DIPROPDWORD, *LPDIPROPDWORD;
-typedef const DIPROPDWORD *LPCDIPROPDWORD;
-
-typedef struct DIPROPRANGE {
- DIPROPHEADER diph;
- LONG lMin;
- LONG lMax;
-} DIPROPRANGE, *LPDIPROPRANGE;
-typedef const DIPROPRANGE *LPCDIPROPRANGE;
-
-#define DIPROPRANGE_NOMIN ((LONG)0x80000000)
-#define DIPROPRANGE_NOMAX ((LONG)0x7FFFFFFF)
-
-#ifdef __cplusplus
-#define MAKEDIPROP(prop) (*(const GUID *)(prop))
-#else
-#define MAKEDIPROP(prop) ((REFGUID)(prop))
-#endif
-
-#define DIPROP_BUFFERSIZE MAKEDIPROP(1)
-
-#define DIPROP_AXISMODE MAKEDIPROP(2)
-
-#define DIPROPAXISMODE_ABS 0
-#define DIPROPAXISMODE_REL 1
-
-#define DIPROP_GRANULARITY MAKEDIPROP(3)
-
-#define DIPROP_RANGE MAKEDIPROP(4)
-
-#define DIPROP_DEADZONE MAKEDIPROP(5)
-
-#define DIPROP_SATURATION MAKEDIPROP(6)
-
-#define DIPROP_FFGAIN MAKEDIPROP(7)
-
-#define DIPROP_FFLOAD MAKEDIPROP(8)
-
-#define DIPROP_AUTOCENTER MAKEDIPROP(9)
-
-#define DIPROPAUTOCENTER_OFF 0
-#define DIPROPAUTOCENTER_ON 1
-
-#define DIPROP_CALIBRATIONMODE MAKEDIPROP(10)
-
-#define DIPROPCALIBRATIONMODE_COOKED 0
-#define DIPROPCALIBRATIONMODE_RAW 1
-
-typedef struct DIDEVICEOBJECTDATA {
- DWORD dwOfs;
- DWORD dwData;
- DWORD dwTimeStamp;
- DWORD dwSequence;
-} DIDEVICEOBJECTDATA, *LPDIDEVICEOBJECTDATA;
-typedef const DIDEVICEOBJECTDATA *LPCDIDEVICEOBJECTDATA;
-
-#define DIGDD_PEEK 0x00000001
-
-#define DISEQUENCE_COMPARE(dwSequence1, cmp, dwSequence2) \
- ((int)((dwSequence1) - (dwSequence2)) cmp 0)
-#define DISCL_EXCLUSIVE 0x00000001
-#define DISCL_NONEXCLUSIVE 0x00000002
-#define DISCL_FOREGROUND 0x00000004
-#define DISCL_BACKGROUND 0x00000008
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-/* These structures are defined for DirectX 3.0 compatibility */
-
-typedef struct DIDEVICEINSTANCE_DX3A {
- DWORD dwSize;
- GUID guidInstance;
- GUID guidProduct;
- DWORD dwDevType;
- CHAR tszInstanceName[MAX_PATH];
- CHAR tszProductName[MAX_PATH];
-} DIDEVICEINSTANCE_DX3A, *LPDIDEVICEINSTANCE_DX3A;
-typedef struct DIDEVICEINSTANCE_DX3W {
- DWORD dwSize;
- GUID guidInstance;
- GUID guidProduct;
- DWORD dwDevType;
- WCHAR tszInstanceName[MAX_PATH];
- WCHAR tszProductName[MAX_PATH];
-} DIDEVICEINSTANCE_DX3W, *LPDIDEVICEINSTANCE_DX3W;
-#ifdef UNICODE
-typedef DIDEVICEINSTANCE_DX3W DIDEVICEINSTANCE_DX3;
-typedef LPDIDEVICEINSTANCE_DX3W LPDIDEVICEINSTANCE_DX3;
-#else
-typedef DIDEVICEINSTANCE_DX3A DIDEVICEINSTANCE_DX3;
-typedef LPDIDEVICEINSTANCE_DX3A LPDIDEVICEINSTANCE_DX3;
-#endif // UNICODE
-typedef const DIDEVICEINSTANCE_DX3A *LPCDIDEVICEINSTANCE_DX3A;
-typedef const DIDEVICEINSTANCE_DX3W *LPCDIDEVICEINSTANCE_DX3W;
-typedef const DIDEVICEINSTANCE_DX3 *LPCDIDEVICEINSTANCE_DX3;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-typedef struct DIDEVICEINSTANCEA {
- DWORD dwSize;
- GUID guidInstance;
- GUID guidProduct;
- DWORD dwDevType;
- CHAR tszInstanceName[MAX_PATH];
- CHAR tszProductName[MAX_PATH];
-#if(DIRECTINPUT_VERSION >= 0x0500)
- GUID guidFFDriver;
- WORD wUsagePage;
- WORD wUsage;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVICEINSTANCEA, *LPDIDEVICEINSTANCEA;
-typedef struct DIDEVICEINSTANCEW {
- DWORD dwSize;
- GUID guidInstance;
- GUID guidProduct;
- DWORD dwDevType;
- WCHAR tszInstanceName[MAX_PATH];
- WCHAR tszProductName[MAX_PATH];
-#if(DIRECTINPUT_VERSION >= 0x0500)
- GUID guidFFDriver;
- WORD wUsagePage;
- WORD wUsage;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVICEINSTANCEW, *LPDIDEVICEINSTANCEW;
-#ifdef UNICODE
-typedef DIDEVICEINSTANCEW DIDEVICEINSTANCE;
-typedef LPDIDEVICEINSTANCEW LPDIDEVICEINSTANCE;
-#else
-typedef DIDEVICEINSTANCEA DIDEVICEINSTANCE;
-typedef LPDIDEVICEINSTANCEA LPDIDEVICEINSTANCE;
-#endif // UNICODE
-typedef const DIDEVICEINSTANCEA *LPCDIDEVICEINSTANCEA;
-typedef const DIDEVICEINSTANCEW *LPCDIDEVICEINSTANCEW;
-typedef const DIDEVICEINSTANCE *LPCDIDEVICEINSTANCE;
-
-#undef INTERFACE
-#define INTERFACE IDirectInputDeviceW
-
-DECLARE_INTERFACE_(IDirectInputDeviceW, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputDeviceW methods ***/
- STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS) PURE;
- STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetProperty)(THIS_ REFGUID,LPDIPROPHEADER) PURE;
- STDMETHOD(SetProperty)(THIS_ REFGUID,LPCDIPROPHEADER) PURE;
- STDMETHOD(Acquire)(THIS) PURE;
- STDMETHOD(Unacquire)(THIS) PURE;
- STDMETHOD(GetDeviceState)(THIS_ DWORD,LPVOID) PURE;
- STDMETHOD(GetDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
- STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT) PURE;
- STDMETHOD(SetEventNotification)(THIS_ HANDLE) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEW,DWORD,DWORD) PURE;
- STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEW) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
-};
-
-typedef struct IDirectInputDeviceW *LPDIRECTINPUTDEVICEW;
-
-#undef INTERFACE
-#define INTERFACE IDirectInputDeviceA
-
-DECLARE_INTERFACE_(IDirectInputDeviceA, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputDeviceA methods ***/
- STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS) PURE;
- STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetProperty)(THIS_ REFGUID,LPDIPROPHEADER) PURE;
- STDMETHOD(SetProperty)(THIS_ REFGUID,LPCDIPROPHEADER) PURE;
- STDMETHOD(Acquire)(THIS) PURE;
- STDMETHOD(Unacquire)(THIS) PURE;
- STDMETHOD(GetDeviceState)(THIS_ DWORD,LPVOID) PURE;
- STDMETHOD(GetDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
- STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT) PURE;
- STDMETHOD(SetEventNotification)(THIS_ HANDLE) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA,DWORD,DWORD) PURE;
- STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
-};
-
-typedef struct IDirectInputDeviceA *LPDIRECTINPUTDEVICEA;
-
-#ifdef UNICODE
-#define IID_IDirectInputDevice IID_IDirectInputDeviceW
-#define IDirectInputDevice IDirectInputDeviceW
-#define IDirectInputDeviceVtbl IDirectInputDeviceWVtbl
-#else
-#define IID_IDirectInputDevice IID_IDirectInputDeviceA
-#define IDirectInputDevice IDirectInputDeviceA
-#define IDirectInputDeviceVtbl IDirectInputDeviceAVtbl
-#endif
-typedef struct IDirectInputDevice *LPDIRECTINPUTDEVICE;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInputDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInputDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInputDevice_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInputDevice_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a)
-#define IDirectInputDevice_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
-#define IDirectInputDevice_GetProperty(p,a,b) (p)->lpVtbl->GetProperty(p,a,b)
-#define IDirectInputDevice_SetProperty(p,a,b) (p)->lpVtbl->SetProperty(p,a,b)
-#define IDirectInputDevice_Acquire(p) (p)->lpVtbl->Acquire(p)
-#define IDirectInputDevice_Unacquire(p) (p)->lpVtbl->Unacquire(p)
-#define IDirectInputDevice_GetDeviceState(p,a,b) (p)->lpVtbl->GetDeviceState(p,a,b)
-#define IDirectInputDevice_GetDeviceData(p,a,b,c,d) (p)->lpVtbl->GetDeviceData(p,a,b,c,d)
-#define IDirectInputDevice_SetDataFormat(p,a) (p)->lpVtbl->SetDataFormat(p,a)
-#define IDirectInputDevice_SetEventNotification(p,a) (p)->lpVtbl->SetEventNotification(p,a)
-#define IDirectInputDevice_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
-#define IDirectInputDevice_GetObjectInfo(p,a,b,c) (p)->lpVtbl->GetObjectInfo(p,a,b,c)
-#define IDirectInputDevice_GetDeviceInfo(p,a) (p)->lpVtbl->GetDeviceInfo(p,a)
-#define IDirectInputDevice_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
-#define IDirectInputDevice_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
-#else
-#define IDirectInputDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInputDevice_AddRef(p) (p)->AddRef()
-#define IDirectInputDevice_Release(p) (p)->Release()
-#define IDirectInputDevice_GetCapabilities(p,a) (p)->GetCapabilities(a)
-#define IDirectInputDevice_EnumObjects(p,a,b,c) (p)->EnumObjects(a,b,c)
-#define IDirectInputDevice_GetProperty(p,a,b) (p)->GetProperty(a,b)
-#define IDirectInputDevice_SetProperty(p,a,b) (p)->SetProperty(a,b)
-#define IDirectInputDevice_Acquire(p) (p)->Acquire()
-#define IDirectInputDevice_Unacquire(p) (p)->Unacquire()
-#define IDirectInputDevice_GetDeviceState(p,a,b) (p)->GetDeviceState(a,b)
-#define IDirectInputDevice_GetDeviceData(p,a,b,c,d) (p)->GetDeviceData(a,b,c,d)
-#define IDirectInputDevice_SetDataFormat(p,a) (p)->SetDataFormat(a)
-#define IDirectInputDevice_SetEventNotification(p,a) (p)->SetEventNotification(a)
-#define IDirectInputDevice_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
-#define IDirectInputDevice_GetObjectInfo(p,a,b,c) (p)->GetObjectInfo(a,b,c)
-#define IDirectInputDevice_GetDeviceInfo(p,a) (p)->GetDeviceInfo(a)
-#define IDirectInputDevice_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
-#define IDirectInputDevice_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
-#endif
-
-#endif /* DIJ_RINGZERO */
-
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-
-#define DISFFC_RESET 0x00000001
-#define DISFFC_STOPALL 0x00000002
-#define DISFFC_PAUSE 0x00000004
-#define DISFFC_CONTINUE 0x00000008
-#define DISFFC_SETACTUATORSON 0x00000010
-#define DISFFC_SETACTUATORSOFF 0x00000020
-
-#define DIGFFS_EMPTY 0x00000001
-#define DIGFFS_STOPPED 0x00000002
-#define DIGFFS_PAUSED 0x00000004
-#define DIGFFS_ACTUATORSON 0x00000010
-#define DIGFFS_ACTUATORSOFF 0x00000020
-#define DIGFFS_POWERON 0x00000040
-#define DIGFFS_POWEROFF 0x00000080
-#define DIGFFS_SAFETYSWITCHON 0x00000100
-#define DIGFFS_SAFETYSWITCHOFF 0x00000200
-#define DIGFFS_USERFFSWITCHON 0x00000400
-#define DIGFFS_USERFFSWITCHOFF 0x00000800
-#define DIGFFS_DEVICELOST 0x80000000
-
-#ifndef DIJ_RINGZERO
-
-typedef struct DIEFFECTINFOA {
- DWORD dwSize;
- GUID guid;
- DWORD dwEffType;
- DWORD dwStaticParams;
- DWORD dwDynamicParams;
- CHAR tszName[MAX_PATH];
-} DIEFFECTINFOA, *LPDIEFFECTINFOA;
-typedef struct DIEFFECTINFOW {
- DWORD dwSize;
- GUID guid;
- DWORD dwEffType;
- DWORD dwStaticParams;
- DWORD dwDynamicParams;
- WCHAR tszName[MAX_PATH];
-} DIEFFECTINFOW, *LPDIEFFECTINFOW;
-#ifdef UNICODE
-typedef DIEFFECTINFOW DIEFFECTINFO;
-typedef LPDIEFFECTINFOW LPDIEFFECTINFO;
-#else
-typedef DIEFFECTINFOA DIEFFECTINFO;
-typedef LPDIEFFECTINFOA LPDIEFFECTINFO;
-#endif // UNICODE
-typedef const DIEFFECTINFOA *LPCDIEFFECTINFOA;
-typedef const DIEFFECTINFOW *LPCDIEFFECTINFOW;
-typedef const DIEFFECTINFO *LPCDIEFFECTINFO;
-
-typedef BOOL (FAR PASCAL * LPDIENUMEFFECTSCALLBACKA)(LPCDIEFFECTINFOA, LPVOID);
-typedef BOOL (FAR PASCAL * LPDIENUMEFFECTSCALLBACKW)(LPCDIEFFECTINFOW, LPVOID);
-#ifdef UNICODE
-#define LPDIENUMEFFECTSCALLBACK LPDIENUMEFFECTSCALLBACKW
-#else
-#define LPDIENUMEFFECTSCALLBACK LPDIENUMEFFECTSCALLBACKA
-#endif // !UNICODE
-typedef BOOL (FAR PASCAL * LPDIENUMCREATEDEFFECTOBJECTSCALLBACK)(LPDIRECTINPUTEFFECT, LPVOID);
-
-#undef INTERFACE
-#define INTERFACE IDirectInputDevice2W
-
-DECLARE_INTERFACE_(IDirectInputDevice2W, IDirectInputDeviceW)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputDeviceW methods ***/
- STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS) PURE;
- STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetProperty)(THIS_ REFGUID,LPDIPROPHEADER) PURE;
- STDMETHOD(SetProperty)(THIS_ REFGUID,LPCDIPROPHEADER) PURE;
- STDMETHOD(Acquire)(THIS) PURE;
- STDMETHOD(Unacquire)(THIS) PURE;
- STDMETHOD(GetDeviceState)(THIS_ DWORD,LPVOID) PURE;
- STDMETHOD(GetDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
- STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT) PURE;
- STDMETHOD(SetEventNotification)(THIS_ HANDLE) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEW,DWORD,DWORD) PURE;
- STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEW) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
-
- /*** IDirectInputDevice2W methods ***/
- STDMETHOD(CreateEffect)(THIS_ REFGUID,LPCDIEFFECT,LPDIRECTINPUTEFFECT *,LPUNKNOWN) PURE;
- STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOW,REFGUID) PURE;
- STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD) PURE;
- STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD) PURE;
- STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK,LPVOID,DWORD) PURE;
- STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE) PURE;
- STDMETHOD(Poll)(THIS) PURE;
- STDMETHOD(SendDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
-};
-
-typedef struct IDirectInputDevice2W *LPDIRECTINPUTDEVICE2W;
-
-#undef INTERFACE
-#define INTERFACE IDirectInputDevice2A
-
-DECLARE_INTERFACE_(IDirectInputDevice2A, IDirectInputDeviceA)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputDeviceA methods ***/
- STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS) PURE;
- STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetProperty)(THIS_ REFGUID,LPDIPROPHEADER) PURE;
- STDMETHOD(SetProperty)(THIS_ REFGUID,LPCDIPROPHEADER) PURE;
- STDMETHOD(Acquire)(THIS) PURE;
- STDMETHOD(Unacquire)(THIS) PURE;
- STDMETHOD(GetDeviceState)(THIS_ DWORD,LPVOID) PURE;
- STDMETHOD(GetDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
- STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT) PURE;
- STDMETHOD(SetEventNotification)(THIS_ HANDLE) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA,DWORD,DWORD) PURE;
- STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
-
- /*** IDirectInputDevice2A methods ***/
- STDMETHOD(CreateEffect)(THIS_ REFGUID,LPCDIEFFECT,LPDIRECTINPUTEFFECT *,LPUNKNOWN) PURE;
- STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOA,REFGUID) PURE;
- STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD) PURE;
- STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD) PURE;
- STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK,LPVOID,DWORD) PURE;
- STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE) PURE;
- STDMETHOD(Poll)(THIS) PURE;
- STDMETHOD(SendDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
-};
-
-typedef struct IDirectInputDevice2A *LPDIRECTINPUTDEVICE2A;
-
-#ifdef UNICODE
-#define IID_IDirectInputDevice2 IID_IDirectInputDevice2W
-#define IDirectInputDevice2 IDirectInputDevice2W
-#define IDirectInputDevice2Vtbl IDirectInputDevice2WVtbl
-#else
-#define IID_IDirectInputDevice2 IID_IDirectInputDevice2A
-#define IDirectInputDevice2 IDirectInputDevice2A
-#define IDirectInputDevice2Vtbl IDirectInputDevice2AVtbl
-#endif
-typedef struct IDirectInputDevice2 *LPDIRECTINPUTDEVICE2;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInputDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInputDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInputDevice2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInputDevice2_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a)
-#define IDirectInputDevice2_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
-#define IDirectInputDevice2_GetProperty(p,a,b) (p)->lpVtbl->GetProperty(p,a,b)
-#define IDirectInputDevice2_SetProperty(p,a,b) (p)->lpVtbl->SetProperty(p,a,b)
-#define IDirectInputDevice2_Acquire(p) (p)->lpVtbl->Acquire(p)
-#define IDirectInputDevice2_Unacquire(p) (p)->lpVtbl->Unacquire(p)
-#define IDirectInputDevice2_GetDeviceState(p,a,b) (p)->lpVtbl->GetDeviceState(p,a,b)
-#define IDirectInputDevice2_GetDeviceData(p,a,b,c,d) (p)->lpVtbl->GetDeviceData(p,a,b,c,d)
-#define IDirectInputDevice2_SetDataFormat(p,a) (p)->lpVtbl->SetDataFormat(p,a)
-#define IDirectInputDevice2_SetEventNotification(p,a) (p)->lpVtbl->SetEventNotification(p,a)
-#define IDirectInputDevice2_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
-#define IDirectInputDevice2_GetObjectInfo(p,a,b,c) (p)->lpVtbl->GetObjectInfo(p,a,b,c)
-#define IDirectInputDevice2_GetDeviceInfo(p,a) (p)->lpVtbl->GetDeviceInfo(p,a)
-#define IDirectInputDevice2_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
-#define IDirectInputDevice2_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
-#define IDirectInputDevice2_CreateEffect(p,a,b,c,d) (p)->lpVtbl->CreateEffect(p,a,b,c,d)
-#define IDirectInputDevice2_EnumEffects(p,a,b,c) (p)->lpVtbl->EnumEffects(p,a,b,c)
-#define IDirectInputDevice2_GetEffectInfo(p,a,b) (p)->lpVtbl->GetEffectInfo(p,a,b)
-#define IDirectInputDevice2_GetForceFeedbackState(p,a) (p)->lpVtbl->GetForceFeedbackState(p,a)
-#define IDirectInputDevice2_SendForceFeedbackCommand(p,a) (p)->lpVtbl->SendForceFeedbackCommand(p,a)
-#define IDirectInputDevice2_EnumCreatedEffectObjects(p,a,b,c) (p)->lpVtbl->EnumCreatedEffectObjects(p,a,b,c)
-#define IDirectInputDevice2_Escape(p,a) (p)->lpVtbl->Escape(p,a)
-#define IDirectInputDevice2_Poll(p) (p)->lpVtbl->Poll(p)
-#define IDirectInputDevice2_SendDeviceData(p,a,b,c,d) (p)->lpVtbl->SendDeviceData(p,a,b,c,d)
-#else
-#define IDirectInputDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInputDevice2_AddRef(p) (p)->AddRef()
-#define IDirectInputDevice2_Release(p) (p)->Release()
-#define IDirectInputDevice2_GetCapabilities(p,a) (p)->GetCapabilities(a)
-#define IDirectInputDevice2_EnumObjects(p,a,b,c) (p)->EnumObjects(a,b,c)
-#define IDirectInputDevice2_GetProperty(p,a,b) (p)->GetProperty(a,b)
-#define IDirectInputDevice2_SetProperty(p,a,b) (p)->SetProperty(a,b)
-#define IDirectInputDevice2_Acquire(p) (p)->Acquire()
-#define IDirectInputDevice2_Unacquire(p) (p)->Unacquire()
-#define IDirectInputDevice2_GetDeviceState(p,a,b) (p)->GetDeviceState(a,b)
-#define IDirectInputDevice2_GetDeviceData(p,a,b,c,d) (p)->GetDeviceData(a,b,c,d)
-#define IDirectInputDevice2_SetDataFormat(p,a) (p)->SetDataFormat(a)
-#define IDirectInputDevice2_SetEventNotification(p,a) (p)->SetEventNotification(a)
-#define IDirectInputDevice2_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
-#define IDirectInputDevice2_GetObjectInfo(p,a,b,c) (p)->GetObjectInfo(a,b,c)
-#define IDirectInputDevice2_GetDeviceInfo(p,a) (p)->GetDeviceInfo(a)
-#define IDirectInputDevice2_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
-#define IDirectInputDevice2_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
-#define IDirectInputDevice2_CreateEffect(p,a,b,c,d) (p)->CreateEffect(a,b,c,d)
-#define IDirectInputDevice2_EnumEffects(p,a,b,c) (p)->EnumEffects(a,b,c)
-#define IDirectInputDevice2_GetEffectInfo(p,a,b) (p)->GetEffectInfo(a,b)
-#define IDirectInputDevice2_GetForceFeedbackState(p,a) (p)->GetForceFeedbackState(a)
-#define IDirectInputDevice2_SendForceFeedbackCommand(p,a) (p)->SendForceFeedbackCommand(a)
-#define IDirectInputDevice2_EnumCreatedEffectObjects(p,a,b,c) (p)->EnumCreatedEffectObjects(a,b,c)
-#define IDirectInputDevice2_Escape(p,a) (p)->Escape(a)
-#define IDirectInputDevice2_Poll(p) (p)->Poll()
-#define IDirectInputDevice2_SendDeviceData(p,a,b,c,d) (p)->SendDeviceData(a,b,c,d)
-#endif
-
-#endif /* DIJ_RINGZERO */
-
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-/****************************************************************************
- *
- * Mouse
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-typedef struct _DIMOUSESTATE {
- LONG lX;
- LONG lY;
- LONG lZ;
- BYTE rgbButtons[4];
-} DIMOUSESTATE, *LPDIMOUSESTATE;
-
-#define DIMOFS_X FIELD_OFFSET(DIMOUSESTATE, lX)
-#define DIMOFS_Y FIELD_OFFSET(DIMOUSESTATE, lY)
-#define DIMOFS_Z FIELD_OFFSET(DIMOUSESTATE, lZ)
-#define DIMOFS_BUTTON0 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 0)
-#define DIMOFS_BUTTON1 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 1)
-#define DIMOFS_BUTTON2 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 2)
-#define DIMOFS_BUTTON3 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 3)
-
-#endif /* DIJ_RINGZERO */
-
-/****************************************************************************
- *
- * Keyboard
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-/****************************************************************************
- *
- * DirectInput keyboard scan codes
- *
- ****************************************************************************/
-
-#define DIK_ESCAPE 0x01
-#define DIK_1 0x02
-#define DIK_2 0x03
-#define DIK_3 0x04
-#define DIK_4 0x05
-#define DIK_5 0x06
-#define DIK_6 0x07
-#define DIK_7 0x08
-#define DIK_8 0x09
-#define DIK_9 0x0A
-#define DIK_0 0x0B
-#define DIK_MINUS 0x0C /* - on main keyboard */
-#define DIK_EQUALS 0x0D
-#define DIK_BACK 0x0E /* backspace */
-#define DIK_TAB 0x0F
-#define DIK_Q 0x10
-#define DIK_W 0x11
-#define DIK_E 0x12
-#define DIK_R 0x13
-#define DIK_T 0x14
-#define DIK_Y 0x15
-#define DIK_U 0x16
-#define DIK_I 0x17
-#define DIK_O 0x18
-#define DIK_P 0x19
-#define DIK_LBRACKET 0x1A
-#define DIK_RBRACKET 0x1B
-#define DIK_RETURN 0x1C /* Enter on main keyboard */
-#define DIK_LCONTROL 0x1D
-#define DIK_A 0x1E
-#define DIK_S 0x1F
-#define DIK_D 0x20
-#define DIK_F 0x21
-#define DIK_G 0x22
-#define DIK_H 0x23
-#define DIK_J 0x24
-#define DIK_K 0x25
-#define DIK_L 0x26
-#define DIK_SEMICOLON 0x27
-#define DIK_APOSTROPHE 0x28
-#define DIK_GRAVE 0x29 /* accent grave */
-#define DIK_LSHIFT 0x2A
-#define DIK_BACKSLASH 0x2B
-#define DIK_Z 0x2C
-#define DIK_X 0x2D
-#define DIK_C 0x2E
-#define DIK_V 0x2F
-#define DIK_B 0x30
-#define DIK_N 0x31
-#define DIK_M 0x32
-#define DIK_COMMA 0x33
-#define DIK_PERIOD 0x34 /* . on main keyboard */
-#define DIK_SLASH 0x35 /* / on main keyboard */
-#define DIK_RSHIFT 0x36
-#define DIK_MULTIPLY 0x37 /* * on numeric keypad */
-#define DIK_LMENU 0x38 /* left Alt */
-#define DIK_SPACE 0x39
-#define DIK_CAPITAL 0x3A
-#define DIK_F1 0x3B
-#define DIK_F2 0x3C
-#define DIK_F3 0x3D
-#define DIK_F4 0x3E
-#define DIK_F5 0x3F
-#define DIK_F6 0x40
-#define DIK_F7 0x41
-#define DIK_F8 0x42
-#define DIK_F9 0x43
-#define DIK_F10 0x44
-#define DIK_NUMLOCK 0x45
-#define DIK_SCROLL 0x46 /* Scroll Lock */
-#define DIK_NUMPAD7 0x47
-#define DIK_NUMPAD8 0x48
-#define DIK_NUMPAD9 0x49
-#define DIK_SUBTRACT 0x4A /* - on numeric keypad */
-#define DIK_NUMPAD4 0x4B
-#define DIK_NUMPAD5 0x4C
-#define DIK_NUMPAD6 0x4D
-#define DIK_ADD 0x4E /* + on numeric keypad */
-#define DIK_NUMPAD1 0x4F
-#define DIK_NUMPAD2 0x50
-#define DIK_NUMPAD3 0x51
-#define DIK_NUMPAD0 0x52
-#define DIK_DECIMAL 0x53 /* . on numeric keypad */
-#define DIK_F11 0x57
-#define DIK_F12 0x58
-
-#define DIK_F13 0x64 /* (NEC PC98) */
-#define DIK_F14 0x65 /* (NEC PC98) */
-#define DIK_F15 0x66 /* (NEC PC98) */
-
-#define DIK_KANA 0x70 /* (Japanese keyboard) */
-#define DIK_CONVERT 0x79 /* (Japanese keyboard) */
-#define DIK_NOCONVERT 0x7B /* (Japanese keyboard) */
-#define DIK_YEN 0x7D /* (Japanese keyboard) */
-#define DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */
-#define DIK_CIRCUMFLEX 0x90 /* (Japanese keyboard) */
-#define DIK_AT 0x91 /* (NEC PC98) */
-#define DIK_COLON 0x92 /* (NEC PC98) */
-#define DIK_UNDERLINE 0x93 /* (NEC PC98) */
-#define DIK_KANJI 0x94 /* (Japanese keyboard) */
-#define DIK_STOP 0x95 /* (NEC PC98) */
-#define DIK_AX 0x96 /* (Japan AX) */
-#define DIK_UNLABELED 0x97 /* (J3100) */
-#define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */
-#define DIK_RCONTROL 0x9D
-#define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */
-#define DIK_DIVIDE 0xB5 /* / on numeric keypad */
-#define DIK_SYSRQ 0xB7
-#define DIK_RMENU 0xB8 /* right Alt */
-#define DIK_HOME 0xC7 /* Home on arrow keypad */
-#define DIK_UP 0xC8 /* UpArrow on arrow keypad */
-#define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */
-#define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */
-#define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */
-#define DIK_END 0xCF /* End on arrow keypad */
-#define DIK_DOWN 0xD0 /* DownArrow on arrow keypad */
-#define DIK_NEXT 0xD1 /* PgDn on arrow keypad */
-#define DIK_INSERT 0xD2 /* Insert on arrow keypad */
-#define DIK_DELETE 0xD3 /* Delete on arrow keypad */
-#define DIK_LWIN 0xDB /* Left Windows key */
-#define DIK_RWIN 0xDC /* Right Windows key */
-#define DIK_APPS 0xDD /* AppMenu key */
-
-/*
- * Alternate names for keys, to facilitate transition from DOS.
- */
-#define DIK_BACKSPACE DIK_BACK /* backspace */
-#define DIK_NUMPADSTAR DIK_MULTIPLY /* * on numeric keypad */
-#define DIK_LALT DIK_LMENU /* left Alt */
-#define DIK_CAPSLOCK DIK_CAPITAL /* CapsLock */
-#define DIK_NUMPADMINUS DIK_SUBTRACT /* - on numeric keypad */
-#define DIK_NUMPADPLUS DIK_ADD /* + on numeric keypad */
-#define DIK_NUMPADPERIOD DIK_DECIMAL /* . on numeric keypad */
-#define DIK_NUMPADSLASH DIK_DIVIDE /* / on numeric keypad */
-#define DIK_RALT DIK_RMENU /* right Alt */
-#define DIK_UPARROW DIK_UP /* UpArrow on arrow keypad */
-#define DIK_PGUP DIK_PRIOR /* PgUp on arrow keypad */
-#define DIK_LEFTARROW DIK_LEFT /* LeftArrow on arrow keypad */
-#define DIK_RIGHTARROW DIK_RIGHT /* RightArrow on arrow keypad */
-#define DIK_DOWNARROW DIK_DOWN /* DownArrow on arrow keypad */
-#define DIK_PGDN DIK_NEXT /* PgDn on arrow keypad */
-
-#endif /* DIJ_RINGZERO */
-
-/****************************************************************************
- *
- * Joystick
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-typedef struct DIJOYSTATE {
- LONG lX; /* x-axis position */
- LONG lY; /* y-axis position */
- LONG lZ; /* z-axis position */
- LONG lRx; /* x-axis rotation */
- LONG lRy; /* y-axis rotation */
- LONG lRz; /* z-axis rotation */
- LONG rglSlider[2]; /* extra axes positions */
- DWORD rgdwPOV[4]; /* POV directions */
- BYTE rgbButtons[32]; /* 32 buttons */
-} DIJOYSTATE, *LPDIJOYSTATE;
-
-typedef struct DIJOYSTATE2 {
- LONG lX; /* x-axis position */
- LONG lY; /* y-axis position */
- LONG lZ; /* z-axis position */
- LONG lRx; /* x-axis rotation */
- LONG lRy; /* y-axis rotation */
- LONG lRz; /* z-axis rotation */
- LONG rglSlider[2]; /* extra axes positions */
- DWORD rgdwPOV[4]; /* POV directions */
- BYTE rgbButtons[128]; /* 128 buttons */
- LONG lVX; /* x-axis velocity */
- LONG lVY; /* y-axis velocity */
- LONG lVZ; /* z-axis velocity */
- LONG lVRx; /* x-axis angular velocity */
- LONG lVRy; /* y-axis angular velocity */
- LONG lVRz; /* z-axis angular velocity */
- LONG rglVSlider[2]; /* extra axes velocities */
- LONG lAX; /* x-axis acceleration */
- LONG lAY; /* y-axis acceleration */
- LONG lAZ; /* z-axis acceleration */
- LONG lARx; /* x-axis angular acceleration */
- LONG lARy; /* y-axis angular acceleration */
- LONG lARz; /* z-axis angular acceleration */
- LONG rglASlider[2]; /* extra axes accelerations */
- LONG lFX; /* x-axis force */
- LONG lFY; /* y-axis force */
- LONG lFZ; /* z-axis force */
- LONG lFRx; /* x-axis torque */
- LONG lFRy; /* y-axis torque */
- LONG lFRz; /* z-axis torque */
- LONG rglFSlider[2]; /* extra axes forces */
-} DIJOYSTATE2, *LPDIJOYSTATE2;
-
-#define DIJOFS_X FIELD_OFFSET(DIJOYSTATE, lX)
-#define DIJOFS_Y FIELD_OFFSET(DIJOYSTATE, lY)
-#define DIJOFS_Z FIELD_OFFSET(DIJOYSTATE, lZ)
-#define DIJOFS_RX FIELD_OFFSET(DIJOYSTATE, lRx)
-#define DIJOFS_RY FIELD_OFFSET(DIJOYSTATE, lRy)
-#define DIJOFS_RZ FIELD_OFFSET(DIJOYSTATE, lRz)
-#define DIJOFS_SLIDER(n) (FIELD_OFFSET(DIJOYSTATE, rglSlider) + \
- (n) * sizeof(LONG))
-#define DIJOFS_POV(n) (FIELD_OFFSET(DIJOYSTATE, rgdwPOV) + \
- (n) * sizeof(DWORD))
-#define DIJOFS_BUTTON(n) (FIELD_OFFSET(DIJOYSTATE, rgbButtons) + (n))
-#define DIJOFS_BUTTON0 DIJOFS_BUTTON(0)
-#define DIJOFS_BUTTON1 DIJOFS_BUTTON(1)
-#define DIJOFS_BUTTON2 DIJOFS_BUTTON(2)
-#define DIJOFS_BUTTON3 DIJOFS_BUTTON(3)
-#define DIJOFS_BUTTON4 DIJOFS_BUTTON(4)
-#define DIJOFS_BUTTON5 DIJOFS_BUTTON(5)
-#define DIJOFS_BUTTON6 DIJOFS_BUTTON(6)
-#define DIJOFS_BUTTON7 DIJOFS_BUTTON(7)
-#define DIJOFS_BUTTON8 DIJOFS_BUTTON(8)
-#define DIJOFS_BUTTON9 DIJOFS_BUTTON(9)
-#define DIJOFS_BUTTON10 DIJOFS_BUTTON(10)
-#define DIJOFS_BUTTON11 DIJOFS_BUTTON(11)
-#define DIJOFS_BUTTON12 DIJOFS_BUTTON(12)
-#define DIJOFS_BUTTON13 DIJOFS_BUTTON(13)
-#define DIJOFS_BUTTON14 DIJOFS_BUTTON(14)
-#define DIJOFS_BUTTON15 DIJOFS_BUTTON(15)
-#define DIJOFS_BUTTON16 DIJOFS_BUTTON(16)
-#define DIJOFS_BUTTON17 DIJOFS_BUTTON(17)
-#define DIJOFS_BUTTON18 DIJOFS_BUTTON(18)
-#define DIJOFS_BUTTON19 DIJOFS_BUTTON(19)
-#define DIJOFS_BUTTON20 DIJOFS_BUTTON(20)
-#define DIJOFS_BUTTON21 DIJOFS_BUTTON(21)
-#define DIJOFS_BUTTON22 DIJOFS_BUTTON(22)
-#define DIJOFS_BUTTON23 DIJOFS_BUTTON(23)
-#define DIJOFS_BUTTON24 DIJOFS_BUTTON(24)
-#define DIJOFS_BUTTON25 DIJOFS_BUTTON(25)
-#define DIJOFS_BUTTON26 DIJOFS_BUTTON(26)
-#define DIJOFS_BUTTON27 DIJOFS_BUTTON(27)
-#define DIJOFS_BUTTON28 DIJOFS_BUTTON(28)
-#define DIJOFS_BUTTON29 DIJOFS_BUTTON(29)
-#define DIJOFS_BUTTON30 DIJOFS_BUTTON(30)
-#define DIJOFS_BUTTON31 DIJOFS_BUTTON(31)
-
-
-#endif /* DIJ_RINGZERO */
-
-/****************************************************************************
- *
- * IDirectInput
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-#define DIENUM_STOP 0
-#define DIENUM_CONTINUE 1
-
-typedef BOOL (FAR PASCAL * LPDIENUMDEVICESCALLBACKA)(LPCDIDEVICEINSTANCEA, LPVOID);
-typedef BOOL (FAR PASCAL * LPDIENUMDEVICESCALLBACKW)(LPCDIDEVICEINSTANCEW, LPVOID);
-#ifdef UNICODE
-#define LPDIENUMDEVICESCALLBACK LPDIENUMDEVICESCALLBACKW
-#else
-#define LPDIENUMDEVICESCALLBACK LPDIENUMDEVICESCALLBACKA
-#endif // !UNICODE
-
-#define DIEDFL_ALLDEVICES 0x00000000
-#define DIEDFL_ATTACHEDONLY 0x00000001
-#if(DIRECTINPUT_VERSION >= 0x0500)
-#define DIEDFL_FORCEFEEDBACK 0x00000100
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-#undef INTERFACE
-#define INTERFACE IDirectInputW
-
-DECLARE_INTERFACE_(IDirectInputW, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputW methods ***/
- STDMETHOD(CreateDevice)(THIS_ REFGUID,LPDIRECTINPUTDEVICEW *,LPUNKNOWN) PURE;
- STDMETHOD(EnumDevices)(THIS_ DWORD,LPDIENUMDEVICESCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetDeviceStatus)(THIS_ REFGUID) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD) PURE;
-};
-
-typedef struct IDirectInputW *LPDIRECTINPUTW;
-
-#undef INTERFACE
-#define INTERFACE IDirectInputA
-
-DECLARE_INTERFACE_(IDirectInputA, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputA methods ***/
- STDMETHOD(CreateDevice)(THIS_ REFGUID,LPDIRECTINPUTDEVICEA *,LPUNKNOWN) PURE;
- STDMETHOD(EnumDevices)(THIS_ DWORD,LPDIENUMDEVICESCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetDeviceStatus)(THIS_ REFGUID) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD) PURE;
-};
-
-typedef struct IDirectInputA *LPDIRECTINPUTA;
-
-#ifdef UNICODE
-#define IID_IDirectInput IID_IDirectInputW
-#define IDirectInput IDirectInputW
-#define IDirectInputVtbl IDirectInputWVtbl
-#else
-#define IID_IDirectInput IID_IDirectInputA
-#define IDirectInput IDirectInputA
-#define IDirectInputVtbl IDirectInputAVtbl
-#endif
-typedef struct IDirectInput *LPDIRECTINPUT;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInput_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInput_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInput_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInput_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirectInput_EnumDevices(p,a,b,c,d) (p)->lpVtbl->EnumDevices(p,a,b,c,d)
-#define IDirectInput_GetDeviceStatus(p,a) (p)->lpVtbl->GetDeviceStatus(p,a)
-#define IDirectInput_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
-#define IDirectInput_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#else
-#define IDirectInput_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInput_AddRef(p) (p)->AddRef()
-#define IDirectInput_Release(p) (p)->Release()
-#define IDirectInput_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirectInput_EnumDevices(p,a,b,c,d) (p)->EnumDevices(a,b,c,d)
-#define IDirectInput_GetDeviceStatus(p,a) (p)->GetDeviceStatus(a)
-#define IDirectInput_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
-#define IDirectInput_Initialize(p,a,b) (p)->Initialize(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirectInput2W
-
-DECLARE_INTERFACE_(IDirectInput2W, IDirectInputW)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputW methods ***/
- STDMETHOD(CreateDevice)(THIS_ REFGUID,LPDIRECTINPUTDEVICEW *,LPUNKNOWN) PURE;
- STDMETHOD(EnumDevices)(THIS_ DWORD,LPDIENUMDEVICESCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetDeviceStatus)(THIS_ REFGUID) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD) PURE;
-
- /*** IDirectInput2W methods ***/
- STDMETHOD(FindDevice)(THIS_ REFGUID,LPCWSTR,LPGUID) PURE;
-};
-
-typedef struct IDirectInput2W *LPDIRECTINPUT2W;
-
-#undef INTERFACE
-#define INTERFACE IDirectInput2A
-
-DECLARE_INTERFACE_(IDirectInput2A, IDirectInputA)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputA methods ***/
- STDMETHOD(CreateDevice)(THIS_ REFGUID,LPDIRECTINPUTDEVICEA *,LPUNKNOWN) PURE;
- STDMETHOD(EnumDevices)(THIS_ DWORD,LPDIENUMDEVICESCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetDeviceStatus)(THIS_ REFGUID) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD) PURE;
-
- /*** IDirectInput2A methods ***/
- STDMETHOD(FindDevice)(THIS_ REFGUID,LPCSTR,LPGUID) PURE;
-};
-
-typedef struct IDirectInput2A *LPDIRECTINPUT2A;
-
-#ifdef UNICODE
-#define IID_IDirectInput2 IID_IDirectInput2W
-#define IDirectInput2 IDirectInput2W
-#define IDirectInput2Vtbl IDirectInput2WVtbl
-#else
-#define IID_IDirectInput2 IID_IDirectInput2A
-#define IDirectInput2 IDirectInput2A
-#define IDirectInput2Vtbl IDirectInput2AVtbl
-#endif
-typedef struct IDirectInput2 *LPDIRECTINPUT2;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInput2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInput2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInput2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInput2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirectInput2_EnumDevices(p,a,b,c,d) (p)->lpVtbl->EnumDevices(p,a,b,c,d)
-#define IDirectInput2_GetDeviceStatus(p,a) (p)->lpVtbl->GetDeviceStatus(p,a)
-#define IDirectInput2_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
-#define IDirectInput2_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectInput2_FindDevice(p,a,b,c) (p)->lpVtbl->FindDevice(p,a,b,c)
-#else
-#define IDirectInput2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInput2_AddRef(p) (p)->AddRef()
-#define IDirectInput2_Release(p) (p)->Release()
-#define IDirectInput2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirectInput2_EnumDevices(p,a,b,c,d) (p)->EnumDevices(a,b,c,d)
-#define IDirectInput2_GetDeviceStatus(p,a) (p)->GetDeviceStatus(a)
-#define IDirectInput2_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
-#define IDirectInput2_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectInput2_FindDevice(p,a,b,c) (p)->FindDevice(a,b,c)
-#endif
-
-extern HRESULT WINAPI DirectInputCreateA(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUTA *ppDI, LPUNKNOWN punkOuter);
-extern HRESULT WINAPI DirectInputCreateW(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUTW *ppDI, LPUNKNOWN punkOuter);
-#ifdef UNICODE
-#define DirectInputCreate DirectInputCreateW
-#else
-#define DirectInputCreate DirectInputCreateA
-#endif // !UNICODE
-
-#endif /* DIJ_RINGZERO */
-
-
-/****************************************************************************
- *
- * Return Codes
- *
- ****************************************************************************/
-
-/*
- * The operation completed successfully.
- */
-#define DI_OK S_OK
-
-/*
- * The device exists but is not currently attached.
- */
-#define DI_NOTATTACHED S_FALSE
-
-/*
- * The device buffer overflowed. Some input was lost.
- */
-#define DI_BUFFEROVERFLOW S_FALSE
-
-/*
- * The change in device properties had no effect.
- */
-#define DI_PROPNOEFFECT S_FALSE
-
-/*
- * The operation had no effect.
- */
-#define DI_NOEFFECT S_FALSE
-
-/*
- * The device is a polled device. As a result, device buffering
- * will not collect any data and event notifications will not be
- * signalled until GetDeviceState is called.
- */
-#define DI_POLLEDDEVICE ((HRESULT)0x00000002L)
-
-/*
- * The parameters of the effect were successfully updated by
- * IDirectInputEffect::SetParameters, but the effect was not
- * downloaded because the device is not exclusively acquired
- * or because the DIEP_NODOWNLOAD flag was passed.
- */
-#define DI_DOWNLOADSKIPPED ((HRESULT)0x00000003L)
-
-/*
- * The parameters of the effect were successfully updated by
- * IDirectInputEffect::SetParameters, but in order to change
- * the parameters, the effect needed to be restarted.
- */
-#define DI_EFFECTRESTARTED ((HRESULT)0x00000004L)
-
-/*
- * The parameters of the effect were successfully updated by
- * IDirectInputEffect::SetParameters, but some of them were
- * beyond the capabilities of the device and were truncated.
- */
-#define DI_TRUNCATED ((HRESULT)0x00000008L)
-
-/*
- * Equal to DI_EFFECTRESTARTED | DI_TRUNCATED.
- */
-#define DI_TRUNCATEDANDRESTARTED ((HRESULT)0x0000000CL)
-
-/*
- * The application requires a newer version of DirectInput.
- */
-#define DIERR_OLDDIRECTINPUTVERSION \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_OLD_WIN_VERSION)
-
-/*
- * The application was written for an unsupported prerelease version
- * of DirectInput.
- */
-#define DIERR_BETADIRECTINPUTVERSION \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_RMODE_APP)
-
-/*
- * The object could not be created due to an incompatible driver version
- * or mismatched or incomplete driver components.
- */
-#define DIERR_BADDRIVERVER \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_BAD_DRIVER_LEVEL)
-
-/*
- * The device or device instance or effect is not registered with DirectInput.
- */
-#define DIERR_DEVICENOTREG REGDB_E_CLASSNOTREG
-
-/*
- * The requested object does not exist.
- */
-#define DIERR_NOTFOUND \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_FILE_NOT_FOUND)
-
-/*
- * The requested object does not exist.
- */
-#define DIERR_OBJECTNOTFOUND \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_FILE_NOT_FOUND)
-
-/*
- * An invalid parameter was passed to the returning function,
- * or the object was not in a state that admitted the function
- * to be called.
- */
-#define DIERR_INVALIDPARAM E_INVALIDARG
-
-/*
- * The specified interface is not supported by the object
- */
-#define DIERR_NOINTERFACE E_NOINTERFACE
-
-/*
- * An undetermined error occured inside the DInput subsystem
- */
-#define DIERR_GENERIC E_FAIL
-
-/*
- * The DInput subsystem couldn't allocate sufficient memory to complete the
- * caller's request.
- */
-#define DIERR_OUTOFMEMORY E_OUTOFMEMORY
-
-/*
- * The function called is not supported at this time
- */
-#define DIERR_UNSUPPORTED E_NOTIMPL
-
-/*
- * This object has not been initialized
- */
-#define DIERR_NOTINITIALIZED \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NOT_READY)
-
-/*
- * This object is already initialized
- */
-#define DIERR_ALREADYINITIALIZED \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_ALREADY_INITIALIZED)
-
-/*
- * This object does not support aggregation
- */
-#define DIERR_NOAGGREGATION CLASS_E_NOAGGREGATION
-
-/*
- * Another app has a higher priority level, preventing this call from
- * succeeding.
- */
-#define DIERR_OTHERAPPHASPRIO E_ACCESSDENIED
-
-/*
- * Access to the device has been lost. It must be re-acquired.
- */
-#define DIERR_INPUTLOST \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_READ_FAULT)
-
-/*
- * The operation cannot be performed while the device is acquired.
- */
-#define DIERR_ACQUIRED \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_BUSY)
-
-/*
- * The operation cannot be performed unless the device is acquired.
- */
-#define DIERR_NOTACQUIRED \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_INVALID_ACCESS)
-
-/*
- * The specified property cannot be changed.
- */
-#define DIERR_READONLY E_ACCESSDENIED
-
-/*
- * The device already has an event notification associated with it.
- */
-#define DIERR_HANDLEEXISTS E_ACCESSDENIED
-
-/*
- * Data is not yet available.
- */
-#ifndef E_PENDING
-#define E_PENDING 0x80070007L
-#endif
-
-/*
- * Unable to IDirectInputJoyConfig_Acquire because the user
- * does not have sufficient privileges to change the joystick
- * configuration.
- */
-#define DIERR_INSUFFICIENTPRIVS 0x80040200L
-
-/*
- * The device is full.
- */
-#define DIERR_DEVICEFULL 0x80040201L
-
-/*
- * Not all the requested information fit into the buffer.
- */
-#define DIERR_MOREDATA 0x80040202L
-
-/*
- * The effect is not downloaded.
- */
-#define DIERR_NOTDOWNLOADED 0x80040203L
-
-/*
- * The device cannot be reinitialized because there are still effects
- * attached to it.
- */
-#define DIERR_HASEFFECTS 0x80040204L
-
-/*
- * The operation cannot be performed unless the device is acquired
- * in DISCL_EXCLUSIVE mode.
- */
-#define DIERR_NOTEXCLUSIVEACQUIRED 0x80040205L
-
-/*
- * The effect could not be downloaded because essential information
- * is missing. For example, no axes have been associated with the
- * effect, or no type-specific information has been created.
- */
-#define DIERR_INCOMPLETEEFFECT 0x80040206L
-
-/*
- * Attempted to read buffered device data from a device that is
- * not buffered.
- */
-#define DIERR_NOTBUFFERED 0x80040207L
-
-/*
- * An attempt was made to modify parameters of an effect while it is
- * playing. Not all hardware devices support altering the parameters
- * of an effect while it is playing.
- */
-#define DIERR_EFFECTPLAYING 0x80040208L
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* __DINPUT_INCLUDED__ */
-
-/****************************************************************************
- *
- * Definitions for non-IDirectInput (VJoyD) features defined more recently
- * than the current sdk files
- *
- ****************************************************************************/
-
-#ifdef _INC_MMSYSTEM
-#ifndef MMNOJOY
-
-#ifndef __VJOYDX_INCLUDED__
-#define __VJOYDX_INCLUDED__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Flag to indicate that the dwReserved2 field of the JOYINFOEX structure
- * contains mini-driver specific data to be passed by VJoyD to the mini-
- * driver instead of doing a poll.
- */
-#define JOY_PASSDRIVERDATA 0x10000000l
-
-/*
- * Informs the joystick driver that the configuration has been changed
- * and should be reloaded from the registery.
- * dwFlags is reserved and should be set to zero
- */
-WINMMAPI MMRESULT WINAPI joyConfigChanged( DWORD dwFlags );
-
-/*
- * Hardware Setting indicating that the device is a headtracker
- */
-#define JOY_HWS_ISHEADTRACKER 0x02000000l
-
-/*
- * Hardware Setting indicating that the VxD is used to replace
- * the standard analog polling
- */
-#define JOY_HWS_ISGAMEPORTDRIVER 0x04000000l
-
-/*
- * Hardware Setting indicating that the driver needs a standard
- * gameport in order to communicate with the device.
- */
-#define JOY_HWS_ISANALOGPORTDRIVER 0x08000000l
-
-/*
- * Hardware Setting indicating that VJoyD should not load this
- * driver, it will be loaded externally and will register with
- * VJoyD of it's own accord.
- */
-#define JOY_HWS_AUTOLOAD 0x10000000l
-
-/*
- * Hardware Setting indicating that the driver acquires any
- * resources needed without needing a devnode through VJoyD.
- */
-#define JOY_HWS_NODEVNODE 0x20000000l
-
-/*
- * Hardware Setting indicating that the VxD can be used as
- * a port 201h emulator.
- */
-#define JOY_HWS_ISGAMEPORTEMULATOR 0x40000000l
-
-
-/*
- * Usage Setting indicating that the settings are volatile and
- * should be removed if still present on a reboot.
- */
-#define JOY_US_VOLATILE 0x00000008L
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* __VJOYDX_INCLUDED__ */
-
-#endif /* not MMNOJOY */
-#endif /* _INC_MMSYSTEM */
-
-/****************************************************************************
- *
- * Definitions for non-IDirectInput (VJoyD) features defined more recently
- * than the current ddk files
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-#ifdef _INC_MMDDK
-#ifndef MMNOJOYDEV
-
-#ifndef __VJOYDXD_INCLUDED__
-#define __VJOYDXD_INCLUDED__
-/*
- * Poll type in which the do_other field of the JOYOEMPOLLDATA
- * structure contains mini-driver specific data passed from an app.
- */
-#define JOY_OEMPOLL_PASSDRIVERDATA 7
-
-#endif /* __VJOYDXD_INCLUDED__ */
-
-#endif /* not MMNOJOYDEV */
-#endif /* _INC_MMDDK */
-
-#endif /* DIJ_RINGZERO */
+++ /dev/null
-/*
- * Copyright (C) the Wine project
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_DSOUND_H
-#define __WINE_DSOUND_H
-#define __DSOUND_INCLUDED__
-
-#include <_mingw_dxhelper.h>
-#ifndef DIRECTSOUND_VERSION
-#define DIRECTSOUND_VERSION 0x0900
-#endif
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-#include <float.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
-
-#ifndef DX_SHARED_DEFINES
-
-typedef float D3DVALUE, *LPD3DVALUE;
-
-#ifndef D3DCOLOR_DEFINED
-typedef DWORD D3DCOLOR, *LPD3DCOLOR;
-#define D3DCOLOR_DEFINED
-#endif
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- float x;
- float y;
- float z;
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-
-#ifndef LPD3DVECTOR_DEFINED
-typedef D3DVECTOR *LPD3DVECTOR;
-#define LPD3DVECTOR_DEFINED
-#endif
-
-#define DX_SHARED_DEFINES
-#endif /* DX_SHARED_DEFINES */
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-DEFINE_GUID(CLSID_DirectSound, 0x47d4d946, 0x62e8, 0x11cf, 0x93, 0xbc, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
-DEFINE_GUID(CLSID_DirectSound8, 0x3901cc3f, 0x84b5, 0x4fa4, 0xba, 0x35, 0xaa, 0x81, 0x72, 0xb8, 0xa0, 0x9b);
-DEFINE_GUID(CLSID_DirectSoundCapture, 0xb0210780, 0x89cd, 0x11d0, 0xaf, 0x08, 0x00, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
-DEFINE_GUID(CLSID_DirectSoundCapture8, 0xe4bcac13, 0x7f99, 0x4908, 0x9a, 0x8e, 0x74, 0xe3, 0xbf, 0x24, 0xb6, 0xe1);
-DEFINE_GUID(CLSID_DirectSoundFullDuplex,0xfea4300c, 0x7959, 0x4147, 0xb2, 0x6a, 0x23, 0x77, 0xb9, 0xe7, 0xa9, 0x1d);
-
-DEFINE_GUID(IID_IDirectSound, 0x279AFA83,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
-typedef struct IDirectSound *LPDIRECTSOUND,**LPLPDIRECTSOUND;
-
-DEFINE_GUID(IID_IDirectSound8, 0xC50A7E93,0xF395,0x4834,0x9E,0xF6,0x7F,0xA9,0x9D,0xE5,0x09,0x66);
-typedef struct IDirectSound8 *LPDIRECTSOUND8,**LPLPDIRECTSOUND8;
-
-DEFINE_GUID(IID_IDirectSoundBuffer, 0x279AFA85,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
-typedef struct IDirectSoundBuffer *LPDIRECTSOUNDBUFFER,**LPLPDIRECTSOUNDBUFFER;
-
-DEFINE_GUID(IID_IDirectSoundBuffer8, 0x6825A449,0x7524,0x4D82,0x92,0x0F,0x50,0xE3,0x6A,0xB3,0xAB,0x1E);
-typedef struct IDirectSoundBuffer8 *LPDIRECTSOUNDBUFFER8,**LPLPDIRECTSOUNDBUFFER8;
-
-DEFINE_GUID(IID_IDirectSoundNotify, 0xB0210783,0x89cd,0x11d0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
-typedef struct IDirectSoundNotify *LPDIRECTSOUNDNOTIFY,**LPLPDIRECTSOUNDNOTIFY;
-#define IID_IDirectSoundNotify8 IID_IDirectSoundNotify
-
-DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
-typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER,**LPLPDIRECTSOUND3DLISTENER;
-
-DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
-typedef struct IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER,**LPLPDIRECTSOUND3DBUFFER;
-
-DEFINE_GUID(IID_IDirectSoundCapture, 0xB0210781,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
-typedef struct IDirectSoundCapture *LPDIRECTSOUNDCAPTURE,**LPLPDIRECTSOUNDCAPTURE;
-#define IID_IDirectSoundCapture8 IID_IDirectSoundCapture
-typedef struct IDirectSoundCapture IDirectSoundCapture8,*LPDIRECTSOUNDCAPTURE8,**LPLPDIRECTSOUNDCAPTURE8;
-
-DEFINE_GUID(IID_IDirectSoundCaptureBuffer,0xB0210782,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
-typedef struct IDirectSoundCaptureBuffer *LPDIRECTSOUNDCAPTUREBUFFER,**LPLPDIRECTSOUNDCAPTUREBUFFER;
-
-DEFINE_GUID(IID_IDirectSoundCaptureBuffer8,0x00990DF4,0x0DBB,0x4872,0x83,0x3E,0x6D,0x30,0x3E,0x80,0xAE,0xB6);
-typedef struct IDirectSoundCaptureBuffer8 *LPDIRECTSOUNDCAPTUREBUFFER8,**LPLPDIRECTSOUNDCAPTUREBUFFER8;
-
-DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xEDCB4C7A,0xDAAB,0x4216,0xA4,0x2E,0x6C,0x50,0x59,0x6D,0xDC,0x1D);
-typedef struct IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX,**LPLPDIRECTSOUNDFULLDUPLEX;
-#define IID_IDirectSoundFullDuplex8 IID_IDirectSoundFullDuplex
-
-DEFINE_GUID(DSDEVID_DefaultPlayback, 0xDEF00000,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
-DEFINE_GUID(DSDEVID_DefaultCapture, 0xDEF00001,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
-DEFINE_GUID(DSDEVID_DefaultVoicePlayback,0xDEF00002,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
-DEFINE_GUID(DSDEVID_DefaultVoiceCapture, 0xDEF00003,0x9C6D,0x47ED,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
-
-DEFINE_GUID(DSDEVID_WinePlayback, 0x40316A1D,0x605B,0xD611,0x87,0xC6,0x00,0x80,0xAD,0x00,0x02,0xFE);
-
-#define _FACDS 0x878
-#define MAKE_DSHRESULT(code) MAKE_HRESULT(1,_FACDS,code)
-
-#define DS_OK 0
-#define DS_NO_VIRTUALIZATION MAKE_HRESULT(0, _FACDS, 10)
-#define DS_INCOMPLETE MAKE_HRESULT(0, _FACDS, 20)
-#define DSERR_ALLOCATED MAKE_DSHRESULT(10)
-#define DSERR_CONTROLUNAVAIL MAKE_DSHRESULT(30)
-#define DSERR_INVALIDPARAM E_INVALIDARG
-#define DSERR_INVALIDCALL MAKE_DSHRESULT(50)
-#define DSERR_GENERIC E_FAIL
-#define DSERR_PRIOLEVELNEEDED MAKE_DSHRESULT(70)
-#define DSERR_OUTOFMEMORY E_OUTOFMEMORY
-#define DSERR_BADFORMAT MAKE_DSHRESULT(100)
-#define DSERR_UNSUPPORTED E_NOTIMPL
-#define DSERR_NODRIVER MAKE_DSHRESULT(120)
-#define DSERR_ALREADYINITIALIZED MAKE_DSHRESULT(130)
-#define DSERR_NOAGGREGATION CLASS_E_NOAGGREGATION
-#define DSERR_BUFFERLOST MAKE_DSHRESULT(150)
-#define DSERR_OTHERAPPHASPRIO MAKE_DSHRESULT(160)
-#define DSERR_UNINITIALIZED MAKE_DSHRESULT(170)
-#define DSERR_NOINTERFACE E_NOINTERFACE
-#define DSERR_ACCESSDENIED E_ACCESSDENIED
-#define DSERR_BUFFERTOOSMALL MAKE_DSHRESULT(180)
-#define DSERR_DS8_REQUIRED MAKE_DSHRESULT(190)
-#define DSERR_SENDLOOP MAKE_DSHRESULT(200)
-#define DSERR_BADSENDBUFFERGUID MAKE_DSHRESULT(210)
-#define DSERR_FXUNAVAILABLE MAKE_DSHRESULT(220)
-#define DSERR_OBJECTNOTFOUND MAKE_DSHRESULT(4449)
-
-#define DSCAPS_PRIMARYMONO 0x00000001
-#define DSCAPS_PRIMARYSTEREO 0x00000002
-#define DSCAPS_PRIMARY8BIT 0x00000004
-#define DSCAPS_PRIMARY16BIT 0x00000008
-#define DSCAPS_CONTINUOUSRATE 0x00000010
-#define DSCAPS_EMULDRIVER 0x00000020
-#define DSCAPS_CERTIFIED 0x00000040
-#define DSCAPS_SECONDARYMONO 0x00000100
-#define DSCAPS_SECONDARYSTEREO 0x00000200
-#define DSCAPS_SECONDARY8BIT 0x00000400
-#define DSCAPS_SECONDARY16BIT 0x00000800
-
-#define DSSCL_NORMAL 1
-#define DSSCL_PRIORITY 2
-#define DSSCL_EXCLUSIVE 3
-#define DSSCL_WRITEPRIMARY 4
-
-typedef struct _DSCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwMinSecondarySampleRate;
- DWORD dwMaxSecondarySampleRate;
- DWORD dwPrimaryBuffers;
- DWORD dwMaxHwMixingAllBuffers;
- DWORD dwMaxHwMixingStaticBuffers;
- DWORD dwMaxHwMixingStreamingBuffers;
- DWORD dwFreeHwMixingAllBuffers;
- DWORD dwFreeHwMixingStaticBuffers;
- DWORD dwFreeHwMixingStreamingBuffers;
- DWORD dwMaxHw3DAllBuffers;
- DWORD dwMaxHw3DStaticBuffers;
- DWORD dwMaxHw3DStreamingBuffers;
- DWORD dwFreeHw3DAllBuffers;
- DWORD dwFreeHw3DStaticBuffers;
- DWORD dwFreeHw3DStreamingBuffers;
- DWORD dwTotalHwMemBytes;
- DWORD dwFreeHwMemBytes;
- DWORD dwMaxContigFreeHwMemBytes;
- DWORD dwUnlockTransferRateHwBuffers;
- DWORD dwPlayCpuOverheadSwBuffers;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} DSCAPS,*LPDSCAPS;
-typedef const DSCAPS *LPCDSCAPS;
-
-#define DSBPLAY_LOOPING 0x00000001
-#define DSBPLAY_LOCHARDWARE 0x00000002
-#define DSBPLAY_LOCSOFTWARE 0x00000004
-#define DSBPLAY_TERMINATEBY_TIME 0x00000008
-#define DSBPLAY_TERMINATEBY_DISTANCE 0x000000010
-#define DSBPLAY_TERMINATEBY_PRIORITY 0x000000020
-
-#define DSBSTATUS_PLAYING 0x00000001
-#define DSBSTATUS_BUFFERLOST 0x00000002
-#define DSBSTATUS_LOOPING 0x00000004
-#define DSBSTATUS_LOCHARDWARE 0x00000008
-#define DSBSTATUS_LOCSOFTWARE 0x00000010
-#define DSBSTATUS_TERMINATED 0x00000020
-
-#define DSBLOCK_FROMWRITECURSOR 0x00000001
-#define DSBLOCK_ENTIREBUFFER 0x00000002
-
-#define DSBCAPS_PRIMARYBUFFER 0x00000001
-#define DSBCAPS_STATIC 0x00000002
-#define DSBCAPS_LOCHARDWARE 0x00000004
-#define DSBCAPS_LOCSOFTWARE 0x00000008
-#define DSBCAPS_CTRL3D 0x00000010
-#define DSBCAPS_CTRLFREQUENCY 0x00000020
-#define DSBCAPS_CTRLPAN 0x00000040
-#define DSBCAPS_CTRLVOLUME 0x00000080
-#define DSBCAPS_CTRLDEFAULT 0x000000E0 /* Pan + volume + frequency. */
-#define DSBCAPS_CTRLPOSITIONNOTIFY 0x00000100
-#define DSBCAPS_CTRLFX 0x00000200
-#define DSBCAPS_CTRLALL 0x000001F0 /* All control capabilities */
-#define DSBCAPS_STICKYFOCUS 0x00004000
-#define DSBCAPS_GLOBALFOCUS 0x00008000
-#define DSBCAPS_GETCURRENTPOSITION2 0x00010000 /* More accurate play cursor under emulation*/
-#define DSBCAPS_MUTE3DATMAXDISTANCE 0x00020000
-#define DSBCAPS_LOCDEFER 0x00040000
-
-#define DSBSIZE_MIN 4
-#define DSBSIZE_MAX 0xFFFFFFF
-#define DSBPAN_LEFT -10000
-#define DSBPAN_CENTER 0
-#define DSBPAN_RIGHT 10000
-#define DSBVOLUME_MAX 0
-#define DSBVOLUME_MIN -10000
-#define DSBFREQUENCY_MIN 100
-#define DSBFREQUENCY_MAX 200000
-#define DSBFREQUENCY_ORIGINAL 0
-
-typedef struct _DSBCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwUnlockTransferRate;
- DWORD dwPlayCpuOverhead;
-} DSBCAPS,*LPDSBCAPS;
-typedef const DSBCAPS *LPCDSBCAPS;
-
-#define DSSCL_NORMAL 1
-#define DSSCL_PRIORITY 2
-#define DSSCL_EXCLUSIVE 3
-#define DSSCL_WRITEPRIMARY 4
-
-typedef struct _DSEFFECTDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- GUID guidDSFXClass;
- DWORD_PTR dwReserved1;
- DWORD_PTR dwReserved2;
-} DSEFFECTDESC,*LPDSEFFECTDESC;
-typedef const DSEFFECTDESC *LPCDSEFFECTDESC;
-
-#define DSFX_LOCHARDWARE 0x00000001
-#define DSFX_LOCSOFTWARE 0x00000002
-
-enum
-{
- DSFXR_PRESENT,
- DSFXR_LOCHARDWARE,
- DSFXR_LOCSOFTWARE,
- DSFXR_UNALLOCATED,
- DSFXR_FAILED,
- DSFXR_UNKNOWN,
- DSFXR_SENDLOOP
-};
-
-typedef struct _DSBUFFERDESC1
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
-} DSBUFFERDESC1,*LPDSBUFFERDESC1;
-typedef const DSBUFFERDESC1 *LPCDSBUFFERDESC1;
-
-typedef struct _DSBUFFERDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
- GUID guid3DAlgorithm;
-} DSBUFFERDESC,*LPDSBUFFERDESC;
-typedef const DSBUFFERDESC *LPCDSBUFFERDESC;
-
-typedef struct _DSBPOSITIONNOTIFY
-{
- DWORD dwOffset;
- HANDLE hEventNotify;
-} DSBPOSITIONNOTIFY,*LPDSBPOSITIONNOTIFY;
-typedef const DSBPOSITIONNOTIFY *LPCDSBPOSITIONNOTIFY;
-
-#define DSSPEAKER_HEADPHONE 1
-#define DSSPEAKER_MONO 2
-#define DSSPEAKER_QUAD 3
-#define DSSPEAKER_STEREO 4
-#define DSSPEAKER_SURROUND 5
-#define DSSPEAKER_5POINT1 6
-#define DSSPEAKER_7POINT1 7
-
-#define DSSPEAKER_GEOMETRY_MIN 0x00000005 /* 5 degrees */
-#define DSSPEAKER_GEOMETRY_NARROW 0x0000000A /* 10 degrees */
-#define DSSPEAKER_GEOMETRY_WIDE 0x00000014 /* 20 degrees */
-#define DSSPEAKER_GEOMETRY_MAX 0x000000B4 /* 180 degrees */
-
-#define DSSPEAKER_COMBINED(c, g) ((DWORD)(((BYTE)(c)) | ((DWORD)((BYTE)(g))) << 16))
-#define DSSPEAKER_CONFIG(a) ((BYTE)(a))
-#define DSSPEAKER_GEOMETRY(a) ((BYTE)(((DWORD)(a) >> 16) & 0x00FF))
-
-#define DS_CERTIFIED 0x00000000
-#define DS_UNCERTIFIED 0x00000001
-
-typedef struct _DSCEFFECTDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- GUID guidDSCFXClass;
- GUID guidDSCFXInstance;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} DSCEFFECTDESC, *LPDSCEFFECTDESC;
-typedef const DSCEFFECTDESC *LPCDSCEFFECTDESC;
-
-#define DSCFX_LOCHARDWARE 0x00000001
-#define DSCFX_LOCSOFTWARE 0x00000002
-
-#define DSCFXR_LOCHARDWARE 0x00000010
-#define DSCFXR_LOCSOFTWARE 0x00000020
-
-typedef struct _DSCBUFFERDESC1
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
-} DSCBUFFERDESC1, *LPDSCBUFFERDESC1;
-
-typedef struct _DSCBUFFERDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
- DWORD dwFXCount;
- LPDSCEFFECTDESC lpDSCFXDesc;
-} DSCBUFFERDESC, *LPDSCBUFFERDESC;
-typedef const DSCBUFFERDESC *LPCDSCBUFFERDESC;
-
-typedef struct _DSCCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwFormats;
- DWORD dwChannels;
-} DSCCAPS, *LPDSCCAPS;
-typedef const DSCCAPS *LPCDSCCAPS;
-
-typedef struct _DSCBCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
-} DSCBCAPS, *LPDSCBCAPS;
-typedef const DSCBCAPS *LPCDSCBCAPS;
-
-#define DSCCAPS_EMULDRIVER DSCAPS_EMULDRIVER
-#define DSCCAPS_CERTIFIED DSCAPS_CERTIFIED
-#define DSCCAPS_MULTIPLECAPTURE 0x00000001
-
-#define DSCBCAPS_WAVEMAPPED 0x80000000
-#define DSCBCAPS_CTRLFX 0x00000200
-
-#define DSCBLOCK_ENTIREBUFFER 0x00000001
-#define DSCBSTART_LOOPING 0x00000001
-#define DSCBPN_OFFSET_STOP 0xffffffff
-
-#define DSCBSTATUS_CAPTURING 0x00000001
-#define DSCBSTATUS_LOOPING 0x00000002
-
-#ifndef __LPCGUID_DEFINED__
-#define __LPCGUID_DEFINED__
-typedef const GUID *LPCGUID;
-#endif
-
-typedef BOOL (CALLBACK *LPDSENUMCALLBACKW)(LPGUID,LPCWSTR,LPCWSTR,LPVOID);
-typedef BOOL (CALLBACK *LPDSENUMCALLBACKA)(LPGUID,LPCSTR,LPCSTR,LPVOID);
-DECL_WINELIB_TYPE_AW(LPDSENUMCALLBACK)
-
-extern HRESULT WINAPI DirectSoundCreate(LPCGUID lpGUID,LPDIRECTSOUND *ppDS,LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundEnumerateA(LPDSENUMCALLBACKA, LPVOID);
-extern HRESULT WINAPI DirectSoundEnumerateW(LPDSENUMCALLBACKW, LPVOID);
-#define DirectSoundEnumerate WINELIB_NAME_AW(DirectSoundEnumerate)
-extern HRESULT WINAPI DirectSoundCaptureCreate(LPCGUID lpGUID, LPDIRECTSOUNDCAPTURE *ppDSC, LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundCaptureEnumerateA(LPDSENUMCALLBACKA, LPVOID);
-extern HRESULT WINAPI DirectSoundCaptureEnumerateW(LPDSENUMCALLBACKW, LPVOID);
-#define DirectSoundCaptureEnumerate WINELIB_NAME_AW(DirectSoundCaptureEnumerate)
-
-extern HRESULT WINAPI DirectSoundCreate8(LPCGUID lpGUID,LPDIRECTSOUND8 *ppDS8,LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundCaptureCreate8(LPCGUID lpGUID, LPDIRECTSOUNDCAPTURE8 *ppDSC8, LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundFullDuplexCreate(LPCGUID pcGuidCaptureDevice, LPCGUID pcGuidRenderDevice,
- LPCDSCBUFFERDESC pcDSCBufferDesc, LPCDSBUFFERDESC pcDSBufferDesc, HWND hWnd, DWORD dwLevel,
- LPDIRECTSOUNDFULLDUPLEX *ppDSFD, LPDIRECTSOUNDCAPTUREBUFFER8 *ppDSCBuffer8, LPDIRECTSOUNDBUFFER8 *ppDSBuffer8, LPUNKNOWN pUnkOuter);
-#define DirectSoundFullDuplexCreate8 DirectSoundFullDuplexCreate
-extern HRESULT WINAPI GetDeviceID(LPCGUID lpGuidSrc, LPGUID lpGuidDest);
-
-
-/*****************************************************************************
- * IDirectSound interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectSound
-DECLARE_INTERFACE_(IDirectSound,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSound methods ***/
- STDMETHOD(CreateSoundBuffer)(THIS_ LPCDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE;
- STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE;
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE;
- STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE;
- STDMETHOD(Initialize)(THIS_ LPCGUID lpcGuid) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSound_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSound_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSound_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSound methods ***/
-#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c)
-#define IDirectSound_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
-#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
-#define IDirectSound_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectSound_GetSpeakerConfig(p,a) (p)->lpVtbl->GetSpeakerConfig(p,a)
-#define IDirectSound_SetSpeakerConfig(p,a) (p)->lpVtbl->SetSpeakerConfig(p,a)
-#define IDirectSound_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirectSound_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSound_AddRef(p) (p)->AddRef()
-#define IDirectSound_Release(p) (p)->Release()
-/*** IDirectSound methods ***/
-#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->CreateSoundBuffer(a,b,c)
-#define IDirectSound_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->DuplicateSoundBuffer(a,b)
-#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
-#define IDirectSound_Compact(p) (p)->Compact()
-#define IDirectSound_GetSpeakerConfig(p,a) (p)->GetSpeakerConfig(a)
-#define IDirectSound_SetSpeakerConfig(p,a) (p)->SetSpeakerConfig(a)
-#define IDirectSound_Initialize(p,a) (p)->Initialize(a)
-#endif
-
-
-/*****************************************************************************
- * IDirectSound8 interface
- */
-#define INTERFACE IDirectSound8
-DECLARE_INTERFACE_(IDirectSound8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSound8 methods ***/
- STDMETHOD(CreateSoundBuffer)(THIS_ LPCDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE;
- STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE;
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE;
- STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE;
- STDMETHOD(Initialize)(THIS_ LPCGUID lpcGuid) PURE;
- STDMETHOD(VerifyCertification)(THIS_ LPDWORD pdwCertified) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSound8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSound8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSound8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSound methods ***/
-#define IDirectSound8_CreateSoundBuffer(p,a,b,c) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c)
-#define IDirectSound8_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSound8_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
-#define IDirectSound8_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
-#define IDirectSound8_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectSound8_GetSpeakerConfig(p,a) (p)->lpVtbl->GetSpeakerConfig(p,a)
-#define IDirectSound8_SetSpeakerConfig(p,a) (p)->lpVtbl->SetSpeakerConfig(p,a)
-#define IDirectSound8_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-/*** IDirectSound8 methods ***/
-#define IDirectSound8_VerifyCertification(p,a) (p)->lpVtbl->VerifyCertification(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirectSound8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSound8_AddRef(p) (p)->AddRef()
-#define IDirectSound8_Release(p) (p)->Release()
-/*** IDirectSound methods ***/
-#define IDirectSound8_CreateSoundBuffer(p,a,b,c) (p)->CreateSoundBuffer(a,b,c)
-#define IDirectSound8_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSound8_DuplicateSoundBuffer(p,a,b) (p)->DuplicateSoundBuffer(a,b)
-#define IDirectSound8_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
-#define IDirectSound8_Compact(p) (p)->Compact()
-#define IDirectSound8_GetSpeakerConfig(p,a) (p)->GetSpeakerConfig(a)
-#define IDirectSound8_SetSpeakerConfig(p,a) (p)->SetSpeakerConfig(a)
-#define IDirectSound8_Initialize(p,a) (p)->Initialize(a)
-/*** IDirectSound8 methods ***/
-#define IDirectSound8_VerifyCertification(p,a) (p)->VerifyCertification(a)
-#endif
-
-
-/*****************************************************************************
- * IDirectSoundBuffer interface
- */
-#define INTERFACE IDirectSoundBuffer
-DECLARE_INTERFACE_(IDirectSoundBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundBuffer methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE;
- STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE;
- STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE;
- STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE;
- STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE;
- STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE;
- STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND lpDirectSound, LPCDSBUFFERDESC lpcDSBufferDesc) PURE;
- STDMETHOD(Lock)(THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1, LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE;
- STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE;
- STDMETHOD(SetFormat)(THIS_ LPCWAVEFORMATEX lpcfxFormat) PURE;
- STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE;
- STDMETHOD(SetPan)(THIS_ LONG lPan) PURE;
- STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioPtr2) PURE;
- STDMETHOD(Restore)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundBuffer methods ***/
-#define IDirectSoundBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundBuffer_GetVolume(p,a) (p)->lpVtbl->GetVolume(p,a)
-#define IDirectSoundBuffer_GetPan(p,a) (p)->lpVtbl->GetPan(p,a)
-#define IDirectSoundBuffer_GetFrequency(p,a) (p)->lpVtbl->GetFrequency(p,a)
-#define IDirectSoundBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundBuffer_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
-#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->lpVtbl->SetCurrentPosition(p,a)
-#define IDirectSoundBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
-#define IDirectSoundBuffer_SetVolume(p,a) (p)->lpVtbl->SetVolume(p,a)
-#define IDirectSoundBuffer_SetPan(p,a) (p)->lpVtbl->SetPan(p,a)
-#define IDirectSoundBuffer_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
-#define IDirectSoundBuffer_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-#define IDirectSoundBuffer_Restore(p) (p)->lpVtbl->Restore(p)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundBuffer_AddRef(p) (p)->AddRef()
-#define IDirectSoundBuffer_Release(p) (p)->Release()
-/*** IDirectSoundBuffer methods ***/
-#define IDirectSoundBuffer_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundBuffer_GetVolume(p,a) (p)->GetVolume(a)
-#define IDirectSoundBuffer_GetPan(p,a) (p)->GetPan(a)
-#define IDirectSoundBuffer_GetFrequency(p,a) (p)->GetFrequency(a)
-#define IDirectSoundBuffer_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundBuffer_Play(p,a,b,c) (p)->Play(a,b,c)
-#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->SetCurrentPosition(a)
-#define IDirectSoundBuffer_SetFormat(p,a) (p)->SetFormat(a)
-#define IDirectSoundBuffer_SetVolume(p,a) (p)->SetVolume(a)
-#define IDirectSoundBuffer_SetPan(p,a) (p)->SetPan(a)
-#define IDirectSoundBuffer_SetFrequency(p,a) (p)->SetFrequency(a)
-#define IDirectSoundBuffer_Stop(p) (p)->Stop()
-#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-#define IDirectSoundBuffer_Restore(p) (p)->Restore()
-#endif
-
-
-/*****************************************************************************
- * IDirectSoundBuffer8 interface
- */
-#define INTERFACE IDirectSoundBuffer8
-DECLARE_INTERFACE_(IDirectSoundBuffer8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundBuffer8 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE;
- STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE;
- STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE;
- STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE;
- STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE;
- STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE;
- STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND lpDirectSound, LPCDSBUFFERDESC lpcDSBufferDesc) PURE;
- STDMETHOD(Lock)(THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1, LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE;
- STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE;
- STDMETHOD(SetFormat)(THIS_ LPCWAVEFORMATEX lpcfxFormat) PURE;
- STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE;
- STDMETHOD(SetPan)(THIS_ LONG lPan) PURE;
- STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioPtr2) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetFX)(THIS_ DWORD dwEffectsCount, LPDSEFFECTDESC pDSFXDesc, LPDWORD pdwResultCodes) PURE;
- STDMETHOD(AcquireResources)(THIS_ DWORD dwFlags, DWORD dwEffectsCount, LPDWORD pdwResultCodes) PURE;
- STDMETHOD(GetObjectInPath)(THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundBuffer8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundBuffer methods ***/
-#define IDirectSoundBuffer8_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundBuffer8_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundBuffer8_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundBuffer8_GetVolume(p,a) (p)->lpVtbl->GetVolume(p,a)
-#define IDirectSoundBuffer8_GetPan(p,a) (p)->lpVtbl->GetPan(p,a)
-#define IDirectSoundBuffer8_GetFrequency(p,a) (p)->lpVtbl->GetFrequency(p,a)
-#define IDirectSoundBuffer8_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundBuffer8_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundBuffer8_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
-#define IDirectSoundBuffer8_SetCurrentPosition(p,a) (p)->lpVtbl->SetCurrentPosition(p,a)
-#define IDirectSoundBuffer8_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
-#define IDirectSoundBuffer8_SetVolume(p,a) (p)->lpVtbl->SetVolume(p,a)
-#define IDirectSoundBuffer8_SetPan(p,a) (p)->lpVtbl->SetPan(p,a)
-#define IDirectSoundBuffer8_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
-#define IDirectSoundBuffer8_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundBuffer8_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-#define IDirectSoundBuffer8_Restore(p) (p)->lpVtbl->Restore(p)
-/*** IDirectSoundBuffer8 methods ***/
-#define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->lpVtbl->SetFX(p,a,b,c)
-#define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->lpVtbl->AcquireResources(p,a,b,c)
-#define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundBuffer8_AddRef(p) (p)->AddRef()
-#define IDirectSoundBuffer8_Release(p) (p)->Release()
-/*** IDirectSoundBuffer methods ***/
-#define IDirectSoundBuffer8_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundBuffer8_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundBuffer8_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundBuffer8_GetVolume(p,a) (p)->GetVolume(a)
-#define IDirectSoundBuffer8_GetPan(p,a) (p)->GetPan(a)
-#define IDirectSoundBuffer8_GetFrequency(p,a) (p)->GetFrequency(a)
-#define IDirectSoundBuffer8_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundBuffer8_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundBuffer8_Play(p,a,b,c) (p)->Play(a,b,c)
-#define IDirectSoundBuffer8_SetCurrentPosition(p,a) (p)->SetCurrentPosition(a)
-#define IDirectSoundBuffer8_SetFormat(p,a) (p)->SetFormat(a)
-#define IDirectSoundBuffer8_SetVolume(p,a) (p)->SetVolume(a)
-#define IDirectSoundBuffer8_SetPan(p,a) (p)->SetPan(a)
-#define IDirectSoundBuffer8_SetFrequency(p,a) (p)->SetFrequency(a)
-#define IDirectSoundBuffer8_Stop(p) (p)->Stop()
-#define IDirectSoundBuffer8_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-#define IDirectSoundBuffer8_Restore(p) (p)->Restore()
-/*** IDirectSoundBuffer8 methods ***/
-#define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->SetFX(a,b,c)
-#define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->AcquireResources(a,b,c)
-#define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
-#endif
-
-
-/*****************************************************************************
- * IDirectSoundCapture interface
- */
-#define INTERFACE IDirectSoundCapture
-DECLARE_INTERFACE_(IDirectSoundCapture,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundCapture methods ***/
- STDMETHOD(CreateCaptureBuffer)(THIS_ LPCDSCBUFFERDESC lpcDSCBufferDesc,LPDIRECTSOUNDCAPTUREBUFFER *lplpDSCaptureBuffer, LPUNKNOWN pUnk) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDSCCAPS lpDSCCaps) PURE;
- STDMETHOD(Initialize)(THIS_ LPCGUID lpcGUID) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundCapture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundCapture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundCapture_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundCapture methods ***/
-#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->lpVtbl->CreateCaptureBuffer(p,a,b,c)
-#define IDirectSoundCapture_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundCapture_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundCapture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundCapture_AddRef(p) (p)->AddRef()
-#define IDirectSoundCapture_Release(p) (p)->Release()
-/*** IDirectSoundCapture methods ***/
-#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->CreateCaptureBuffer(a,b,c)
-#define IDirectSoundCapture_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundCapture_Initialize(p,a) (p)->Initialize(a)
-#endif
-
-/*****************************************************************************
- * IDirectSoundCaptureBuffer interface
- */
-#define INTERFACE IDirectSoundCaptureBuffer
-DECLARE_INTERFACE_(IDirectSoundCaptureBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundCaptureBuffer methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDSCBCAPS lpDSCBCaps) PURE;
- STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCapturePosition,LPDWORD lpdwReadPosition) PURE;
- STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE;
- STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTSOUNDCAPTURE lpDSC, LPCDSCBUFFERDESC lpcDSCBDesc) PURE;
- STDMETHOD(Lock)(THIS_ DWORD dwReadCusor, DWORD dwReadBytes, LPVOID *lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID *lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioBytes2) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundCaptureBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundCaptureBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundCaptureBuffer methods ***/
-#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer_Start(p,a) (p)->lpVtbl->Start(p,a)
-#define IDirectSoundCaptureBuffer_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundCaptureBuffer_AddRef(p) (p)->AddRef()
-#define IDirectSoundCaptureBuffer_Release(p) (p)->Release()
-/*** IDirectSoundCaptureBuffer methods ***/
-#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer_Start(p,a) (p)->Start(a)
-#define IDirectSoundCaptureBuffer_Stop(p) (p)->Stop()
-#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-#endif
-
-/*****************************************************************************
- * IDirectSoundCaptureBuffer8 interface
- */
-#define INTERFACE IDirectSoundCaptureBuffer8
-DECLARE_INTERFACE_(IDirectSoundCaptureBuffer8,IDirectSoundCaptureBuffer)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundCaptureBuffer methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDSCBCAPS lpDSCBCaps) PURE;
- STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCapturePosition,LPDWORD lpdwReadPosition) PURE;
- STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE;
- STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTSOUNDCAPTURE lpDSC, LPCDSCBUFFERDESC lpcDSCBDesc) PURE;
- STDMETHOD(Lock)(THIS_ DWORD dwReadCusor, DWORD dwReadBytes, LPVOID *lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID *lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioBytes2) PURE;
- /*** IDirectSoundCaptureBuffer8 methods ***/
- STDMETHOD(GetObjectInPath)(THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
- STDMETHOD(GetFXStatus)(THIS_ DWORD dwFXCount, LPDWORD pdwFXStatus) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundCaptureBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundCaptureBuffer8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundCaptureBuffer methods ***/
-#define IDirectSoundCaptureBuffer8_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundCaptureBuffer8_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundCaptureBuffer8_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundCaptureBuffer8_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundCaptureBuffer8_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundCaptureBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer8_Start(p,a) (p)->lpVtbl->Start(p,a)
-#define IDirectSoundCaptureBuffer8_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundCaptureBuffer8_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-/*** IDirectSoundCaptureBuffer8 methods ***/
-#define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
-#define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->lpVtbl->GetFXStatus(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundCaptureBuffer8_AddRef(p) (p)->AddRef()
-#define IDirectSoundCaptureBuffer8_Release(p) (p)->Release()
-/*** IDirectSoundCaptureBuffer methods ***/
-#define IDirectSoundCaptureBuffer8_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundCaptureBuffer8_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundCaptureBuffer8_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundCaptureBuffer8_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundCaptureBuffer8_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundCaptureBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer8_Start(p,a) (p)->Start(a)
-#define IDirectSoundCaptureBuffer8_Stop(p) (p)->Stop()
-#define IDirectSoundCaptureBuffer8_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-/*** IDirectSoundCaptureBuffer8 methods ***/
-#define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
-#define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->GetFXStatus(a,b)
-#endif
-
-/*****************************************************************************
- * IDirectSoundNotify interface
- */
-#define WINE_NOBUFFER 0x80000000
-
-#define DSBPN_OFFSETSTOP -1
-
-#define DSBNOTIFICATIONS_MAX 100000UL
-
-#define INTERFACE IDirectSoundNotify
-DECLARE_INTERFACE_(IDirectSoundNotify,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundNotify methods ***/
- STDMETHOD(SetNotificationPositions)(THIS_ DWORD cPositionNotifies, LPCDSBPOSITIONNOTIFY lpcPositionNotifies) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundNotify_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundNotify methods ***/
-#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->lpVtbl->SetNotificationPositions(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundNotify_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundNotify_AddRef(p) (p)->AddRef()
-#define IDirectSoundNotify_Release(p) (p)->Release()
-/*** IDirectSoundNotify methods ***/
-#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->SetNotificationPositions(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirectSound3DListener interface
- */
-#define DS3DMODE_NORMAL 0x00000000
-#define DS3DMODE_HEADRELATIVE 0x00000001
-#define DS3DMODE_DISABLE 0x00000002
-
-#define DS3D_IMMEDIATE 0x00000000
-#define DS3D_DEFERRED 0x00000001
-
-#define DS3D_MINDISTANCEFACTOR FLT_MIN
-#define DS3D_MAXDISTANCEFACTOR FLT_MAX
-#define DS3D_DEFAULTDISTANCEFACTOR 1.0f
-
-#define DS3D_MINROLLOFFFACTOR 0.0f
-#define DS3D_MAXROLLOFFFACTOR 10.0f
-#define DS3D_DEFAULTROLLOFFFACTOR 1.0f
-
-#define DS3D_MINDOPPLERFACTOR 0.0f
-#define DS3D_MAXDOPPLERFACTOR 10.0f
-#define DS3D_DEFAULTDOPPLERFACTOR 1.0f
-
-#define DS3D_DEFAULTMINDISTANCE 1.0f
-#define DS3D_DEFAULTMAXDISTANCE 1000000000.0f
-
-#define DS3D_MINCONEANGLE 0
-#define DS3D_MAXCONEANGLE 360
-#define DS3D_DEFAULTCONEANGLE 360
-
-#define DS3D_DEFAULTCONEOUTSIDEVOLUME DSBVOLUME_MAX
-
-typedef struct _DS3DLISTENER {
- DWORD dwSize;
- D3DVECTOR vPosition;
- D3DVECTOR vVelocity;
- D3DVECTOR vOrientFront;
- D3DVECTOR vOrientTop;
- D3DVALUE flDistanceFactor;
- D3DVALUE flRolloffFactor;
- D3DVALUE flDopplerFactor;
-} DS3DLISTENER, *LPDS3DLISTENER;
-
-typedef const DS3DLISTENER *LPCDS3DLISTENER;
-
-#define INTERFACE IDirectSound3DListener
-DECLARE_INTERFACE_(IDirectSound3DListener,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSound3DListener methods ***/
- STDMETHOD(GetAllParameters)(THIS_ LPDS3DLISTENER lpListener) PURE;
- STDMETHOD(GetDistanceFactor)(THIS_ LPD3DVALUE lpflDistanceFactor) PURE;
- STDMETHOD(GetDopplerFactor)(THIS_ LPD3DVALUE lpflDopplerFactor) PURE;
- STDMETHOD(GetOrientation)(THIS_ LPD3DVECTOR lpvOrientFront, LPD3DVECTOR lpvOrientTop) PURE;
- STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE;
- STDMETHOD(GetRolloffFactor)(THIS_ LPD3DVALUE lpflRolloffFactor) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE;
- STDMETHOD(SetAllParameters)(THIS_ LPCDS3DLISTENER lpcListener, DWORD dwApply) PURE;
- STDMETHOD(SetDistanceFactor)(THIS_ D3DVALUE flDistanceFactor, DWORD dwApply) PURE;
- STDMETHOD(SetDopplerFactor)(THIS_ D3DVALUE flDopplerFactor, DWORD dwApply) PURE;
- STDMETHOD(SetOrientation)(THIS_ D3DVALUE xFront, D3DVALUE yFront, D3DVALUE zFront, D3DVALUE xTop, D3DVALUE yTop, D3DVALUE zTop, DWORD dwApply) PURE;
- STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(SetRolloffFactor)(THIS_ D3DVALUE flRolloffFactor, DWORD dwApply) PURE;
- STDMETHOD(SetVelocity)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(CommitDeferredSettings)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSound3DListener_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSound3DListener_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSound3DListener_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSound3DListener methods ***/
-#define IDirectSound3DListener_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->lpVtbl->GetDistanceFactor(p,a)
-#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->lpVtbl->GetDopplerFactor(p,a)
-#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->lpVtbl->GetOrientation(p,a,b)
-#define IDirectSound3DListener_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
-#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->lpVtbl->GetRolloffFactor(p,a)
-#define IDirectSound3DListener_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
-#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
-#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->lpVtbl->SetDistanceFactor(p,a,b)
-#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->lpVtbl->SetDopplerFactor(p,a,b)
-#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
-#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->lpVtbl->SetRolloffFactor(p,a,b)
-#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
-#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->lpVtbl->CommitDeferredSettings(p)
-#else
-/*** IUnknown methods ***/
-#define IDirectSound3DListener_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSound3DListener_AddRef(p) (p)->AddRef()
-#define IDirectSound3DListener_Release(p) (p)->Release()
-/*** IDirectSound3DListener methods ***/
-#define IDirectSound3DListener_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->GetDistanceFactor(a)
-#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->GetDopplerFactor(a)
-#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->GetOrientation(a,b)
-#define IDirectSound3DListener_GetPosition(p,a) (p)->GetPosition(a)
-#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->GetRolloffFactor(a)
-#define IDirectSound3DListener_GetVelocity(p,a) (p)->GetVelocity(a)
-#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
-#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->SetDistanceFactor(a,b)
-#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->SetDopplerFactor(a,b)
-#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
-#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->SetRolloffFactor(a,b)
-#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
-#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->CommitDeferredSettings()
-#endif
-
-
-/*****************************************************************************
- * IDirectSound3DBuffer interface
- */
-typedef struct _DS3DBUFFER {
- DWORD dwSize;
- D3DVECTOR vPosition;
- D3DVECTOR vVelocity;
- DWORD dwInsideConeAngle;
- DWORD dwOutsideConeAngle;
- D3DVECTOR vConeOrientation;
- LONG lConeOutsideVolume;
- D3DVALUE flMinDistance;
- D3DVALUE flMaxDistance;
- DWORD dwMode;
-} DS3DBUFFER, *LPDS3DBUFFER;
-
-typedef const DS3DBUFFER *LPCDS3DBUFFER;
-
-#define INTERFACE IDirectSound3DBuffer
-DECLARE_INTERFACE_(IDirectSound3DBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSound3DBuffer methods ***/
- STDMETHOD(GetAllParameters)(THIS_ LPDS3DBUFFER lpDs3dBuffer) PURE;
- STDMETHOD(GetConeAngles)(THIS_ LPDWORD lpdwInsideConeAngle, LPDWORD lpdwOutsideConeAngle) PURE;
- STDMETHOD(GetConeOrientation)(THIS_ LPD3DVECTOR lpvOrientation) PURE;
- STDMETHOD(GetConeOutsideVolume)(THIS_ LPLONG lplConeOutsideVolume) PURE;
- STDMETHOD(GetMaxDistance)(THIS_ LPD3DVALUE lpflMaxDistance) PURE;
- STDMETHOD(GetMinDistance)(THIS_ LPD3DVALUE lpflMinDistance) PURE;
- STDMETHOD(GetMode)(THIS_ LPDWORD lpwdMode) PURE;
- STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE;
- STDMETHOD(SetAllParameters)(THIS_ LPCDS3DBUFFER lpcDs3dBuffer, DWORD dwApply) PURE;
- STDMETHOD(SetConeAngles)(THIS_ DWORD dwInsideConeAngle, DWORD dwOutsideConeAngle, DWORD dwApply) PURE;
- STDMETHOD(SetConeOrientation)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(SetConeOutsideVolume)(THIS_ LONG lConeOutsideVolume, DWORD dwApply) PURE;
- STDMETHOD(SetMaxDistance)(THIS_ D3DVALUE flMaxDistance, DWORD dwApply) PURE;
- STDMETHOD(SetMinDistance)(THIS_ D3DVALUE flMinDistance, DWORD dwApply) PURE;
- STDMETHOD(SetMode)(THIS_ DWORD dwMode, DWORD dwApply) PURE;
- STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(SetVelocity)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSound3DBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSound3DBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSound3DBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSound3DBuffer methods ***/
-#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->lpVtbl->GetConeAngles(p,a,b)
-#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->lpVtbl->GetConeOrientation(p,a)
-#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->lpVtbl->GetConeOutsideVolume(p,a)
-#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->lpVtbl->GetMaxDistance(p,a)
-#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->lpVtbl->GetMinDistance(p,a)
-#define IDirectSound3DBuffer_GetMode(p,a) (p)->lpVtbl->GetMode(p,a)
-#define IDirectSound3DBuffer_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
-#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
-#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
-#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->lpVtbl->SetConeAngles(p,a,b,c)
-#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->lpVtbl->SetConeOrientation(p,a,b,c,d)
-#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->lpVtbl->SetConeOutsideVolume(p,a,b)
-#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->lpVtbl->SetMaxDistance(p,a,b)
-#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->lpVtbl->SetMinDistance(p,a,b)
-#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->lpVtbl->SetMode(p,a,b)
-#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
-#else
-/*** IUnknown methods ***/
-#define IDirectSound3DBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSound3DBuffer_AddRef(p) (p)->AddRef()
-#define IDirectSound3DBuffer_Release(p) (p)->Release()
-/*** IDirectSound3DBuffer methods ***/
-#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->GetConeAngles(a,b)
-#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->GetConeOrientation(a)
-#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->GetConeOutsideVolume(a)
-#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->GetMaxDistance(a)
-#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->GetMinDistance(a)
-#define IDirectSound3DBuffer_GetMode(p,a) (p)->GetMode(a)
-#define IDirectSound3DBuffer_GetPosition(p,a) (p)->GetPosition(a)
-#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->GetVelocity(a)
-#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
-#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->SetConeAngles(a,b,c)
-#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->SetConeOrientation(a,b,c,d)
-#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->SetConeOutsideVolume(a,b)
-#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->SetMaxDistance(a,b)
-#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->SetMinDistance(a,b)
-#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->SetMode(a,b)
-#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
-#endif
-
-/*****************************************************************************
- * IKsPropertySet interface
- */
-#ifndef _IKsPropertySet_
-#define _IKsPropertySet_
-
-typedef struct IKsPropertySet *LPKSPROPERTYSET;
-
-DEFINE_GUID(IID_IKsPropertySet,0x31EFAC30,0x515C,0x11D0,0xA9,0xAA,0x00,0xAA,0x00,0x61,0xBE,0x93);
-
-#define KSPROPERTY_SUPPORT_GET 1
-#define KSPROPERTY_SUPPORT_SET 2
-
-#define INTERFACE IKsPropertySet
-DECLARE_INTERFACE_(IKsPropertySet,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IKsPropertySet methods ***/
- STDMETHOD(Get)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3,ULONG *px4) PURE;
- STDMETHOD(Set)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3) PURE;
- STDMETHOD(QuerySupport)(THIS_ REFGUID rgid,ULONG x1,ULONG *px2) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IKsPropertySet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IKsPropertySet_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IKsPropertySet_Release(p) (p)->lpVtbl->Release(p)
-/*** IKsPropertySet methods ***/
-#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->lpVtbl->Get(p,a,b,c,d,e,f,g)
-#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->lpVtbl->Set(p,a,b,c,d,e,f)
-#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->lpVtbl->QuerySupport(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IKsPropertySet_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IKsPropertySet_AddRef(p) (p)->AddRef()
-#define IKsPropertySet_Release(p) (p)->Release()
-/*** IKsPropertySet methods ***/
-#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->Get(a,b,c,d,e,f,g)
-#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->Set(a,b,c,d,e,f)
-#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->QuerySupport(a,b,c)
-#endif
-
-#endif /* _IKsPropertySet_ */
-
-/*****************************************************************************
- * IDirectSoundFullDuplex interface
- */
-#define INTERFACE IDirectSoundFullDuplex
-DECLARE_INTERFACE_(IDirectSoundFullDuplex,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundFullDuplex methods ***/
- STDMETHOD(Initialize)(THIS_ LPCGUID pCaptureGuid,LPCGUID pRendererGuid,LPCDSCBUFFERDESC lpDscBufferDesc,LPCDSBUFFERDESC lpDsBufferDesc,HWND hWnd,DWORD dwLevel,LPLPDIRECTSOUNDCAPTUREBUFFER8 lplpDirectSoundCaptureBuffer8,LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer8) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundFullDuplex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundFullDuplex_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundFullDuplex_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundFullDuplex methods ***/
-#define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Initialize(p,a,b,c,d,e,f,g,h)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundFullDuplex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundFullDuplex_AddRef(p) (p)->AddRef()
-#define IDirectSoundFullDuplex_Release(p) (p)->Release()
-/*** IDirectSoundFullDuplex methods ***/
-#define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->Initialize(a,b,c,d,e,f,g,h)
-#endif
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* defined(__cplusplus) */
-
-#endif /* __WINE_DSOUND_H */
+++ /dev/null
-/*++
-
-Copyright (c) Microsoft Corporation. All rights reserved.
-
-Module Name:
- wspiapi.h
-
-Abstract:
- The file contains protocol independent API functions.
-
-Revision History:
- Wed Jul 12 10:50:31 2000, Created
-
---*/
-
-#ifndef _WSPIAPI_H_
-#define _WSPIAPI_H_
-
-#pragma once
-
-#if (NTDDI_VERSION >= NTDDI_WIN2K)
-
-#include <stdio.h> // sprintf()
-#include <stdlib.h> // calloc(), strtoul()
-#include <malloc.h> // calloc()
-#include <string.h> // strlen(), strcmp(), strstr()
-
-#if defined(__GOT_SECURE_LIB__) && __GOT_SECURE_LIB__ >= 200402L
-
-#define _WSPIAPI_STRCPY_S strcpy_s
-#define _WSPIAPI_STRCAT_S strcat_s
-#define _WSPIAPI_STRNCPY_S strncpy_s
-#define _WSPIAPI_SPRINTF_S_1 sprintf_s
-
-#else
-
-#define _WSPIAPI_STRCPY_S(_Dst, _Size, _Src) strcpy((_Dst), (_Src))
-#define _WSPIAPI_STRCAT_S(_Dst, _Size, _Src) strcat((_Dst), (_Src))
-#define _WSPIAPI_STRNCPY_S(_Dst, _Size, _Src, _Count) strncpy((_Dst), (_Src), (_Count)); (_Dst)[(_Size) - 1] = 0
-#define _WSPIAPI_SPRINTF_S_1(_Dst, _Size, _Format, _Arg1) sprintf((_Dst), (_Format), (_Arg1))
-
-#endif // defined(__GOT_SECURE_LIB__) && __GOT_SECURE_LIB__ >= 200402L
-
-#if !defined(_WSPIAPI_COUNTOF)
-#if !defined(__cplusplus)
-#define _WSPIAPI_COUNTOF(_Array) (sizeof(_Array) / sizeof(_Array[0]))
-#else
-template <typename __CountofType, size_t _N>
-char (&__wspiapi_countof_helper(__CountofType (&_Array)[_N]))[_N];
-#define _WSPIAPI_COUNTOF(_Array) sizeof(__wspiapi_countof_helper(_Array))
-#endif
-#endif
-
-#define WspiapiMalloc(tSize) calloc(1, (tSize))
-#define WspiapiFree(p) free(p)
-#define WspiapiSwap(a, b, c) { (c) = (a); (a) = (b); (b) = (c); }
-#define getaddrinfo WspiapiGetAddrInfo
-#define getnameinfo WspiapiGetNameInfo
-#define freeaddrinfo WspiapiFreeAddrInfo
-
-//
-// These function pointers are also within the #if (NTDDI_VERSION >= WIN2K)
-// because they are used by the other functions defined in this file available
-// only on win2k and above.
-//
-typedef int (WINAPI *WSPIAPI_PGETADDRINFO) (
- IN const char *nodename,
- IN const char *servname,
- IN const struct addrinfo *hints,
- OUT struct addrinfo **res);
-
-typedef int (WINAPI *WSPIAPI_PGETNAMEINFO) (
- IN const struct sockaddr *sa,
- IN socklen_t salen,
- OUT char *host,
- IN size_t hostlen,
- OUT char *serv,
- IN size_t servlen,
- IN int flags);
-
-typedef void (WINAPI *WSPIAPI_PFREEADDRINFO) (
- IN struct addrinfo *ai);
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-////////////////////////////////////////////////////////////
-// v4 only versions of getaddrinfo and friends.
-// NOTE: gai_strerror is inlined in ws2tcpip.h
-////////////////////////////////////////////////////////////
-
-__inline
-char *
-WINAPI
-WspiapiStrdup (
- IN const char * pszString)
-/*++
-
-Routine Description
- allocates enough storage via calloc() for a copy of the string,
- copies the string into the new memory, and returns a pointer to it.
-
-Arguments
- pszString string to copy into new memory
-
-Return Value
- a pointer to the newly allocated storage with the string in it.
- NULL if enough memory could not be allocated, or string was NULL.
-
---*/
-{
- char *pszMemory;
- size_t cchMemory;
-
- if (!pszString)
- return(NULL);
-
- cchMemory = strlen(pszString) + 1;
- pszMemory = (char *) WspiapiMalloc(cchMemory);
- if (!pszMemory)
- return(NULL);
-
- _WSPIAPI_STRCPY_S(pszMemory, cchMemory, pszString);
- return pszMemory;
-}
-
-
-
-__inline
-BOOL
-WINAPI
-WspiapiParseV4Address (
- IN const char * pszAddress,
- OUT PDWORD pdwAddress)
-/*++
-
-Routine Description
- get the IPv4 address (in network byte order) from its string
- representation. the syntax should be a.b.c.d.
-
-Arguments
- pszArgument string representation of the IPv4 address
- ptAddress pointer to the resulting IPv4 address
-
-Return Value
- Returns FALSE if there is an error, TRUE for success.
-
---*/
-{
- DWORD dwAddress = 0;
- const char *pcNext = NULL;
- int iCount = 0;
-
- // ensure there are 3 '.' (periods)
- for (pcNext = pszAddress; *pcNext != '\0'; pcNext++)
- if (*pcNext == '.')
- iCount++;
- if (iCount != 3)
- return FALSE;
-
- // return an error if dwAddress is INADDR_NONE (255.255.255.255)
- // since this is never a valid argument to getaddrinfo.
- dwAddress = inet_addr(pszAddress);
- if (dwAddress == INADDR_NONE)
- return FALSE;
-
- *pdwAddress = dwAddress;
- return TRUE;
-}
-
-
-
-__inline
-struct addrinfo *
-WINAPI
-WspiapiNewAddrInfo (
- IN int iSocketType,
- IN int iProtocol,
- IN WORD wPort,
- IN DWORD dwAddress)
-/*++
-
-Routine Description
- allocate an addrinfo structure and populate fields.
- IPv4 specific internal function, not exported.
-
-Arguments
- iSocketType SOCK_*. can be wildcarded (zero).
- iProtocol IPPROTO_*. can be wildcarded (zero).
- wPort port number of service (in network order).
- dwAddress IPv4 address (in network order).
-
-Return Value
- returns an addrinfo struct, or NULL if out of memory.
-
---*/
-{
- struct addrinfo *ptNew;
- struct sockaddr_in *ptAddress;
-
- // allocate a new addrinfo structure.
- ptNew =
- (struct addrinfo *) WspiapiMalloc(sizeof(struct addrinfo));
- if (!ptNew)
- return NULL;
-
- ptAddress =
- (struct sockaddr_in *) WspiapiMalloc(sizeof(struct sockaddr_in));
- if (!ptAddress)
- {
- WspiapiFree(ptNew);
- return NULL;
- }
- ptAddress->sin_family = AF_INET;
- ptAddress->sin_port = wPort;
- ptAddress->sin_addr.s_addr = dwAddress;
-
- // fill in the fields...
- ptNew->ai_family = PF_INET;
- ptNew->ai_socktype = iSocketType;
- ptNew->ai_protocol = iProtocol;
- ptNew->ai_addrlen = sizeof(struct sockaddr_in);
- ptNew->ai_addr = (struct sockaddr *) ptAddress;
-
- return ptNew;
-}
-
-
-
-__inline
-int
-WINAPI
-WspiapiQueryDNS(
- IN const char *pszNodeName,
- IN int iSocketType,
- IN int iProtocol,
- IN WORD wPort,
- OUT char pszAlias[NI_MAXHOST],
- OUT struct addrinfo **pptResult)
-/*++
-
-Routine Description
- helper routine for WspiapiLookupNode.
- performs name resolution by querying the DNS for A records.
- *pptResult would need to be freed if an error is returned.
-
-Arguments
- pszNodeName name of node to resolve.
- iSocketType SOCK_*. can be wildcarded (zero).
- iProtocol IPPROTO_*. can be wildcarded (zero).
- wPort port number of service (in network order).
- pszAlias where to return the alias. must be of size NI_MAXHOST.
- pptResult where to return the result.
-
-Return Value
- Returns 0 on success, an EAI_* style error value otherwise.
-
---*/
-{
- struct addrinfo **pptNext = pptResult;
- struct hostent *ptHost = NULL;
- char **ppAddresses;
-
- *pptNext = NULL;
- pszAlias[0] = '\0';
-
- ptHost = gethostbyname(pszNodeName);
- if (ptHost)
- {
- if ((ptHost->h_addrtype == AF_INET) &&
- (ptHost->h_length == sizeof(struct in_addr)))
- {
- for (ppAddresses = ptHost->h_addr_list;
- *ppAddresses != NULL;
- ppAddresses++)
- {
- // create an addrinfo structure...
- *pptNext = WspiapiNewAddrInfo(
- iSocketType,
- iProtocol,
- wPort,
- ((struct in_addr *) *ppAddresses)->s_addr);
- if (!*pptNext)
- return EAI_MEMORY;
-
- pptNext = &((*pptNext)->ai_next);
- }
- }
-
- // pick up the canonical name.
- _WSPIAPI_STRNCPY_S(pszAlias, NI_MAXHOST, ptHost->h_name, NI_MAXHOST - 1);
-
- return 0;
- }
-
- switch (WSAGetLastError())
- {
- case WSAHOST_NOT_FOUND: return EAI_NONAME;
- case WSATRY_AGAIN: return EAI_AGAIN;
- case WSANO_RECOVERY: return EAI_FAIL;
- case WSANO_DATA: return EAI_NODATA;
- default: return EAI_NONAME;
- }
-}
-
-
-
-__inline
-int
-WINAPI
-WspiapiLookupNode(
- IN const char *pszNodeName,
- IN int iSocketType,
- IN int iProtocol,
- IN WORD wPort,
- IN BOOL bAI_CANONNAME,
- OUT struct addrinfo **pptResult)
-/*++
-
-Routine Description
- resolve a nodename and return a list of addrinfo structures.
- IPv4 specific internal function, not exported.
- *pptResult would need to be freed if an error is returned.
-
- NOTE: if bAI_CANONNAME is true, the canonical name should be
- returned in the first addrinfo structure.
-
-Arguments
- pszNodeName name of node to resolve.
- iSocketType SOCK_*. can be wildcarded (zero).
- iProtocol IPPROTO_*. can be wildcarded (zero).
- wPort port number of service (in network order).
- bAI_CANONNAME whether the AI_CANONNAME flag is set.
- pptResult where to return result.
-
-Return Value
- Returns 0 on success, an EAI_* style error value otherwise.
-
---*/
-{
- int iError = 0;
- int iAliasCount = 0;
-
- char szFQDN1[NI_MAXHOST] = "";
- char szFQDN2[NI_MAXHOST] = "";
- char *pszName = szFQDN1;
- char *pszAlias = szFQDN2;
- char *pszScratch = NULL;
- _WSPIAPI_STRNCPY_S(pszName, NI_MAXHOST, pszNodeName, NI_MAXHOST - 1);
-
- for (;;)
- {
- iError = WspiapiQueryDNS(pszNodeName,
- iSocketType,
- iProtocol,
- wPort,
- pszAlias,
- pptResult);
- if (iError)
- break;
-
- // if we found addresses, then we are done.
- if (*pptResult)
- break;
-
- // stop infinite loops due to DNS misconfiguration. there appears
- // to be no particular recommended limit in RFCs 1034 and 1035.
- if ((!strlen(pszAlias)) ||
- (!strcmp(pszName, pszAlias)) ||
- (++iAliasCount == 16))
- {
- iError = EAI_FAIL;
- break;
- }
-
- // there was a new CNAME, look again.
- WspiapiSwap(pszName, pszAlias, pszScratch);
- }
-
- if (!iError && bAI_CANONNAME)
- {
- (*pptResult)->ai_canonname = WspiapiStrdup(pszAlias);
- if (!(*pptResult)->ai_canonname)
- iError = EAI_MEMORY;
- }
-
- return iError;
-}
-
-
-
-__inline
-int
-WINAPI
-WspiapiClone (
- IN WORD wPort,
- IN struct addrinfo *ptResult)
-/*++
-
-Routine Description
- clone every addrinfo structure in ptResult for the UDP service.
- ptResult would need to be freed if an error is returned.
-
-Arguments
- wPort port number of UDP service.
- ptResult list of addrinfo structures, each
- of whose node needs to be cloned.
-
-Return Value
- Returns 0 on success, an EAI_MEMORY on allocation failure.
-
---*/
-{
- struct addrinfo *ptNext = NULL;
- struct addrinfo *ptNew = NULL;
-
- for (ptNext = ptResult; ptNext != NULL; )
- {
- // create an addrinfo structure...
- ptNew = WspiapiNewAddrInfo(
- SOCK_DGRAM,
- ptNext->ai_protocol,
- wPort,
- ((struct sockaddr_in *) ptNext->ai_addr)->sin_addr.s_addr);
- if (!ptNew)
- break;
-
- // link the cloned addrinfo
- ptNew->ai_next = ptNext->ai_next;
- ptNext->ai_next = ptNew;
- ptNext = ptNew->ai_next;
- }
-
- if (ptNext != NULL)
- return EAI_MEMORY;
-
- return 0;
-}
-
-
-
-__inline
-void
-WINAPI
-WspiapiLegacyFreeAddrInfo (
- IN struct addrinfo *ptHead)
-/*++
-
-Routine Description
- Free an addrinfo structure (or chain of structures).
- As specified in RFC 2553, Section 6.4.
-
-Arguments
- ptHead structure (chain) to free
-
---*/
-{
- struct addrinfo *ptNext; // next strcture to free
-
- for (ptNext = ptHead; ptNext != NULL; ptNext = ptHead)
- {
- if (ptNext->ai_canonname)
- WspiapiFree(ptNext->ai_canonname);
-
- if (ptNext->ai_addr)
- WspiapiFree(ptNext->ai_addr);
-
- ptHead = ptNext->ai_next;
- WspiapiFree(ptNext);
- }
-}
-
-
-
-__inline
-int
-WINAPI
-WspiapiLegacyGetAddrInfo(
- IN const char *pszNodeName,
- IN const char *pszServiceName,
- IN const struct addrinfo *ptHints,
- OUT struct addrinfo **pptResult)
-/*++
-
-Routine Description
- Protocol-independent name-to-address translation.
- As specified in RFC 2553, Section 6.4.
- This is the hacked version that only supports IPv4.
-
-Arguments
- pszNodeName node name to lookup.
- pszServiceName service name to lookup.
- ptHints hints about how to process request.
- pptResult where to return result.
-
-Return Value
- returns zero if successful, an EAI_* error code if not.
-
---*/
-{
- int iError = 0;
- int iFlags = 0;
- int iFamily = PF_UNSPEC;
- int iSocketType = 0;
- int iProtocol = 0;
- WORD wPort = 0;
- DWORD dwAddress = 0;
-
- struct servent *ptService = NULL;
- char *pc = NULL;
- BOOL bClone = FALSE;
- WORD wTcpPort = 0;
- WORD wUdpPort = 0;
-
-
- // initialize pptResult with default return value.
- *pptResult = NULL;
-
-
- ////////////////////////////////////////
- // validate arguments...
- //
-
- // both the node name and the service name can't be NULL.
- if ((!pszNodeName) && (!pszServiceName))
- return EAI_NONAME;
-
- // validate hints.
- if (ptHints)
- {
- // all members other than ai_flags, ai_family, ai_socktype
- // and ai_protocol must be zero or a null pointer.
- if ((ptHints->ai_addrlen != 0) ||
- (ptHints->ai_canonname != NULL) ||
- (ptHints->ai_addr != NULL) ||
- (ptHints->ai_next != NULL))
- {
- return EAI_FAIL;
- }
-
- // the spec has the "bad flags" error code, so presumably we
- // should check something here. insisting that there aren't
- // any unspecified flags set would break forward compatibility,
- // however. so we just check for non-sensical combinations.
- //
- // we cannot come up with a canonical name given a null node name.
- iFlags = ptHints->ai_flags;
- if ((iFlags & AI_CANONNAME) && !pszNodeName)
- return EAI_BADFLAGS;
-
- // we only support a limited number of protocol families.
- iFamily = ptHints->ai_family;
- if ((iFamily != PF_UNSPEC) && (iFamily != PF_INET))
- return EAI_FAMILY;
-
- // we only support only these socket types.
- iSocketType = ptHints->ai_socktype;
- if ((iSocketType != 0) &&
- (iSocketType != SOCK_STREAM) &&
- (iSocketType != SOCK_DGRAM) &&
- (iSocketType != SOCK_RAW))
- return EAI_SOCKTYPE;
-
- // REVIEW: What if ai_socktype and ai_protocol are at odds?
- iProtocol = ptHints->ai_protocol;
- }
-
-
- ////////////////////////////////////////
- // do service lookup...
-
- if (pszServiceName)
- {
- wPort = (WORD) strtoul(pszServiceName, &pc, 10);
- if (*pc == '\0') // numeric port string
- {
- wPort = wTcpPort = wUdpPort = htons(wPort);
- if (iSocketType == 0)
- {
- bClone = TRUE;
- iSocketType = SOCK_STREAM;
- }
- }
- else // non numeric port string
- {
- if ((iSocketType == 0) || (iSocketType == SOCK_DGRAM))
- {
- ptService = getservbyname(pszServiceName, "udp");
- if (ptService)
- wPort = wUdpPort = ptService->s_port;
- }
-
- if ((iSocketType == 0) || (iSocketType == SOCK_STREAM))
- {
- ptService = getservbyname(pszServiceName, "tcp");
- if (ptService)
- wPort = wTcpPort = ptService->s_port;
- }
-
- // assumes 0 is an invalid service port...
- if (wPort == 0) // no service exists
- return (iSocketType ? EAI_SERVICE : EAI_NONAME);
-
- if (iSocketType == 0)
- {
- // if both tcp and udp, process tcp now & clone udp later.
- iSocketType = (wTcpPort) ? SOCK_STREAM : SOCK_DGRAM;
- bClone = (wTcpPort && wUdpPort);
- }
- }
- }
-
-
-
- ////////////////////////////////////////
- // do node name lookup...
-
- // if we weren't given a node name,
- // return the wildcard or loopback address (depending on AI_PASSIVE).
- //
- // if we have a numeric host address string,
- // return the binary address.
- //
- if ((!pszNodeName) || (WspiapiParseV4Address(pszNodeName, &dwAddress)))
- {
- if (!pszNodeName)
- {
- dwAddress = htonl((iFlags & AI_PASSIVE)
- ? INADDR_ANY
- : INADDR_LOOPBACK);
- }
-
- // create an addrinfo structure...
- *pptResult =
- WspiapiNewAddrInfo(iSocketType, iProtocol, wPort, dwAddress);
- if (!(*pptResult))
- iError = EAI_MEMORY;
-
- if (!iError && pszNodeName)
- {
- // implementation specific behavior: set AI_NUMERICHOST
- // to indicate that we got a numeric host address string.
- (*pptResult)->ai_flags |= AI_NUMERICHOST;
-
- // return the numeric address string as the canonical name
- if (iFlags & AI_CANONNAME)
- {
- (*pptResult)->ai_canonname =
- WspiapiStrdup(inet_ntoa(*((struct in_addr *) &dwAddress)));
- if (!(*pptResult)->ai_canonname)
- iError = EAI_MEMORY;
- }
- }
- }
-
-
- // if we do not have a numeric host address string and
- // AI_NUMERICHOST flag is set, return an error!
- else if (iFlags & AI_NUMERICHOST)
- {
- iError = EAI_NONAME;
- }
-
-
- // since we have a non-numeric node name,
- // we have to do a regular node name lookup.
- else
- {
- iError = WspiapiLookupNode(pszNodeName,
- iSocketType,
- iProtocol,
- wPort,
- (iFlags & AI_CANONNAME),
- pptResult);
- }
-
- if (!iError && bClone)
- {
- iError = WspiapiClone(wUdpPort, *pptResult);
- }
-
- if (iError)
- {
- WspiapiLegacyFreeAddrInfo(*pptResult);
- *pptResult = NULL;
- }
-
- return (iError);
-}
-
-
-
-__inline
-int
-WINAPI
-WspiapiLegacyGetNameInfo(
- IN const struct sockaddr *ptSocketAddress,
- IN socklen_t tSocketLength,
- OUT char *pszNodeName,
- IN size_t tNodeLength,
- OUT char *pszServiceName,
- IN size_t tServiceLength,
- IN int iFlags)
-/*++
-
-Routine Description
- protocol-independent address-to-name translation.
- as specified in RFC 2553, Section 6.5.
- this is the hacked version that only supports IPv4.
-
-Arguments
- ptSocketAddress socket address to translate.
- tSocketLength length of above socket address.
- pszNodeName where to return the node name.
- tNodeLength size of above buffer.
- pszServiceName where to return the service name.
- tServiceLength size of above buffer.
- iFlags flags of type NI_*.
-
-Return Value
- returns zero if successful, an EAI_* error code if not.
-
---*/
-{
- struct servent *ptService;
- WORD wPort;
- char szBuffer[] = "65535";
- char *pszService = szBuffer;
-
- struct hostent *ptHost;
- struct in_addr tAddress;
- char *pszNode = NULL;
- char *pc = NULL;
-
-
- // sanity check ptSocketAddress and tSocketLength.
- if ((!ptSocketAddress) || (tSocketLength < sizeof(struct sockaddr)))
- return EAI_FAIL;
-
- if (ptSocketAddress->sa_family != AF_INET)
- return EAI_FAMILY;
-
- if (tSocketLength < sizeof(struct sockaddr_in))
- return EAI_FAIL;
-
- if (!(pszNodeName && tNodeLength) &&
- !(pszServiceName && tServiceLength))
- {
- return EAI_NONAME;
- }
-
- // the draft has the "bad flags" error code, so presumably we
- // should check something here. insisting that there aren't
- // any unspecified flags set would break forward compatibility,
- // however. so we just check for non-sensical combinations.
- if ((iFlags & NI_NUMERICHOST) && (iFlags & NI_NAMEREQD))
- {
- return EAI_BADFLAGS;
- }
-
- // translate the port to a service name (if requested).
- if (pszServiceName && tServiceLength)
- {
- wPort = ((struct sockaddr_in *) ptSocketAddress)->sin_port;
-
- if (iFlags & NI_NUMERICSERV)
- {
- // return numeric form of the address.
- _WSPIAPI_SPRINTF_S_1(szBuffer, _WSPIAPI_COUNTOF(szBuffer), "%u", ntohs(wPort));
- }
- else
- {
- // return service name corresponding to port.
- ptService = getservbyport(wPort,
- (iFlags & NI_DGRAM) ? "udp" : NULL);
- if (ptService && ptService->s_name)
- {
- // lookup successful.
- pszService = ptService->s_name;
- }
- else
- {
- // DRAFT: return numeric form of the port!
- _WSPIAPI_SPRINTF_S_1(szBuffer, _WSPIAPI_COUNTOF(szBuffer), "%u", ntohs(wPort));
- }
- }
-
-
- if (tServiceLength > strlen(pszService))
- _WSPIAPI_STRCPY_S(pszServiceName, tServiceLength, pszService);
- else
- return EAI_FAIL;
- }
-
-
- // translate the address to a node name (if requested).
- if (pszNodeName && tNodeLength)
- {
- // this is the IPv4-only version, so we have an IPv4 address.
- tAddress = ((struct sockaddr_in *) ptSocketAddress)->sin_addr;
-
- if (iFlags & NI_NUMERICHOST)
- {
- // return numeric form of the address.
- pszNode = inet_ntoa(tAddress);
- }
- else
- {
- // return node name corresponding to address.
- ptHost = gethostbyaddr((char *) &tAddress,
- sizeof(struct in_addr),
- AF_INET);
- if (ptHost && ptHost->h_name)
- {
- // DNS lookup successful.
- // stop copying at a "." if NI_NOFQDN is specified.
- pszNode = ptHost->h_name;
- if ((iFlags & NI_NOFQDN) &&
- ((pc = strchr(pszNode, '.')) != NULL))
- *pc = '\0';
- }
- else
- {
- // DNS lookup failed. return numeric form of the address.
- if (iFlags & NI_NAMEREQD)
- {
- switch (WSAGetLastError())
- {
- case WSAHOST_NOT_FOUND: return EAI_NONAME;
- case WSATRY_AGAIN: return EAI_AGAIN;
- case WSANO_RECOVERY: return EAI_FAIL;
- default: return EAI_NONAME;
- }
- }
- else
- pszNode = inet_ntoa(tAddress);
- }
- }
-
- if (tNodeLength > strlen(pszNode))
- _WSPIAPI_STRCPY_S(pszNodeName, tNodeLength, pszNode);
- else
- return EAI_FAIL;
- }
-
- return 0;
-}
-
-
-
-typedef struct
-{
- char const *pszName;
- FARPROC pfAddress;
-} WSPIAPI_FUNCTION;
-
-#define WSPIAPI_FUNCTION_ARRAY \
-{ \
- "getaddrinfo", (FARPROC) WspiapiLegacyGetAddrInfo, \
- "getnameinfo", (FARPROC) WspiapiLegacyGetNameInfo, \
- "freeaddrinfo", (FARPROC) WspiapiLegacyFreeAddrInfo, \
-}
-
-
-
-__inline
-FARPROC
-WINAPI
-WspiapiLoad(
- IN WORD wFunction)
-/*++
-
-Routine Description
- try to locate the address family independent name resolution routines
- (i.e. getaddrinfo, getnameinfo, freeaddrinfo, gai_strerror).
-
-Locks
- this function call is not synchronized. hence the library containing
- the routines might be loaded multiple times. another option is to
- synchronize through a spin lock using a static local variable and the
- InterlockedExchange operation.
-
-
-Arguments
- wFunction ordinal # of the function to get the pointer to
- 0 getaddrinfo
- 1 getnameinfo
- 2 freeaddrinfo
-
-Return Value
- address of the library/legacy routine
-
---*/
-{
- HMODULE hLibrary = NULL;
-
- // these static variables store state across calls, across threads.
- static BOOL bInitialized = FALSE;
- static WSPIAPI_FUNCTION rgtGlobal[] = WSPIAPI_FUNCTION_ARRAY;
- static const int iNumGlobal = (sizeof(rgtGlobal) /
- sizeof(WSPIAPI_FUNCTION));
-
- // we overwrite rgtGlobal only if all routines exist in library.
- WSPIAPI_FUNCTION rgtLocal[] = WSPIAPI_FUNCTION_ARRAY;
- FARPROC fScratch = NULL;
- int i = 0;
-
-
- if (bInitialized) // WspiapiLoad has already been called once
- return (rgtGlobal[wFunction].pfAddress);
-
- for (;;) // breakout loop
- {
- CHAR SystemDir[MAX_PATH + 1];
- CHAR Path[MAX_PATH + 8];
-
- if (GetSystemDirectoryA(SystemDir, MAX_PATH) == 0)
- {
- break;
- }
-
- // in Whistler and beyond...
- // the routines are present in the WinSock 2 library (ws2_32.dll).
- // printf("Looking in ws2_32 for getaddrinfo...\n");
- _WSPIAPI_STRCPY_S(Path, _WSPIAPI_COUNTOF(Path), SystemDir);
- _WSPIAPI_STRCAT_S(Path, _WSPIAPI_COUNTOF(Path), "\\ws2_32");
- hLibrary = LoadLibraryA(Path);
- if (hLibrary != NULL)
- {
- fScratch = GetProcAddress(hLibrary, "getaddrinfo");
- if (fScratch == NULL)
- {
- FreeLibrary(hLibrary);
- hLibrary = NULL;
- }
- }
- if (hLibrary != NULL)
- break;
-
-
- // in the IPv6 Technology Preview...
- // the routines are present in the IPv6 WinSock library (wship6.dll).
- // printf("Looking in wship6 for getaddrinfo...\n");
- _WSPIAPI_STRCPY_S(Path, _WSPIAPI_COUNTOF(Path), SystemDir);
- _WSPIAPI_STRCAT_S(Path, _WSPIAPI_COUNTOF(Path), "\\wship6");
- hLibrary = LoadLibraryA(Path);
- if (hLibrary != NULL)
- {
- fScratch = GetProcAddress(hLibrary, "getaddrinfo");
- if (fScratch == NULL)
- {
- FreeLibrary(hLibrary);
- hLibrary = NULL;
- }
- }
-
- break;
- }
-
-
- if (hLibrary != NULL)
- {
- // use routines from this library...
- // since getaddrinfo is here, we expect all routines to be here,
- // but will fall back to IPv4-only if any of them is missing.
- for (i = 0; i < iNumGlobal; i++)
- {
- rgtLocal[i].pfAddress
- = GetProcAddress(hLibrary, rgtLocal[i].pszName);
- if (rgtLocal[i].pfAddress == NULL)
- {
- FreeLibrary(hLibrary);
- hLibrary = NULL;
- break;
- }
- }
-
- if (hLibrary != NULL)
- {
- // printf("found!\n");
- for (i = 0; i < iNumGlobal; i++)
- rgtGlobal[i].pfAddress = rgtLocal[i].pfAddress;
- }
- }
-
- bInitialized = TRUE;
- return (rgtGlobal[wFunction].pfAddress);
-}
-
-
-
-__inline
-int
-WINAPI
-WspiapiGetAddrInfo(
- IN const char *nodename,
- IN const char *servname,
- IN const struct addrinfo *hints,
- OUT struct addrinfo **res)
-{
- int iError;
- static WSPIAPI_PGETADDRINFO pfGetAddrInfo = NULL;
-
- if (!pfGetAddrInfo)
- pfGetAddrInfo = (WSPIAPI_PGETADDRINFO) WspiapiLoad(0);
-
- iError = (*pfGetAddrInfo)(nodename, servname, hints, res);
- WSASetLastError(iError);
- return iError;
-}
-
-
-
-__inline
-int
-WINAPI
-WspiapiGetNameInfo (
- IN const struct sockaddr *sa,
- IN socklen_t salen,
- OUT char *host,
- IN size_t hostlen,
- OUT char *serv,
- IN size_t servlen,
- IN int flags)
-{
- int iError;
- static WSPIAPI_PGETNAMEINFO pfGetNameInfo = NULL;
-
- if (!pfGetNameInfo)
- pfGetNameInfo = (WSPIAPI_PGETNAMEINFO) WspiapiLoad(1);
-
- iError = (*pfGetNameInfo)(sa, salen, host, hostlen, serv, servlen, flags);
- WSASetLastError(iError);
- return iError;
-}
-
-
-
-__inline
-void
-WINAPI
-WspiapiFreeAddrInfo (
- IN struct addrinfo *ai)
-{
- static WSPIAPI_PFREEADDRINFO pfFreeAddrInfo = NULL;
-
- if (!pfFreeAddrInfo)
- pfFreeAddrInfo = (WSPIAPI_PFREEADDRINFO) WspiapiLoad(2);
- (*pfFreeAddrInfo)(ai);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // if (NTDDI_VERSION >= WIN2K)
-#endif // _WSPIAPI_H_
-
+++ /dev/null
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2011 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#ifndef ZCONF_H
-#define ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- * Even better than compiling with -DZ_PREFIX would be to use configure to set
- * this permanently in zconf.h using "./configure --zprefix".
- */
-#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
-# define Z_PREFIX_SET
-
-/* all linked symbols */
-# define _dist_code z__dist_code
-# define _length_code z__length_code
-# define _tr_align z__tr_align
-# define _tr_flush_block z__tr_flush_block
-# define _tr_init z__tr_init
-# define _tr_stored_block z__tr_stored_block
-# define _tr_tally z__tr_tally
-# define adler32 z_adler32
-# define adler32_combine z_adler32_combine
-# define adler32_combine64 z_adler32_combine64
-# ifndef Z_SOLO
-# define compress z_compress
-# define compress2 z_compress2
-# define compressBound z_compressBound
-# endif
-# define crc32 z_crc32
-# define crc32_combine z_crc32_combine
-# define crc32_combine64 z_crc32_combine64
-# define deflate z_deflate
-# define deflateBound z_deflateBound
-# define deflateCopy z_deflateCopy
-# define deflateEnd z_deflateEnd
-# define deflateInit2_ z_deflateInit2_
-# define deflateInit_ z_deflateInit_
-# define deflateParams z_deflateParams
-# define deflatePending z_deflatePending
-# define deflatePrime z_deflatePrime
-# define deflateReset z_deflateReset
-# define deflateResetKeep z_deflateResetKeep
-# define deflateSetDictionary z_deflateSetDictionary
-# define deflateSetHeader z_deflateSetHeader
-# define deflateTune z_deflateTune
-# define deflate_copyright z_deflate_copyright
-# define get_crc_table z_get_crc_table
-# ifndef Z_SOLO
-# define gz_error z_gz_error
-# define gz_intmax z_gz_intmax
-# define gz_strwinerror z_gz_strwinerror
-# define gzbuffer z_gzbuffer
-# define gzclearerr z_gzclearerr
-# define gzclose z_gzclose
-# define gzclose_r z_gzclose_r
-# define gzclose_w z_gzclose_w
-# define gzdirect z_gzdirect
-# define gzdopen z_gzdopen
-# define gzeof z_gzeof
-# define gzerror z_gzerror
-# define gzflags z_gzflags
-# define gzflush z_gzflush
-# define gzgetc z_gzgetc
-# define gzgetc_ z_gzgetc_
-# define gzgets z_gzgets
-# define gzoffset z_gzoffset
-# define gzoffset64 z_gzoffset64
-# define gzopen z_gzopen
-# define gzopen64 z_gzopen64
-# define gzprintf z_gzprintf
-# define gzputc z_gzputc
-# define gzputs z_gzputs
-# define gzread z_gzread
-# define gzrewind z_gzrewind
-# define gzseek z_gzseek
-# define gzseek64 z_gzseek64
-# define gzsetparams z_gzsetparams
-# define gztell z_gztell
-# define gztell64 z_gztell64
-# define gzungetc z_gzungetc
-# define gzwrite z_gzwrite
-# endif
-# define inflate z_inflate
-# define inflateBack z_inflateBack
-# define inflateBackEnd z_inflateBackEnd
-# define inflateBackInit_ z_inflateBackInit_
-# define inflateCopy z_inflateCopy
-# define inflateEnd z_inflateEnd
-# define inflateGetHeader z_inflateGetHeader
-# define inflateInit2_ z_inflateInit2_
-# define inflateInit_ z_inflateInit_
-# define inflateMark z_inflateMark
-# define inflatePrime z_inflatePrime
-# define inflateReset z_inflateReset
-# define inflateReset2 z_inflateReset2
-# define inflateSetDictionary z_inflateSetDictionary
-# define inflateSync z_inflateSync
-# define inflateSyncPoint z_inflateSyncPoint
-# define inflateUndermine z_inflateUndermine
-# define inflateResetKeep z_inflateResetKeep
-# define inflate_copyright z_inflate_copyright
-# define inflate_fast z_inflate_fast
-# define inflate_table z_inflate_table
-# ifndef Z_SOLO
-# define uncompress z_uncompress
-# endif
-# define zError z_zError
-# ifndef Z_SOLO
-# define zcalloc z_zcalloc
-# define zcfree z_zcfree
-# endif
-# define zlibCompileFlags z_zlibCompileFlags
-# define zlibVersion z_zlibVersion
-
-/* all zlib typedefs in zlib.h and zconf.h */
-# define Byte z_Byte
-# define Bytef z_Bytef
-# define alloc_func z_alloc_func
-# define charf z_charf
-# define free_func z_free_func
-# ifndef Z_SOLO
-# define gzFile z_gzFile
-# define gz_header z_gz_header
-# define gz_headerp z_gz_headerp
-# endif
-# define in_func z_in_func
-# define intf z_intf
-# define out_func z_out_func
-# define uInt z_uInt
-# define uIntf z_uIntf
-# define uLong z_uLong
-# define uLongf z_uLongf
-# define voidp z_voidp
-# define voidpc z_voidpc
-# define voidpf z_voidpf
-
-/* all zlib structs in zlib.h and zconf.h */
-# ifndef Z_SOLO
-# define gz_header_s z_gz_header_s
-# endif
-# define internal_state z_internal_state
-
-#endif
-
-#if defined(__MSDOS__) && !defined(MSDOS)
-# define MSDOS
-#endif
-#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
-# define OS2
-#endif
-#if defined(_WINDOWS) && !defined(WINDOWS)
-# define WINDOWS
-#endif
-#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
-# ifndef WIN32
-# define WIN32
-# endif
-#endif
-#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
-# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
-# ifndef SYS16BIT
-# define SYS16BIT
-# endif
-# endif
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#ifdef SYS16BIT
-# define MAXSEG_64K
-#endif
-#ifdef MSDOS
-# define UNALIGNED_OK
-#endif
-
-#ifdef __STDC_VERSION__
-# ifndef STDC
-# define STDC
-# endif
-# if __STDC_VERSION__ >= 199901L
-# ifndef STDC99
-# define STDC99
-# endif
-# endif
-#endif
-#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
-# define STDC
-#endif
-
-#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
-# define STDC
-#endif
-
-#ifndef STDC
-# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-# define const /* note: need a more gentle solution here */
-# endif
-#endif
-
-#if defined(ZLIB_CONST) && !defined(z_const)
-# define z_const const
-#else
-# define z_const
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
-# define NO_DUMMY_DECL
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2.
- * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
- * created by gzip. (Files created by minigzip can still be extracted by
- * gzip.)
- */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- (1 << (windowBits+2)) + (1 << (memLevel+9))
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-#ifndef Z_ARG /* function prototypes for stdarg */
-# if defined(STDC) || defined(Z_HAVE_STDARG_H)
-# define Z_ARG(args) args
-# else
-# define Z_ARG(args) ()
-# endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#ifdef SYS16BIT
-# if defined(M_I86SM) || defined(M_I86MM)
- /* MSC small or medium model */
-# define SMALL_MEDIUM
-# ifdef _MSC_VER
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-# if (defined(__SMALL__) || defined(__MEDIUM__))
- /* Turbo C small or medium model */
-# define SMALL_MEDIUM
-# ifdef __BORLANDC__
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-#endif
-
-#if defined(WINDOWS) || defined(WIN32)
- /* If building or using zlib as a DLL, define ZLIB_DLL.
- * This is not mandatory, but it offers a little performance increase.
- */
-# ifdef ZLIB_DLL
-# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
-# ifdef ZLIB_INTERNAL
-# define ZEXTERN extern __declspec(dllexport)
-# else
-# define ZEXTERN extern __declspec(dllimport)
-# endif
-# endif
-# endif /* ZLIB_DLL */
- /* If building or using zlib with the WINAPI/WINAPIV calling convention,
- * define ZLIB_WINAPI.
- * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
- */
-# ifdef ZLIB_WINAPI
-# ifdef FAR
-# undef FAR
-# endif
-# include <windows.h>
- /* No need for _export, use ZLIB.DEF instead. */
- /* For complete Windows compatibility, use WINAPI, not __stdcall. */
-# define ZEXPORT WINAPI
-# ifdef WIN32
-# define ZEXPORTVA WINAPIV
-# else
-# define ZEXPORTVA FAR CDECL
-# endif
-# endif
-#endif
-
-#if defined (__BEOS__)
-# ifdef ZLIB_DLL
-# ifdef ZLIB_INTERNAL
-# define ZEXPORT __declspec(dllexport)
-# define ZEXPORTVA __declspec(dllexport)
-# else
-# define ZEXPORT __declspec(dllimport)
-# define ZEXPORTVA __declspec(dllimport)
-# endif
-# endif
-#endif
-
-#ifndef ZEXTERN
-# define ZEXTERN extern
-#endif
-#ifndef ZEXPORT
-# define ZEXPORT
-#endif
-#ifndef ZEXPORTVA
-# define ZEXPORTVA
-#endif
-
-#ifndef FAR
-# define FAR
-#endif
-
-#if !defined(__MACTYPES__)
-typedef unsigned char Byte; /* 8 bits */
-#endif
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-#ifdef SMALL_MEDIUM
- /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
-# define Bytef Byte FAR
-#else
- typedef Byte FAR Bytef;
-#endif
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void const *voidpc;
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte const *voidpc;
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
-# define Z_HAVE_UNISTD_H
-#endif
-
-#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
-# define Z_HAVE_STDARG_H
-#endif
-
-#ifdef STDC
-# ifndef Z_SOLO
-# include <sys/types.h> /* for off_t */
-# endif
-#endif
-
-/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
- * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
- * though the former does not conform to the LFS document), but considering
- * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
- * equivalently requesting no 64-bit operations
- */
-#if -_LARGEFILE64_SOURCE - -1 == 1
-# undef _LARGEFILE64_SOURCE
-#endif
-
-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
-# define Z_LARGE
-#endif
-
-#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE)) && !defined(Z_SOLO)
-# include <unistd.h> /* for SEEK_* and off_t */
-# ifdef VMS
-# include <unixio.h> /* for off_t */
-# endif
-# ifndef z_off_t
-# define z_off_t off_t
-# endif
-#endif
-
-#if !defined(SEEK_SET) && !defined(Z_SOLO)
-# define SEEK_SET 0 /* Seek from beginning of file. */
-# define SEEK_CUR 1 /* Seek from current position. */
-# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
-#endif
-
-#ifndef z_off_t
-# define z_off_t long
-#endif
-
-#if !defined(_WIN32) && (defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0)
-# define z_off64_t off64_t
-#else
-# if defined(_WIN32)
-# define z_off64_t __int64
-# else
-# define z_off64_t z_off_t
-#endif
-#endif
-
-/* MVS linker does not support external names larger than 8 bytes */
-#if defined(__MVS__)
- #pragma map(deflateInit_,"DEIN")
- #pragma map(deflateInit2_,"DEIN2")
- #pragma map(deflateEnd,"DEEND")
- #pragma map(deflateBound,"DEBND")
- #pragma map(inflateInit_,"ININ")
- #pragma map(inflateInit2_,"ININ2")
- #pragma map(inflateEnd,"INEND")
- #pragma map(inflateSync,"INSY")
- #pragma map(inflateSetDictionary,"INSEDI")
- #pragma map(compressBound,"CMBND")
- #pragma map(inflate_table,"INTABL")
- #pragma map(inflate_fast,"INFA")
- #pragma map(inflate_copyright,"INCOPY")
-#endif
-
-#endif /* ZCONF_H */
+++ /dev/null
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.2.6, January 29th, 2012
-
- Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- jloup@gzip.org madler@alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950
- (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).
-*/
-
-#ifndef ZLIB_H
-#define ZLIB_H
-
-#include "zconf.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ZLIB_VERSION "1.2.6"
-#define ZLIB_VERNUM 0x1260
-#define ZLIB_VER_MAJOR 1
-#define ZLIB_VER_MINOR 2
-#define ZLIB_VER_REVISION 6
-#define ZLIB_VER_SUBREVISION 0
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed data.
- This version of the library supports only one compression method (deflation)
- but other algorithms will be added later and will have the same stream
- interface.
-
- Compression can be done in a single step if the buffers are large enough,
- or can be done by repeated calls of the compression function. In the latter
- case, the application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The compressed data format used by default by the in-memory functions is
- the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
- around a deflate stream, which is itself documented in RFC 1951.
-
- The library also supports reading and writing files in gzip (.gz) format
- with an interface similar to that of stdio using the functions that start
- with "gz". The gzip format is different from the zlib format. gzip is a
- gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
-
- This library can optionally read and write gzip streams in memory as well.
-
- The zlib format was designed to be compact and fast for use in memory
- and on communications channels. The gzip format was designed for single-
- file compression on file systems, has a larger header than zlib to maintain
- directory information, and uses a different, slower check method than zlib.
-
- The library does not install any signal handler. The decoder checks
- the consistency of the compressed data, so the library should never crash
- even in case of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- z_const Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total number of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total number of bytes output so far */
-
- z_const char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: binary or text */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- gzip header information passed to and from zlib routines. See RFC 1952
- for more details on the meanings of these fields.
-*/
-typedef struct gz_header_s {
- int text; /* true if compressed data believed to be text */
- uLong time; /* modification time */
- int xflags; /* extra flags (not used when writing a gzip file) */
- int os; /* operating system */
- Bytef *extra; /* pointer to extra field or Z_NULL if none */
- uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
- uInt extra_max; /* space at extra (only when reading header) */
- Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
- uInt name_max; /* space at name (only when reading header) */
- Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
- uInt comm_max; /* space at comment (only when reading header) */
- int hcrc; /* true if there was or will be a header crc */
- int done; /* true when done reading gzip header (not used
- when writing a gzip file) */
-} gz_header;
-
-typedef gz_header FAR *gz_headerp;
-
-/*
- The application must update next_in and avail_in when avail_in has dropped
- to zero. It must update next_out and avail_out when avail_out has dropped
- to zero. The application must initialize zalloc, zfree and opaque before
- calling the init function. All other fields are set by the compression
- library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- If zlib is used in a multi-threaded application, zalloc and zfree must be
- thread safe.
-
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this if
- the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers
- returned by zalloc for objects of exactly 65536 bytes *must* have their
- offset normalized to zero. The default allocation function provided by this
- library ensures this (see zutil.c). To reduce memory requirements and avoid
- any allocation of 64K objects, at the expense of compression ratio, compile
- the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or progress
- reports. After compression, total_in holds the total size of the
- uncompressed data and may be saved for use in the decompressor (particularly
- if the decompressor wants to decompress everything in a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1
-#define Z_SYNC_FLUSH 2
-#define Z_FULL_FLUSH 3
-#define Z_FINISH 4
-#define Z_BLOCK 5
-#define Z_TREES 6
-/* Allowed flush values; see deflate() and inflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative values
- * are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_RLE 3
-#define Z_FIXED 4
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_TEXT 1
-#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field (though see inflate()) */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
-
- /* basic functions */
-
-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is not
- compatible with the zlib.h header file used by the application. This check
- is automatically made by deflateInit and inflateInit.
- */
-
-/*
-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller. If
- zalloc and zfree are set to Z_NULL, deflateInit updates them to use default
- allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at all
- (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION
- requests a default compromise between speed and compression (currently
- equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if level is not a valid compression level, or
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION). msg is set to null
- if there is no error message. deflateInit does not perform any compression:
- this will be done by deflate().
-*/
-
-
-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
-/*
- deflate compresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce
- some output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. deflate performs one or both of the
- following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications). Some
- output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming more
- output, and updating avail_in or avail_out accordingly; avail_out should
- never be zero before the call. The application can consume the compressed
- output when it wants, for example when the output buffer is full (avail_out
- == 0), or after each call of deflate(). If deflate returns Z_OK and with
- zero avail_out, it must be called again after making room in the output
- buffer because there might be more output pending.
-
- Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
- decide how much data to accumulate before producing output, in order to
- maximize compression.
-
- If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
- flushed to the output buffer and the output is aligned on a byte boundary, so
- that the decompressor can get all input data available so far. (In
- particular avail_in is zero after the call if enough output space has been
- provided before the call.) Flushing may degrade compression for some
- compression algorithms and so it should be used only when necessary. This
- completes the current deflate block and follows it with an empty stored block
- that is three bits plus filler bits to the next byte, followed by four bytes
- (00 00 ff ff).
-
- If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the
- output buffer, but the output is not aligned to a byte boundary. All of the
- input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
- This completes the current deflate block and follows it with an empty fixed
- codes block that is 10 bits long. This assures that enough bytes are output
- in order for the decompressor to finish the block before the empty fixed code
- block.
-
- If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
- for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
- seven bits of the current block are held to be written as the next byte after
- the next deflate block is completed. In this case, the decompressor may not
- be provided enough bits at this point in order to complete decompression of
- the data provided so far to the compressor. It may need to wait for the next
- block to be emitted. This is for advanced applications that need to control
- the emission of deflate blocks.
-
- If flush is set to Z_FULL_FLUSH, all output is flushed as with
- Z_SYNC_FLUSH, and the compression state is reset so that decompression can
- restart from this point if previous compressed data has been damaged or if
- random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
- compression.
-
- If deflate returns with avail_out == 0, this function must be called again
- with the same value of the flush parameter and more output space (updated
- avail_out), until the flush is complete (deflate returns with non-zero
- avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
- avail_out is greater than six to avoid repeated flush markers due to
- avail_out == 0 on return.
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there was
- enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the stream
- are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least the
- value returned by deflateBound (see below). Then deflate is guaranteed to
- return Z_STREAM_END. If not enough output space is provided, deflate will
- not return Z_STREAM_END, and it must be called again as described above.
-
- deflate() sets strm->adler to the adler32 checksum of all input read
- so far (that is, total_in bytes).
-
- deflate() may update strm->data_type if it can make a good guess about
- the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect the
- compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
- (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
- fatal, and deflate() can be called again with more input and more output
- space to continue compressing.
-*/
-
-
-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any pending
- output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case, msg
- may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- next_in, avail_in, zalloc, zfree and opaque must be initialized before by
- the caller. If next_in is not Z_NULL and avail_in is large enough (the
- exact value depends on the compression method), inflateInit determines the
- compression method from the zlib header and allocates all data structures
- accordingly; otherwise the allocation will be deferred to the first call of
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
- use default allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller, or Z_STREAM_ERROR if the parameters are
- invalid, such as a null pointer to the structure. msg is set to null if
- there is no error message. inflateInit does not perform any decompression
- apart from possibly reading the zlib header if present: actual decompression
- will be done by inflate(). (So next_in and avail_in may be modified, but
- next_out and avail_out are unused and unchanged.) The current implementation
- of inflateInit() does not process any header information -- that is deferred
- until inflate() is called.
-*/
-
-
-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
-/*
- inflate decompresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce
- some output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. inflate performs one or both of the
- following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing will
- resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there is
- no more input data or no more space in the output buffer (see below about
- the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming more
- output, and updating the next_* and avail_* values accordingly. The
- application can consume the uncompressed output when it wants, for example
- when the output buffer is full (avail_out == 0), or after each call of
- inflate(). If inflate returns Z_OK and with zero avail_out, it must be
- called again after making room in the output buffer because there might be
- more output pending.
-
- The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH,
- Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much
- output as possible to the output buffer. Z_BLOCK requests that inflate()
- stop if and when it gets to the next deflate block boundary. When decoding
- the zlib or gzip format, this will cause inflate() to return immediately
- after the header and before the first block. When doing a raw inflate,
- inflate() will go ahead and process the first block, and will return when it
- gets to the end of that block, or when it runs out of data.
-
- The Z_BLOCK option assists in appending to or combining deflate streams.
- Also to assist in this, on return inflate() will set strm->data_type to the
- number of unused bits in the last byte taken from strm->next_in, plus 64 if
- inflate() is currently decoding the last block in the deflate stream, plus
- 128 if inflate() returned immediately after decoding an end-of-block code or
- decoding the complete header up to just before the first byte of the deflate
- stream. The end-of-block will not be indicated until all of the uncompressed
- data from that block has been written to strm->next_out. The number of
- unused bits may in general be greater than seven, except when bit 7 of
- data_type is set, in which case the number of unused bits will be less than
- eight. data_type is set as noted here every time inflate() returns for all
- flush options, and so can be used to determine the amount of currently
- consumed input in bits.
-
- The Z_TREES option behaves as Z_BLOCK does, but it also returns when the
- end of each deflate block header is reached, before any actual data in that
- block is decoded. This allows the caller to determine the length of the
- deflate block header for later use in random access within a deflate block.
- 256 is added to the value of strm->data_type when inflate() returns
- immediately after reaching the end of the deflate block header.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step (a
- single call of inflate), the parameter flush should be set to Z_FINISH. In
- this case all pending input is processed and all pending output is flushed;
- avail_out must be large enough to hold all the uncompressed data. (The size
- of the uncompressed data may have been saved by the compressor for this
- purpose.) The next operation on this stream must be inflateEnd to deallocate
- the decompression state. The use of Z_FINISH is not required to perform an
- inflation in one step. However it may be used to inform inflate that a
- faster approach can be used for the single inflate() call. Z_FINISH also
- informs inflate to not maintain a sliding window if the stream completes,
- which reduces inflate's memory footprint.
-
- In this implementation, inflate() always flushes as much output as
- possible to the output buffer, and always uses the faster approach on the
- first call. So the effects of the flush parameter in this implementation are
- on the return value of inflate() as noted below, when inflate() returns early
- when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of
- memory for a sliding window when Z_FINISH is used.
-
- If a preset dictionary is needed after this call (see inflateSetDictionary
- below), inflate sets strm->adler to the Adler-32 checksum of the dictionary
- chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
- strm->adler to the Adler-32 checksum of all output produced so far (that is,
- total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
- below. At the end of the stream, inflate() checks that its computed adler32
- checksum is equal to that saved by the compressor and returns Z_STREAM_END
- only if the checksum is correct.
-
- inflate() can decompress and check either zlib-wrapped or gzip-wrapped
- deflate data. The header type is detected automatically, if requested when
- initializing with inflateInit2(). Any information contained in the gzip
- header is not retained, so applications that need that information should
- instead use raw inflate, see inflateInit2() below, or inflateBack() and
- perform their own processing of the gzip header and trailer. When processing
- gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output
- producted so far. The CRC-32 is checked against the gzip trailer.
-
- inflate() returns Z_OK if some progress has been made (more input processed
- or more output produced), Z_STREAM_END if the end of the compressed data has
- been reached and all uncompressed output has been produced, Z_NEED_DICT if a
- preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
- corrupted (input stream not conforming to the zlib format or incorrect check
- value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
- next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory,
- Z_BUF_ERROR if no progress is possible or if there was not enough room in the
- output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
- inflate() can be called again with more input and more output space to
- continue decompressing. If Z_DATA_ERROR is returned, the application may
- then call inflateSync() to look for a good compression block if a partial
- recovery of the data is desired.
-*/
-
-
-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any pending
- output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by the
- caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library.
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library. Larger values of this parameter result in better
- compression at the expense of memory usage. The default value is 15 if
- deflateInit is used instead.
-
- windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
- determines the window size. deflate() will then generate raw deflate data
- with no zlib header or trailer, and will not compute an adler32 check value.
-
- windowBits can also be greater than 15 for optional gzip encoding. Add
- 16 to windowBits to write a simple gzip header and trailer around the
- compressed data instead of a zlib wrapper. The gzip header will have no
- file name, no extra data, no comment, no modification time (set to zero), no
- header crc, and the operating system will be set to 255 (unknown). If a
- gzip stream is being written, strm->adler is a crc32 instead of an adler32.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but is
- slow and reduces compression ratio; memLevel=9 uses maximum memory for
- optimal speed. The default value is 8. See zconf.h for total memory usage
- as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match), or Z_RLE to limit match distances to one (run-length
- encoding). Filtered data consists mostly of small values with a somewhat
- random distribution. In this case, the compression algorithm is tuned to
- compress them better. The effect of Z_FILTERED is to force more Huffman
- coding and less string matching; it is somewhat intermediate between
- Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as
- fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The
- strategy parameter only affects the compression ratio but not the
- correctness of the compressed output even if it is not set appropriately.
- Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler
- decoder for special applications.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid
- method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is
- incompatible with the version assumed by the caller (ZLIB_VERSION). msg is
- set to null if there is no error message. deflateInit2 does not perform any
- compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary from the given byte sequence
- without producing any compressed output. When using the zlib format, this
- function must be called immediately after deflateInit, deflateInit2 or
- deflateReset, and before any call of deflate. When doing raw deflate, this
- function must be called either before any call of deflate, or immediately
- after the completion of a deflate block, i.e. after all input has been
- consumed and all output has been delivered when using any of the flush
- options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The
- compressor and decompressor must use exactly the same dictionary (see
- inflateSetDictionary).
-
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and can be
- predicted with good accuracy; the data can then be compressed better than
- with the default empty dictionary.
-
- Depending on the size of the compression data structures selected by
- deflateInit or deflateInit2, a part of the dictionary may in effect be
- discarded, for example if the dictionary is larger than the window size
- provided in deflateInit or deflateInit2. Thus the strings most likely to be
- useful should be put at the end of the dictionary, not at the front. In
- addition, the current implementation of deflate will use at most the window
- size minus 262 bytes of the provided dictionary.
-
- Upon return of this function, strm->adler is set to the adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.) If a raw deflate was requested, then the
- adler32 value is not computed and strm->adler is not set.
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
- inconsistent (for example if deflate has already been called for this stream
- or if not at a block boundary for raw deflate). deflateSetDictionary does
- not perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and can
- consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being Z_NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state. The
- stream will keep the same compression level and any other attributes that
- may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being Z_NULL).
-*/
-
-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
- int level,
- int strategy));
-/*
- Dynamically update the compression level and compression strategy. The
- interpretation of level and strategy is as in deflateInit2. This can be
- used to switch between compression and straight copy of the input data, or
- to switch to a different kind of input data requiring a different strategy.
- If the compression level is changed, the input available so far is
- compressed with the old level (and may be flushed); the new level will take
- effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to be
- compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if
- strm->avail_out was zero.
-*/
-
-ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
- int good_length,
- int max_lazy,
- int nice_length,
- int max_chain));
-/*
- Fine tune deflate's internal compression parameters. This should only be
- used by someone who understands the algorithm used by zlib's deflate for
- searching for the best matching string, and even then only by the most
- fanatic optimizer trying to squeeze out the last compressed bit for their
- specific input data. Read the deflate.c source code for the meaning of the
- max_lazy, good_length, nice_length, and max_chain parameters.
-
- deflateTune() can be called after deflateInit() or deflateInit2(), and
- returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
- */
-
-ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
- uLong sourceLen));
-/*
- deflateBound() returns an upper bound on the compressed size after
- deflation of sourceLen bytes. It must be called after deflateInit() or
- deflateInit2(), and after deflateSetHeader(), if used. This would be used
- to allocate an output buffer for deflation in a single pass, and so would be
- called before deflate(). If that first deflate() call is provided the
- sourceLen input bytes, an output buffer allocated to the size returned by
- deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed
- to return Z_STREAM_END. Note that it is possible for the compressed size to
- be larger than the value returned by deflateBound() if flush options other
- than Z_FINISH or Z_NO_FLUSH are used.
-*/
-
-ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm,
- unsigned *pending,
- int *bits));
-/*
- deflatePending() returns the number of bytes and bits of output that have
- been generated, but not yet provided in the available output. The bytes not
- provided would be due to the available output space having being consumed.
- The number of bits of output not provided are between 0 and 7, where they
- await more bits to join them in order to fill out a full byte. If pending
- or bits are Z_NULL, then those values are not set.
-
- deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
- */
-
-ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- deflatePrime() inserts bits in the deflate output stream. The intent
- is that this function is used to start off the deflate output with the bits
- leftover from a previous deflate stream when appending to it. As such, this
- function can only be used for raw deflate, and must be used before the first
- deflate() call after a deflateInit2() or deflateReset(). bits must be less
- than or equal to 16, and that many of the least significant bits of value
- will be inserted in the output.
-
- deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough
- room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the
- source stream state was inconsistent.
-*/
-
-ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
- gz_headerp head));
-/*
- deflateSetHeader() provides gzip header information for when a gzip
- stream is requested by deflateInit2(). deflateSetHeader() may be called
- after deflateInit2() or deflateReset() and before the first call of
- deflate(). The text, time, os, extra field, name, and comment information
- in the provided gz_header structure are written to the gzip header (xflag is
- ignored -- the extra flags are set according to the compression level). The
- caller must assure that, if not Z_NULL, name and comment are terminated with
- a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
- available there. If hcrc is true, a gzip header crc is included. Note that
- the current versions of the command-line version of gzip (up through version
- 1.3.x) do not support header crc's, and will report that it is a "multi-part
- gzip file" and give up.
-
- If deflateSetHeader is not used, the default gzip header has text false,
- the time set to zero, and os set to 255, with no extra, name, or comment
- fields. The gzip header is returned to the default state by deflateReset().
-
- deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with an extra parameter. The
- fields next_in, avail_in, zalloc, zfree and opaque must be initialized
- before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library. The default value is 15 if inflateInit is used
- instead. windowBits must be greater than or equal to the windowBits value
- provided to deflateInit2() while compressing, or it must be equal to 15 if
- deflateInit2() was not used. If a compressed stream with a larger window
- size is given as input, inflate() will return with the error code
- Z_DATA_ERROR instead of trying to allocate a larger window.
-
- windowBits can also be zero to request that inflate use the window size in
- the zlib header of the compressed stream.
-
- windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
- determines the window size. inflate() will then process raw deflate data,
- not looking for a zlib or gzip header, not generating a check value, and not
- looking for any check values for comparison at the end of the stream. This
- is for use with other formats that use the deflate compressed data format
- such as zip. Those formats provide their own check values. If a custom
- format is developed using the raw deflate format for compressed data, it is
- recommended that a check value such as an adler32 or a crc32 be applied to
- the uncompressed data as is done in the zlib, gzip, and zip formats. For
- most applications, the zlib format should be used as is. Note that comments
- above on the use in deflateInit2() applies to the magnitude of windowBits.
-
- windowBits can also be greater than 15 for optional gzip decoding. Add
- 32 to windowBits to enable zlib and gzip decoding with automatic header
- detection, or add 16 to decode only the gzip format (the zlib format will
- return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
- crc32 instead of an adler32.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller, or Z_STREAM_ERROR if the parameters are
- invalid, such as a null pointer to the structure. msg is set to null if
- there is no error message. inflateInit2 does not perform any decompression
- apart from possibly reading the zlib header if present: actual decompression
- will be done by inflate(). (So next_in and avail_in may be modified, but
- next_out and avail_out are unused and unchanged.) The current implementation
- of inflateInit2() does not process any header information -- that is
- deferred until inflate() is called.
-*/
-
-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary from the given uncompressed byte
- sequence. This function must be called immediately after a call of inflate,
- if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
- can be determined from the adler32 value returned by that call of inflate.
- The compressor and decompressor must use exactly the same dictionary (see
- deflateSetDictionary). For raw inflate, this function can be called at any
- time to set the dictionary. If the provided dictionary is smaller than the
- window and there is already data in the window, then the provided dictionary
- will amend what's there. The application must insure that the dictionary
- that was used for compression is provided.
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until a possible full flush point (see above
- for the description of deflate with Z_FULL_FLUSH) can be found, or until all
- available input is skipped. No output is provided.
-
- inflateSync searches for a 00 00 FF FF pattern in the compressed data.
- All full flush points have this pattern, but not all occurences of this
- pattern are full flush points.
-
- inflateSync returns Z_OK if a possible full flush point has been found,
- Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point
- has been found, or Z_STREAM_ERROR if the stream structure was inconsistent.
- In the success case, the application may save the current current value of
- total_in which indicates where valid compressed data was found. In the
- error case, the application may repeatedly call inflateSync, providing more
- input each time, until success or end of the input data.
-*/
-
-ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when randomly accessing a large stream. The
- first pass through the stream can periodically record the inflate state,
- allowing restarting inflate at those points when randomly accessing the
- stream.
-
- inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being Z_NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state. The
- stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being Z_NULL).
-*/
-
-ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
- int windowBits));
-/*
- This function is the same as inflateReset, but it also permits changing
- the wrap and window size requests. The windowBits parameter is interpreted
- the same as it is for inflateInit2.
-
- inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being Z_NULL), or if
- the windowBits parameter is invalid.
-*/
-
-ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- This function inserts bits in the inflate input stream. The intent is
- that this function is used to start inflating at a bit position in the
- middle of a byte. The provided bits will be used before any bytes are used
- from next_in. This function should only be used with raw inflate, and
- should be used before the first inflate() call after inflateInit2() or
- inflateReset(). bits must be less than or equal to 16, and that many of the
- least significant bits of value will be inserted in the input.
-
- If bits is negative, then the input stream bit buffer is emptied. Then
- inflatePrime() can be called again to put bits in the buffer. This is used
- to clear out bits leftover after feeding inflate a block description prior
- to feeding inflate codes.
-
- inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
-/*
- This function returns two values, one in the lower 16 bits of the return
- value, and the other in the remaining upper bits, obtained by shifting the
- return value down 16 bits. If the upper value is -1 and the lower value is
- zero, then inflate() is currently decoding information outside of a block.
- If the upper value is -1 and the lower value is non-zero, then inflate is in
- the middle of a stored block, with the lower value equaling the number of
- bytes from the input remaining to copy. If the upper value is not -1, then
- it is the number of bits back from the current bit position in the input of
- the code (literal or length/distance pair) currently being processed. In
- that case the lower value is the number of bytes already emitted for that
- code.
-
- A code is being processed if inflate is waiting for more input to complete
- decoding of the code, or if it has completed decoding but is waiting for
- more output space to write the literal or match data.
-
- inflateMark() is used to mark locations in the input data for random
- access, which may be at bit positions, and to note those cases where the
- output of a code may span boundaries of random access blocks. The current
- location in the input stream can be determined from avail_in and data_type
- as noted in the description for the Z_BLOCK flush parameter for inflate.
-
- inflateMark returns the value noted above or -1 << 16 if the provided
- source stream state was inconsistent.
-*/
-
-ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
- gz_headerp head));
-/*
- inflateGetHeader() requests that gzip header information be stored in the
- provided gz_header structure. inflateGetHeader() may be called after
- inflateInit2() or inflateReset(), and before the first call of inflate().
- As inflate() processes the gzip stream, head->done is zero until the header
- is completed, at which time head->done is set to one. If a zlib stream is
- being decoded, then head->done is set to -1 to indicate that there will be
- no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be
- used to force inflate() to return immediately after header processing is
- complete and before any actual data is decompressed.
-
- The text, time, xflags, and os fields are filled in with the gzip header
- contents. hcrc is set to true if there is a header CRC. (The header CRC
- was valid if done is set to one.) If extra is not Z_NULL, then extra_max
- contains the maximum number of bytes to write to extra. Once done is true,
- extra_len contains the actual extra field length, and extra contains the
- extra field, or that field truncated if extra_max is less than extra_len.
- If name is not Z_NULL, then up to name_max characters are written there,
- terminated with a zero unless the length is greater than name_max. If
- comment is not Z_NULL, then up to comm_max characters are written there,
- terminated with a zero unless the length is greater than comm_max. When any
- of extra, name, or comment are not Z_NULL and the respective field is not
- present in the header, then that field is set to Z_NULL to signal its
- absence. This allows the use of deflateSetHeader() with the returned
- structure to duplicate the header. However if those fields are set to
- allocated memory, then the application will need to save those pointers
- elsewhere so that they can be eventually freed.
-
- If inflateGetHeader is not used, then the header information is simply
- discarded. The header is always checked for validity, including the header
- CRC if present. inflateReset() will reset the process to discard the header
- information. The application would need to call inflateGetHeader() again to
- retrieve the header from the next gzip stream.
-
- inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
- unsigned char FAR *window));
-
- Initialize the internal stream state for decompression using inflateBack()
- calls. The fields zalloc, zfree and opaque in strm must be initialized
- before the call. If zalloc and zfree are Z_NULL, then the default library-
- derived memory allocation routines are used. windowBits is the base two
- logarithm of the window size, in the range 8..15. window is a caller
- supplied buffer of that size. Except for special applications where it is
- assured that deflate was used with small window sizes, windowBits must be 15
- and a 32K byte window must be supplied to be able to decompress general
- deflate streams.
-
- See inflateBack() for the usage of these routines.
-
- inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
- the parameters are invalid, Z_MEM_ERROR if the internal state could not be
- allocated, or Z_VERSION_ERROR if the version of the library does not match
- the version of the header file.
-*/
-
-typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
-typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
-
-ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
- in_func in, void FAR *in_desc,
- out_func out, void FAR *out_desc));
-/*
- inflateBack() does a raw inflate with a single call using a call-back
- interface for input and output. This is more efficient than inflate() for
- file i/o applications in that it avoids copying between the output and the
- sliding window by simply making the window itself the output buffer. This
- function trusts the application to not change the output buffer passed by
- the output function, at least until inflateBack() returns.
-
- inflateBackInit() must be called first to allocate the internal state
- and to initialize the state with the user-provided window buffer.
- inflateBack() may then be used multiple times to inflate a complete, raw
- deflate stream with each call. inflateBackEnd() is then called to free the
- allocated state.
-
- A raw deflate stream is one with no zlib or gzip header or trailer.
- This routine would normally be used in a utility that reads zip or gzip
- files and writes out uncompressed files. The utility would decode the
- header and process the trailer on its own, hence this routine expects only
- the raw deflate stream to decompress. This is different from the normal
- behavior of inflate(), which expects either a zlib or gzip header and
- trailer around the deflate stream.
-
- inflateBack() uses two subroutines supplied by the caller that are then
- called by inflateBack() for input and output. inflateBack() calls those
- routines until it reads a complete deflate stream and writes out all of the
- uncompressed data, or until it encounters an error. The function's
- parameters and return types are defined above in the in_func and out_func
- typedefs. inflateBack() will call in(in_desc, &buf) which should return the
- number of bytes of provided input, and a pointer to that input in buf. If
- there is no input available, in() must return zero--buf is ignored in that
- case--and inflateBack() will return a buffer error. inflateBack() will call
- out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
- should return zero on success, or non-zero on failure. If out() returns
- non-zero, inflateBack() will return with an error. Neither in() nor out()
- are permitted to change the contents of the window provided to
- inflateBackInit(), which is also the buffer that out() uses to write from.
- The length written by out() will be at most the window size. Any non-zero
- amount of input may be provided by in().
-
- For convenience, inflateBack() can be provided input on the first call by
- setting strm->next_in and strm->avail_in. If that input is exhausted, then
- in() will be called. Therefore strm->next_in must be initialized before
- calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
- immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
- must also be initialized, and then if strm->avail_in is not zero, input will
- initially be taken from strm->next_in[0 .. strm->avail_in - 1].
-
- The in_desc and out_desc parameters of inflateBack() is passed as the
- first parameter of in() and out() respectively when they are called. These
- descriptors can be optionally used to pass any information that the caller-
- supplied in() and out() functions need to do their job.
-
- On return, inflateBack() will set strm->next_in and strm->avail_in to
- pass back any unused input that was provided by the last in() call. The
- return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
- if in() or out() returned an error, Z_DATA_ERROR if there was a format error
- in the deflate stream (in which case strm->msg is set to indicate the nature
- of the error), or Z_STREAM_ERROR if the stream was not properly initialized.
- In the case of Z_BUF_ERROR, an input or output error can be distinguished
- using strm->next_in which will be Z_NULL only if in() returned an error. If
- strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
- non-zero. (in() will always be called before out(), so strm->next_in is
- assured to be defined if out() returns non-zero.) Note that inflateBack()
- cannot return Z_OK.
-*/
-
-ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
-/*
- All memory allocated by inflateBackInit() is freed.
-
- inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
- state was inconsistent.
-*/
-
-ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
-/* Return flags indicating compile-time options.
-
- Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
- 1.0: size of uInt
- 3.2: size of uLong
- 5.4: size of voidpf (pointer)
- 7.6: size of z_off_t
-
- Compiler, assembler, and debug options:
- 8: DEBUG
- 9: ASMV or ASMINF -- use ASM code
- 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
- 11: 0 (reserved)
-
- One-time table building (smaller code, but not thread-safe if true):
- 12: BUILDFIXED -- build static block decoding tables when needed
- 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
- 14,15: 0 (reserved)
-
- Library content (indicates missing functionality):
- 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
- deflate code when not needed)
- 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
- and decode gzip streams (to avoid linking crc code)
- 18-19: 0 (reserved)
-
- Operation variations (changes in library functionality):
- 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
- 21: FASTEST -- deflate algorithm with only one, lowest compression level
- 22,23: 0 (reserved)
-
- The sprintf variant used by gzprintf (zero is best):
- 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
- 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
- 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
-
- Remainder:
- 27-31: 0 (reserved)
- */
-
-#ifndef Z_SOLO
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the basic
- stream-oriented functions. To simplify the interface, some default options
- are assumed (compression level and memory usage, standard memory allocation
- functions). The source code of these utility functions can be modified if
- you need special options.
-*/
-
-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total size
- of the destination buffer, which must be at least the value returned by
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
-
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen,
- int level));
-/*
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least the value returned by
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-
-ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
-/*
- compressBound() returns an upper bound on the compressed size after
- compress() or compress2() on sourceLen bytes. It would be used before a
- compress() or compress2() call to allocate the destination buffer.
-*/
-
-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total size
- of the destination buffer, which must be large enough to hold the entire
- uncompressed data. (The size of the uncompressed data must have been saved
- previously by the compressor and transmitted to the decompressor by some
- mechanism outside the scope of this compression library.) Upon exit, destLen
- is the actual size of the uncompressed buffer.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In
- the case where there is not enough room, uncompress() will fill the output
- buffer with the uncompressed data up to that point.
-*/
-
- /* gzip file access functions */
-
-/*
- This library supports reading and writing files in gzip (.gz) format with
- an interface similar to that of stdio, using the functions that start with
- "gz". The gzip format is different from the zlib format. gzip is a gzip
- wrapper, documented in RFC 1952, wrapped around a deflate stream.
-*/
-
-typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */
-
-/*
-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
-
- Opens a gzip (.gz) file for reading or writing. The mode parameter is as
- in fopen ("rb" or "wb") but can also include a compression level ("wb9") or
- a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
- compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
- for fixed code compression as in "wb9F". (See the description of
- deflateInit2 for more information about the strategy parameter.) 'T' will
- request transparent writing or appending with no compression and not using
- the gzip format.
-
- "a" can be used instead of "w" to request that the gzip stream that will
- be written be appended to the file. "+" will result in an error, since
- reading and writing to the same gzip file is not supported.
-
- These functions, as well as gzip, will read and decode a sequence of gzip
- streams in a file. The append function of gzopen() can be used to create
- such a file. (Also see gzflush() for another way to do this.) When
- appending, gzopen does not test whether the file begins with a gzip stream,
- nor does it look for the end of the gzip streams to begin appending. gzopen
- will simply append a gzip stream to the existing file.
-
- gzopen can be used to read a file which is not in gzip format; in this
- case gzread will directly read from the file without decompression. When
- reading, this will be detected automatically by looking for the magic two-
- byte gzip header.
-
- gzopen returns NULL if the file could not be opened, if there was
- insufficient memory to allocate the gzFile state, or if an invalid mode was
- specified (an 'r', 'w', or 'a' was not provided, or '+' was provided).
- errno can be checked to determine if the reason gzopen failed was that the
- file could not be opened.
-*/
-
-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen associates a gzFile with the file descriptor fd. File descriptors
- are obtained from calls like open, dup, creat, pipe or fileno (if the file
- has been previously opened with fopen). The mode parameter is as in gzopen.
-
- The next call of gzclose on the returned gzFile will also close the file
- descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
- fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
- mode);. The duplicated descriptor should be saved to avoid a leak, since
- gzdopen does not close fd if it fails. If you are using fileno() to get the
- file descriptor from a FILE *, then you will have to use dup() to avoid
- double-close()ing the file descriptor. Both gzclose() and fclose() will
- close the associated file descriptor, so they need to have different file
- descriptors.
-
- gzdopen returns NULL if there was insufficient memory to allocate the
- gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
- provided, or '+' was provided), or if fd is -1. The file descriptor is not
- used until the next gz* read, write, seek, or close operation, so gzdopen
- will not detect if fd is invalid (unless fd is -1).
-*/
-
-ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
-/*
- Set the internal buffer size used by this library's functions. The
- default buffer size is 8192 bytes. This function must be called after
- gzopen() or gzdopen(), and before any other calls that read or write the
- file. The buffer memory allocation is always deferred to the first read or
- write. Two buffers are allocated, either both of the specified size when
- writing, or one of the specified size and the other twice that size when
- reading. A larger buffer size of, for example, 64K or 128K bytes will
- noticeably increase the speed of decompression (reading).
-
- The new buffer size also affects the maximum length for gzprintf().
-
- gzbuffer() returns 0 on success, or -1 on failure, such as being called
- too late.
-*/
-
-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
-/*
- Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters.
-
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
- opened for writing.
-*/
-
-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file. If
- the input file is not in gzip format, gzread copies the given number of
- bytes into the buffer directly from the file.
-
- After reaching the end of a gzip stream in the input, gzread will continue
- to read, looking for another gzip stream. Any number of gzip streams may be
- concatenated in the input file, and will all be decompressed by gzread().
- If something other than a gzip stream is encountered after a gzip stream,
- that remaining trailing garbage is ignored (and no error is returned).
-
- gzread can be used to read a gzip file that is being concurrently written.
- Upon reaching the end of the input, gzread will return with the available
- data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then
- gzclearerr can be used to clear the end of file indicator in order to permit
- gzread to be tried again. Z_OK indicates that a gzip stream was completed
- on the last gzread. Z_BUF_ERROR indicates that the input file ended in the
- middle of a gzip stream. Note that gzread does not return -1 in the event
- of an incomplete gzip stream. This error is deferred until gzclose(), which
- will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip
- stream. Alternatively, gzerror can be used before gzclose to detect this
- case.
-
- gzread returns the number of uncompressed bytes actually read, less than
- len for end of file, or -1 for error.
-*/
-
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- voidpc buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes written or 0 in case of
- error.
-*/
-
-ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
-/*
- Converts, formats, and writes the arguments to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written, or 0 in case of error. The number of
- uncompressed bytes written is limited to 8191, or one less than the buffer
- size given to gzbuffer(). The caller should assure that this limit is not
- exceeded. If it is exceeded, then gzprintf() will return an error (0) with
- nothing written. In this case, there may also be a buffer overflow with
- unpredictable consequences, which is possible only if zlib was compiled with
- the insecure functions sprintf() or vsprintf() because the secure snprintf()
- or vsnprintf() functions were not available. This can be determined using
- zlibCompileFlags().
-*/
-
-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
-/*
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
-
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-
-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
-/*
- Reads bytes from the compressed file until len-1 characters are read, or a
- newline character is read and transferred to buf, or an end-of-file
- condition is encountered. If any characters are read or if len == 1, the
- string is terminated with a null character. If no characters are read due
- to an end-of-file or len < 1, then the buffer is left untouched.
-
- gzgets returns buf which is a null-terminated string, or it returns NULL
- for end-of-file or in case of error. If there was an error, the contents at
- buf are indeterminate.
-*/
-
-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
-/*
- Writes c, converted to an unsigned char, into the compressed file. gzputc
- returns the value that was written, or -1 in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
-/*
- Reads one byte from the compressed file. gzgetc returns this byte or -1
- in case of end of file or error. This is implemented as a macro for speed.
- As such, it does not do all of the checking the other functions do. I.e.
- it does not check to see if file is NULL, nor whether the structure file
- points to has been clobbered or not.
-*/
-
-ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
-/*
- Push one character back onto the stream to be read as the first character
- on the next read. At least one character of push-back is allowed.
- gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
- fail if c is -1, and may fail if a character has been pushed but not read
- yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
- output buffer size of pushed characters is allowed. (See gzbuffer above.)
- The pushed character will be discarded if the stream is repositioned with
- gzseek() or gzrewind().
-*/
-
-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter flush
- is as in the deflate() function. The return value is the zlib error number
- (see function gzerror below). gzflush is only permitted when writing.
-
- If the flush parameter is Z_FINISH, the remaining data is written and the
- gzip stream is completed in the output. If gzwrite() is called again, a new
- gzip stream will be started in the output. gzread() is able to read such
- concatented gzip streams.
-
- gzflush should be called only when strictly necessary because it will
- degrade compression if called too often.
-*/
-
-/*
-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
- z_off_t offset, int whence));
-
- Sets the starting position for the next gzread or gzwrite on the given
- compressed file. The offset represents a number of bytes in the
- uncompressed data stream. The whence parameter is defined as in lseek(2);
- the value SEEK_END is not supported.
-
- If the file is opened for reading, this function is emulated but can be
- extremely slow. If the file is opened for writing, only forward seeks are
- supported; gzseek then compresses a sequence of zeroes up to the new
- starting position.
-
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error, in
- particular if the file is opened for writing and the new starting position
- would be before the current position.
-*/
-
-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
-/*
- Rewinds the given file. This function is supported only for reading.
-
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
-*/
-
-/*
-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
-
- Returns the starting position for the next gzread or gzwrite on the given
- compressed file. This position represents a number of bytes in the
- uncompressed data stream, and is zero when starting, even if appending or
- reading a gzip stream from the middle of a file using gzdopen().
-
- gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
-*/
-
-/*
-ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
-
- Returns the current offset in the file being read or written. This offset
- includes the count of bytes that precede the gzip stream, for example when
- appending or when using gzdopen() for reading. When reading, the offset
- does not include as yet unused buffered input. This information can be used
- for a progress indicator. On error, gzoffset() returns -1.
-*/
-
-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
-/*
- Returns true (1) if the end-of-file indicator has been set while reading,
- false (0) otherwise. Note that the end-of-file indicator is set only if the
- read tried to go past the end of the input, but came up short. Therefore,
- just like feof(), gzeof() may return false even if there is no more data to
- read, in the event that the last read request was for the exact number of
- bytes remaining in the input file. This will happen if the input file size
- is an exact multiple of the buffer size.
-
- If gzeof() returns true, then the read functions will return no more data,
- unless the end-of-file indicator is reset by gzclearerr() and the input file
- has grown since the previous end of file was detected.
-*/
-
-ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
-/*
- Returns true (1) if file is being copied directly while reading, or false
- (0) if file is a gzip stream being decompressed.
-
- If the input file is empty, gzdirect() will return true, since the input
- does not contain a gzip stream.
-
- If gzdirect() is used immediately after gzopen() or gzdopen() it will
- cause buffers to be allocated to allow reading the file to determine if it
- is a gzip file. Therefore if gzbuffer() is used, it should be called before
- gzdirect().
-
- When writing, gzdirect() returns true (1) if transparent writing was
- requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note:
- gzdirect() is not needed when writing. Transparent writing must be
- explicitly requested, so the application already knows the answer. When
- linking statically, using gzdirect() will include all of the zlib code for
- gzip file reading and decompression, which may not be desired.)
-*/
-
-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file and
- deallocates the (de)compression state. Note that once file is closed, you
- cannot call gzerror with file, since its structures have been deallocated.
- gzclose must not be called more than once on the same file, just as free
- must not be called more than once on the same allocation.
-
- gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
- file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the
- last read ended in the middle of a gzip stream, or Z_OK on success.
-*/
-
-ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
-ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
-/*
- Same as gzclose(), but gzclose_r() is only for use when reading, and
- gzclose_w() is only for use when writing or appending. The advantage to
- using these instead of gzclose() is that they avoid linking in zlib
- compression or decompression code that is not used when only reading or only
- writing respectively. If gzclose() is used, then both compression and
- decompression code will be included the application when linking to a static
- zlib library.
-*/
-
-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the given
- compressed file. errnum is set to zlib error number. If an error occurred
- in the file system and not in the compression library, errnum is set to
- Z_ERRNO and the application may consult errno to get the exact error code.
-
- The application must not modify the returned string. Future calls to
- this function may invalidate the previously returned string. If file is
- closed, then the string previously returned by gzerror will no longer be
- available.
-
- gzerror() should be used to distinguish errors from end-of-file for those
- functions above that do not distinguish those cases in their return values.
-*/
-
-ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
-/*
- Clears the error and end-of-file flags for file. This is analogous to the
- clearerr() function in stdio. This is useful for continuing to read a gzip
- file that is being written concurrently.
-*/
-
-#endif /* !Z_SOLO */
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the compression
- library.
-*/
-
-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is Z_NULL, this function returns the
- required initial value for the checksum.
-
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster.
-
- Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-/*
-ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
- z_off_t len2));
-
- Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
- and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
- each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
- seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note
- that the z_off_t type (like off_t) is a signed integer. If len2 is
- negative, the result has no meaning or utility.
-*/
-
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running CRC-32 with the bytes buf[0..len-1] and return the
- updated CRC-32. If buf is Z_NULL, this function returns the required
- initial value for the for the crc. Pre- and post-conditioning (one's
- complement) is performed within this function so it shouldn't be done by the
- application.
-
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-/*
-ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
-
- Combine two CRC-32 check values into one. For two sequences of bytes,
- seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
- calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
- check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
- len2.
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel,
- int strategy, const char *version,
- int stream_size));
-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
- unsigned char FAR *window,
- const char *version,
- int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
- (int)sizeof(z_stream))
-#define inflateBackInit(strm, windowBits, window) \
- inflateBackInit_((strm), (windowBits), (window), \
- ZLIB_VERSION, (int)sizeof(z_stream))
-
-#ifndef Z_SOLO
-
-/* gzgetc() macro and its supporting function and exposed data structure. Note
- * that the real internal state is much larger than the exposed structure.
- * This abbreviated structure exposes just enough for the gzgetc() macro. The
- * user should not mess with these exposed elements, since their names or
- * behavior could change in the future, perhaps even capriciously. They can
- * only be used by the gzgetc() macro. You have been warned.
- */
-struct gzFile_s {
- unsigned have;
- unsigned char *next;
- z_off64_t pos;
-};
-ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));
-#define gzgetc(g) \
- ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc_(g))
-
-/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
- * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
- * both are true, the application gets the *64 functions, and the regular
- * functions are changed to 64 bits) -- in case these are set on systems
- * without large file support, _LFS64_LARGEFILE must also be true
- */
-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
- ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
- ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
- ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
- ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
- ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
-#endif
-
-#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
-# ifdef Z_PREFIX_SET
-# define z_gzopen z_gzopen64
-# define z_gzseek z_gzseek64
-# define z_gztell z_gztell64
-# define z_gzoffset z_gzoffset64
-# define z_adler32_combine z_adler32_combine64
-# define z_crc32_combine z_crc32_combine64
-# else
-# define gzopen gzopen64
-# define gzseek gzseek64
-# define gztell gztell64
-# define gzoffset gzoffset64
-# define adler32_combine adler32_combine64
-# define crc32_combine crc32_combine64
-# endif
-# ifndef _LARGEFILE64_SOURCE
- ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
- ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
- ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
- ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
- ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
-# endif
-#else
- ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
- ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));
- ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));
- ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
- ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
-#endif
-
-#else /* Z_SOLO */
-
- ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
-
-#endif /* !Z_SOLO */
-
-/* hack for buggy compilers */
-#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;};
-#endif
-
-/* undocumented functions */
-ZEXTERN const char * ZEXPORT zError OF((int));
-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
-ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
-ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
-ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
-#ifndef Z_SOLO
- ZEXTERN unsigned long ZEXPORT gzflags OF((void));
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ZLIB_H */
+++ /dev/null
-libzdll.a
\ No newline at end of file
+++ /dev/null
-prefix=/usr/local
-exec_prefix=/usr/local
-libdir=/tmp/zlib-1.2.6.out/usr/local/lib
-sharedlibdir=/tmp/zlib-1.2.6.out/usr/local/lib
-includedir=/tmp/zlib-1.2.6.out/usr/local/include
-
-Name: zlib
-Description: zlib compression library
-Version: 1.2.6
-
-Requires:
-Libs: -L${libdir} -L${sharedlibdir} -lz
-Cflags: -I${includedir}
+++ /dev/null
-/**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the w64 mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
-
-#if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
-#define NONAMELESSUNION 1
-#endif
-#if defined(NONAMELESSSTRUCT) && \
- !defined(NONAMELESSUNION)
-#define NONAMELESSUNION 1
-#endif
-#if defined(NONAMELESSUNION) && \
- !defined(NONAMELESSSTRUCT)
-#define NONAMELESSSTRUCT 1
-#endif
-
-#ifndef __ANONYMOUS_DEFINED
-#define __ANONYMOUS_DEFINED
-#if defined(__GNUC__) || defined(__GNUG__)
-#define _ANONYMOUS_UNION __extension__
-#define _ANONYMOUS_STRUCT __extension__
-#else
-#define _ANONYMOUS_UNION
-#define _ANONYMOUS_STRUCT
-#endif
-#ifndef NONAMELESSUNION
-#define _UNION_NAME(x)
-#define _STRUCT_NAME(x)
-#else /* NONAMELESSUNION */
-#define _UNION_NAME(x) x
-#define _STRUCT_NAME(x) x
-#endif
-#endif /* __ANONYMOUS_DEFINED */
-
-#ifndef DUMMYUNIONNAME
-# ifdef NONAMELESSUNION
-# define DUMMYUNIONNAME u
-# define DUMMYUNIONNAME1 u1 /* Wine uses this variant */
-# define DUMMYUNIONNAME2 u2
-# define DUMMYUNIONNAME3 u3
-# define DUMMYUNIONNAME4 u4
-# define DUMMYUNIONNAME5 u5
-# define DUMMYUNIONNAME6 u6
-# define DUMMYUNIONNAME7 u7
-# define DUMMYUNIONNAME8 u8
-# define DUMMYUNIONNAME9 u9
-# else /* NONAMELESSUNION */
-# define DUMMYUNIONNAME
-# define DUMMYUNIONNAME1 /* Wine uses this variant */
-# define DUMMYUNIONNAME2
-# define DUMMYUNIONNAME3
-# define DUMMYUNIONNAME4
-# define DUMMYUNIONNAME5
-# define DUMMYUNIONNAME6
-# define DUMMYUNIONNAME7
-# define DUMMYUNIONNAME8
-# define DUMMYUNIONNAME9
-# endif
-#endif /* DUMMYUNIONNAME */
-
-#ifndef DUMMYSTRUCTNAME
-# ifdef NONAMELESSUNION
-# define DUMMYSTRUCTNAME s
-# define DUMMYSTRUCTNAME1 s1 /* Wine uses this variant */
-# define DUMMYSTRUCTNAME2 s2
-# define DUMMYSTRUCTNAME3 s3
-# define DUMMYSTRUCTNAME4 s4
-# define DUMMYSTRUCTNAME5 s5
-# else
-# define DUMMYSTRUCTNAME
-# define DUMMYSTRUCTNAME1 /* Wine uses this variant */
-# define DUMMYSTRUCTNAME2
-# define DUMMYSTRUCTNAME3
-# define DUMMYSTRUCTNAME4
-# define DUMMYSTRUCTNAME5
-# endif
-#endif /* DUMMYSTRUCTNAME */
-
-/* These are for compatibility with the Wine source tree */
-
-#ifndef WINELIB_NAME_AW
-# ifdef __MINGW_NAME_AW
-# define WINELIB_NAME_AW __MINGW_NAME_AW
-# else
-# ifdef UNICODE
-# define WINELIB_NAME_AW(func) func##W
-# else
-# define WINELIB_NAME_AW(func) func##A
-# endif
-# endif
-#endif /* WINELIB_NAME_AW */
-
-#ifndef DECL_WINELIB_TYPE_AW
-# ifdef __MINGW_TYPEDEF_AW
-# define DECL_WINELIB_TYPE_AW __MINGW_TYPEDEF_AW
-# else
-# define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
-# endif
-#endif /* DECL_WINELIB_TYPE_AW */
-
+++ /dev/null
-/*
- * Copyright (C) the Wine project
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D_H
-#define __WINE_D3D_H
-
-#include <stdlib.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-#include <d3dtypes.h> /* must precede d3dcaps.h */
-#include <d3dcaps.h>
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-DEFINE_GUID(IID_IDirect3D, 0x3BBA0080,0x2421,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3D2, 0x6aae1ec1,0x662a,0x11d0,0x88,0x9d,0x00,0xaa,0x00,0xbb,0xb7,0x6a);
-DEFINE_GUID(IID_IDirect3D3, 0xbb223240,0xe72b,0x11d0,0xa9,0xb4,0x00,0xaa,0x00,0xc0,0x99,0x3e);
-DEFINE_GUID(IID_IDirect3D7, 0xf5049e77,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-
-DEFINE_GUID(IID_IDirect3DRampDevice, 0xF2086B20,0x259F,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3DRGBDevice, 0xA4665C60,0x2673,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3DHALDevice, 0x84E63dE0,0x46AA,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-DEFINE_GUID(IID_IDirect3DMMXDevice, 0x881949a1,0xd6f3,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DRefDevice, 0x50936643,0x13e9,0x11d1,0x89,0xaa,0x00,0xa0,0xc9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DTnLHalDevice, 0xf5049e78,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-DEFINE_GUID(IID_IDirect3DNullDevice, 0x8767df22,0xbacc,0x11d1,0x89,0x69,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-
-DEFINE_GUID(IID_IDirect3DDevice, 0x64108800,0x957d,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DDevice2, 0x93281501,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DDevice3, 0xb0ab3b60,0x33d7,0x11d1,0xa9,0x81,0x00,0xc0,0x4f,0xd7,0xb1,0x74);
-DEFINE_GUID(IID_IDirect3DDevice7, 0xf5049e79,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-
-DEFINE_GUID(IID_IDirect3DTexture, 0x2CDCD9E0,0x25A0,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3DTexture2, 0x93281502,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-
-DEFINE_GUID(IID_IDirect3DLight, 0x4417C142,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-
-DEFINE_GUID(IID_IDirect3DMaterial, 0x4417C144,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-DEFINE_GUID(IID_IDirect3DMaterial2, 0x93281503,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DMaterial3, 0xca9c46f4,0xd3c5,0x11d1,0xb7,0x5a,0x00,0x60,0x08,0x52,0xb3,0x12);
-
-DEFINE_GUID(IID_IDirect3DExecuteBuffer, 0x4417C145,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-
-DEFINE_GUID(IID_IDirect3DViewport, 0x4417C146,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
-DEFINE_GUID(IID_IDirect3DViewport2, 0x93281500,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DViewport3, 0xb0ab3b61,0x33d7,0x11d1,0xa9,0x81,0x00,0xc0,0x4f,0xd7,0xb1,0x74);
-
-DEFINE_GUID(IID_IDirect3DVertexBuffer, 0x7a503555,0x4a83,0x11d1,0xa5,0xdb,0x00,0xa0,0xc9,0x03,0x67,0xf8);
-DEFINE_GUID(IID_IDirect3DVertexBuffer7, 0xf5049e7d,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
-
-
-typedef struct IDirect3D *LPDIRECT3D;
-typedef struct IDirect3D2 *LPDIRECT3D2;
-typedef struct IDirect3D3 *LPDIRECT3D3;
-typedef struct IDirect3D7 *LPDIRECT3D7;
-
-typedef struct IDirect3DLight *LPDIRECT3DLIGHT;
-
-typedef struct IDirect3DDevice *LPDIRECT3DDEVICE;
-typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2;
-typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3;
-typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7;
-
-typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT;
-typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2;
-typedef struct IDirect3DViewport3 *LPDIRECT3DVIEWPORT3;
-
-typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL;
-typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2;
-typedef struct IDirect3DMaterial3 *LPDIRECT3DMATERIAL3;
-
-typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE;
-typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2;
-
-typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER;
-
-typedef struct IDirect3DVertexBuffer *LPDIRECT3DVERTEXBUFFER;
-typedef struct IDirect3DVertexBuffer7 *LPDIRECT3DVERTEXBUFFER7;
-
-/* ********************************************************************
- Error Codes
- ******************************************************************** */
-#define D3D_OK DD_OK
-#define D3DERR_BADMAJORVERSION MAKE_DDHRESULT(700)
-#define D3DERR_BADMINORVERSION MAKE_DDHRESULT(701)
-#define D3DERR_INVALID_DEVICE MAKE_DDHRESULT(705)
-#define D3DERR_INITFAILED MAKE_DDHRESULT(706)
-#define D3DERR_DEVICEAGGREGATED MAKE_DDHRESULT(707)
-#define D3DERR_EXECUTE_CREATE_FAILED MAKE_DDHRESULT(710)
-#define D3DERR_EXECUTE_DESTROY_FAILED MAKE_DDHRESULT(711)
-#define D3DERR_EXECUTE_LOCK_FAILED MAKE_DDHRESULT(712)
-#define D3DERR_EXECUTE_UNLOCK_FAILED MAKE_DDHRESULT(713)
-#define D3DERR_EXECUTE_LOCKED MAKE_DDHRESULT(714)
-#define D3DERR_EXECUTE_NOT_LOCKED MAKE_DDHRESULT(715)
-#define D3DERR_EXECUTE_FAILED MAKE_DDHRESULT(716)
-#define D3DERR_EXECUTE_CLIPPED_FAILED MAKE_DDHRESULT(717)
-#define D3DERR_TEXTURE_NO_SUPPORT MAKE_DDHRESULT(720)
-#define D3DERR_TEXTURE_CREATE_FAILED MAKE_DDHRESULT(721)
-#define D3DERR_TEXTURE_DESTROY_FAILED MAKE_DDHRESULT(722)
-#define D3DERR_TEXTURE_LOCK_FAILED MAKE_DDHRESULT(723)
-#define D3DERR_TEXTURE_UNLOCK_FAILED MAKE_DDHRESULT(724)
-#define D3DERR_TEXTURE_LOAD_FAILED MAKE_DDHRESULT(725)
-#define D3DERR_TEXTURE_SWAP_FAILED MAKE_DDHRESULT(726)
-#define D3DERR_TEXTURE_LOCKED MAKE_DDHRESULT(727)
-#define D3DERR_TEXTURE_NOT_LOCKED MAKE_DDHRESULT(728)
-#define D3DERR_TEXTURE_GETSURF_FAILED MAKE_DDHRESULT(729)
-#define D3DERR_MATRIX_CREATE_FAILED MAKE_DDHRESULT(730)
-#define D3DERR_MATRIX_DESTROY_FAILED MAKE_DDHRESULT(731)
-#define D3DERR_MATRIX_SETDATA_FAILED MAKE_DDHRESULT(732)
-#define D3DERR_MATRIX_GETDATA_FAILED MAKE_DDHRESULT(733)
-#define D3DERR_SETVIEWPORTDATA_FAILED MAKE_DDHRESULT(734)
-#define D3DERR_INVALIDCURRENTVIEWPORT MAKE_DDHRESULT(735)
-#define D3DERR_INVALIDPRIMITIVETYPE MAKE_DDHRESULT(736)
-#define D3DERR_INVALIDVERTEXTYPE MAKE_DDHRESULT(737)
-#define D3DERR_TEXTURE_BADSIZE MAKE_DDHRESULT(738)
-#define D3DERR_INVALIDRAMPTEXTURE MAKE_DDHRESULT(739)
-#define D3DERR_MATERIAL_CREATE_FAILED MAKE_DDHRESULT(740)
-#define D3DERR_MATERIAL_DESTROY_FAILED MAKE_DDHRESULT(741)
-#define D3DERR_MATERIAL_SETDATA_FAILED MAKE_DDHRESULT(742)
-#define D3DERR_MATERIAL_GETDATA_FAILED MAKE_DDHRESULT(743)
-#define D3DERR_INVALIDPALETTE MAKE_DDHRESULT(744)
-#define D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY MAKE_DDHRESULT(745)
-#define D3DERR_ZBUFF_NEEDS_VIDEOMEMORY MAKE_DDHRESULT(746)
-#define D3DERR_SURFACENOTINVIDMEM MAKE_DDHRESULT(747)
-#define D3DERR_LIGHT_SET_FAILED MAKE_DDHRESULT(750)
-#define D3DERR_LIGHTHASVIEWPORT MAKE_DDHRESULT(751)
-#define D3DERR_LIGHTNOTINTHISVIEWPORT MAKE_DDHRESULT(752)
-#define D3DERR_SCENE_IN_SCENE MAKE_DDHRESULT(760)
-#define D3DERR_SCENE_NOT_IN_SCENE MAKE_DDHRESULT(761)
-#define D3DERR_SCENE_BEGIN_FAILED MAKE_DDHRESULT(762)
-#define D3DERR_SCENE_END_FAILED MAKE_DDHRESULT(763)
-#define D3DERR_INBEGIN MAKE_DDHRESULT(770)
-#define D3DERR_NOTINBEGIN MAKE_DDHRESULT(771)
-#define D3DERR_NOVIEWPORTS MAKE_DDHRESULT(772)
-#define D3DERR_VIEWPORTDATANOTSET MAKE_DDHRESULT(773)
-#define D3DERR_VIEWPORTHASNODEVICE MAKE_DDHRESULT(774)
-#define D3DERR_NOCURRENTVIEWPORT MAKE_DDHRESULT(775)
-#define D3DERR_INVALIDVERTEXFORMAT MAKE_DDHRESULT(2048)
-#define D3DERR_COLORKEYATTACHED MAKE_DDHRESULT(2050)
-#define D3DERR_VERTEXBUFFEROPTIMIZED MAKE_DDHRESULT(2060)
-#define D3DERR_VBUF_CREATE_FAILED MAKE_DDHRESULT(2061)
-#define D3DERR_VERTEXBUFFERLOCKED MAKE_DDHRESULT(2062)
-#define D3DERR_VERTEXBUFFERUNLOCKFAILED MAKE_DDHRESULT(2063)
-#define D3DERR_ZBUFFER_NOTPRESENT MAKE_DDHRESULT(2070)
-#define D3DERR_STENCILBUFFER_NOTPRESENT MAKE_DDHRESULT(2071)
-
-#define D3DERR_WRONGTEXTUREFORMAT MAKE_DDHRESULT(2072)
-#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_DDHRESULT(2073)
-#define D3DERR_UNSUPPORTEDCOLORARG MAKE_DDHRESULT(2074)
-#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_DDHRESULT(2075)
-#define D3DERR_UNSUPPORTEDALPHAARG MAKE_DDHRESULT(2076)
-#define D3DERR_TOOMANYOPERATIONS MAKE_DDHRESULT(2077)
-#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_DDHRESULT(2078)
-#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_DDHRESULT(2079)
-#define D3DERR_CONFLICTINGRENDERSTATE MAKE_DDHRESULT(2081)
-#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_DDHRESULT(2082)
-#define D3DERR_TOOMANYPRIMITIVES MAKE_DDHRESULT(2083)
-#define D3DERR_INVALIDMATRIX MAKE_DDHRESULT(2084)
-#define D3DERR_TOOMANYVERTICES MAKE_DDHRESULT(2085)
-#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_DDHRESULT(2086)
-
-#define D3DERR_INVALIDSTATEBLOCK MAKE_DDHRESULT(2100)
-#define D3DERR_INBEGINSTATEBLOCK MAKE_DDHRESULT(2101)
-#define D3DERR_NOTINBEGINSTATEBLOCK MAKE_DDHRESULT(2102)
-
-/* ********************************************************************
- Enums
- ******************************************************************** */
-#define D3DNEXT_NEXT 0x01l
-#define D3DNEXT_HEAD 0x02l
-#define D3DNEXT_TAIL 0x04l
-
-#define D3DDP_WAIT 0x00000001l
-#define D3DDP_OUTOFORDER 0x00000002l
-#define D3DDP_DONOTCLIP 0x00000004l
-#define D3DDP_DONOTUPDATEEXTENTS 0x00000008l
-#define D3DDP_DONOTLIGHT 0x00000010l
-
-/* ********************************************************************
- Types and structures
- ******************************************************************** */
-typedef DWORD D3DVIEWPORTHANDLE, *LPD3DVIEWPORTHANDLE;
-
-
-/*****************************************************************************
- * IDirect3D interface
- */
-#undef INTERFACE
-#define INTERFACE IDirect3D
-DECLARE_INTERFACE_(IDirect3D,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D methods ***/
- STDMETHOD(Initialize)(THIS_ REFIID riid) PURE;
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
- STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL *lplpDirect3DMaterial, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT *lplpD3DViewport, IUnknown *pUnkOuter) PURE;
- STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lplpD3DDevice) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D methods ***/
-#define IDirect3D_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3D_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
-#define IDirect3D_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3D_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
-#define IDirect3D_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D_AddRef(p) (p)->AddRef()
-#define IDirect3D_Release(p) (p)->Release()
-/*** IDirect3D methods ***/
-#define IDirect3D_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3D_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D_CreateLight(p,a,b) (p)->CreateLight(a,b)
-#define IDirect3D_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3D_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
-#define IDirect3D_FindDevice(p,a,b) (p)->FindDevice(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirect3D2 interface
- */
-#define INTERFACE IDirect3D2
-DECLARE_INTERFACE_(IDirect3D2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D2 methods ***/
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
- STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL2 *lplpDirect3DMaterial2, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpD3DViewport2, IUnknown *pUnkOuter) PURE;
- STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE;
- STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid, LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DDEVICE2 *lplpD3DDevice2) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D2 methods ***/
-#define IDirect3D2_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D2_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
-#define IDirect3D2_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3D2_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
-#define IDirect3D2_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
-#define IDirect3D2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D2_AddRef(p) (p)->AddRef()
-#define IDirect3D2_Release(p) (p)->Release()
-/*** IDirect3D2 methods ***/
-#define IDirect3D2_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D2_CreateLight(p,a,b) (p)->CreateLight(a,b)
-#define IDirect3D2_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3D2_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
-#define IDirect3D2_FindDevice(p,a,b) (p)->FindDevice(a,b)
-#define IDirect3D2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#endif
-
-
-/*****************************************************************************
- * IDirect3D3 interface
- */
-#define INTERFACE IDirect3D3
-DECLARE_INTERFACE_(IDirect3D3,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D3 methods ***/
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
- STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL3 *lplpDirect3DMaterial3, IUnknown *pUnkOuter) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpD3DViewport3, IUnknown *pUnkOuter) PURE;
- STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE;
- STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE4 lpDDS, LPDIRECT3DDEVICE3 *lplpD3DDevice3,LPUNKNOWN lpUnk) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER *lplpD3DVertBuf,DWORD dwFlags,LPUNKNOWN lpUnk) PURE;
- STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE;
- STDMETHOD(EvictManagedTextures)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D3 methods ***/
-#define IDirect3D3_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D3_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
-#define IDirect3D3_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3D3_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
-#define IDirect3D3_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
-#define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->lpVtbl->CreateDevice(p,a,b,c,d)
-#define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d)
-#define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c)
-#define IDirect3D3_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D3_AddRef(p) (p)->AddRef()
-#define IDirect3D3_Release(p) (p)->Release()
-/*** IDirect3D3 methods ***/
-#define IDirect3D3_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D3_CreateLight(p,a,b) (p)->CreateLight(a,b)
-#define IDirect3D3_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3D3_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
-#define IDirect3D3_FindDevice(p,a,b) (p)->FindDevice(a,b)
-#define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->CreateDevice(a,b,c,d)
-#define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->CreateVertexBuffer(a,b,c,d)
-#define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c)
-#define IDirect3D3_EvictManagedTextures(p) (p)->EvictManagedTextures()
-#endif
-
-/*****************************************************************************
- * IDirect3D7 interface
- */
-#define INTERFACE IDirect3D7
-DECLARE_INTERFACE_(IDirect3D7,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D7 methods ***/
- STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
- STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE7 lpDDS, LPDIRECT3DDEVICE7 *lplpD3DDevice) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER7 *lplpD3DVertBuf,DWORD dwFlags) PURE;
- STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE;
- STDMETHOD(EvictManagedTextures)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D7_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D7_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D3 methods ***/
-#define IDirect3D7_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
-#define IDirect3D7_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c)
-#define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c)
-#define IDirect3D7_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D7_AddRef(p) (p)->AddRef()
-#define IDirect3D7_Release(p) (p)->Release()
-/*** IDirect3D3 methods ***/
-#define IDirect3D7_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
-#define IDirect3D7_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->CreateVertexBuffer(a,b,c)
-#define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c)
-#define IDirect3D7_EvictManagedTextures(p) (p)->EvictManagedTextures()
-#endif
-
-
-/*****************************************************************************
- * IDirect3DLight interface
- */
-#define INTERFACE IDirect3DLight
-DECLARE_INTERFACE_(IDirect3DLight,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DLight methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(SetLight)(THIS_ LPD3DLIGHT lpLight) PURE;
- STDMETHOD(GetLight)(THIS_ LPD3DLIGHT lpLight) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DLight_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DLight_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DLight_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DLight methods ***/
-#define IDirect3DLight_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DLight_SetLight(p,a) (p)->lpVtbl->SetLight(p,a)
-#define IDirect3DLight_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DLight_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DLight_AddRef(p) (p)->AddRef()
-#define IDirect3DLight_Release(p) (p)->Release()
-/*** IDirect3DLight methods ***/
-#define IDirect3DLight_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DLight_SetLight(p,a) (p)->SetLight(a)
-#define IDirect3DLight_GetLight(p,a) (p)->GetLight(a)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DMaterial interface
- */
-#define INTERFACE IDirect3DMaterial
-DECLARE_INTERFACE_(IDirect3DMaterial,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DMaterial methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DMATERIALHANDLE lpHandle) PURE;
- STDMETHOD(Reserve)(THIS) PURE;
- STDMETHOD(Unreserve)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DMaterial_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DMaterial_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DMaterial_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DMaterial methods ***/
-#define IDirect3DMaterial_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DMaterial_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DMaterial_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DMaterial_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#define IDirect3DMaterial_Reserve(p) (p)->lpVtbl->Reserve(p)
-#define IDirect3DMaterial_Unreserve(p) (p)->lpVtbl->Unreserve(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DMaterial_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DMaterial_AddRef(p) (p)->AddRef()
-#define IDirect3DMaterial_Release(p) (p)->Release()
-/*** IDirect3DMaterial methods ***/
-#define IDirect3DMaterial_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DMaterial_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DMaterial_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DMaterial_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#define IDirect3DMaterial_Reserve(p) (p)->Reserve()
-#define IDirect3DMaterial_Unreserve(p) (p)->Unreserve()
-#endif
-
-
-/*****************************************************************************
- * IDirect3DMaterial2 interface
- */
-#define INTERFACE IDirect3DMaterial2
-DECLARE_INTERFACE_(IDirect3DMaterial2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DMaterial2 methods ***/
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DMATERIALHANDLE lpHandle) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DMaterial2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DMaterial2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DMaterial2 methods ***/
-#define IDirect3DMaterial2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DMaterial2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DMaterial2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DMaterial2_AddRef(p) (p)->AddRef()
-#define IDirect3DMaterial2_Release(p) (p)->Release()
-/*** IDirect3DMaterial2 methods ***/
-#define IDirect3DMaterial2_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DMaterial2_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DMaterial2_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DMaterial3 interface
- */
-#define INTERFACE IDirect3DMaterial3
-DECLARE_INTERFACE_(IDirect3DMaterial3,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DMaterial3 methods ***/
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE3 lpDirect3DDevice3, LPD3DMATERIALHANDLE lpHandle) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DMaterial3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DMaterial3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DMaterial3 methods ***/
-#define IDirect3DMaterial3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DMaterial3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DMaterial3_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DMaterial3_AddRef(p) (p)->AddRef()
-#define IDirect3DMaterial3_Release(p) (p)->Release()
-/*** IDirect3DMaterial3 methods ***/
-#define IDirect3DMaterial3_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DMaterial3_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DMaterial3_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DTexture interface
- */
-#define INTERFACE IDirect3DTexture
-DECLARE_INTERFACE_(IDirect3DTexture,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DTexture methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPDIRECTDRAWSURFACE lpDDSurface) PURE;
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DTEXTUREHANDLE lpHandle) PURE;
- STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE;
- STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE lpD3DTexture) PURE;
- STDMETHOD(Unload)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DTexture methods ***/
-#define IDirect3DTexture_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirect3DTexture_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#define IDirect3DTexture_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b)
-#define IDirect3DTexture_Load(p,a) (p)->lpVtbl->Load(p,a)
-#define IDirect3DTexture_Unload(p) (p)->lpVtbl->Unload(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DTexture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture_Release(p) (p)->Release()
-/*** IDirect3DTexture methods ***/
-#define IDirect3DTexture_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirect3DTexture_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#define IDirect3DTexture_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b)
-#define IDirect3DTexture_Load(p,a) (p)->Load(a)
-#define IDirect3DTexture_Unload(p) (p)->Unload()
-#endif
-
-
-/*****************************************************************************
- * IDirect3DTexture2 interface
- */
-#define INTERFACE IDirect3DTexture2
-DECLARE_INTERFACE_(IDirect3DTexture2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DTexture2 methods ***/
- STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DTEXTUREHANDLE lpHandle) PURE;
- STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE;
- STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTexture2) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DTexture2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DTexture2 methods ***/
-#define IDirect3DTexture2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
-#define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b)
-#define IDirect3DTexture2_Load(p,a) (p)->lpVtbl->Load(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DTexture2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture2_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture2_Release(p) (p)->Release()
-/*** IDirect3DTexture2 methods ***/
-#define IDirect3DTexture2_GetHandle(p,a,b) (p)->GetHandle(a,b)
-#define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b)
-#define IDirect3DTexture2_Load(p,a) (p)->Load(a)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DViewport interface
- */
-#define INTERFACE IDirect3DViewport
-DECLARE_INTERFACE_(IDirect3DViewport,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DViewport methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE;
- STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE;
- STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE;
- STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE;
- STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE;
- STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE;
- STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DViewport_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DViewport methods ***/
-#define IDirect3DViewport_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DViewport_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DViewport_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
-#define IDirect3DViewport_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
-#define IDirect3DViewport_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
-#define IDirect3DViewport_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
-#define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
-#define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
-#define IDirect3DViewport_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
-#define IDirect3DViewport_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DViewport_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DViewport_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DViewport_AddRef(p) (p)->AddRef()
-#define IDirect3DViewport_Release(p) (p)->Release()
-/*** IDirect3DViewport methods ***/
-#define IDirect3DViewport_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DViewport_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DViewport_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
-#define IDirect3DViewport_LightElements(p,a,b) (p)->LightElements(a,b)
-#define IDirect3DViewport_SetBackground(p,a) (p)->SetBackground(a)
-#define IDirect3DViewport_GetBackground(p,a,b) (p)->GetBackground(a,b)
-#define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
-#define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
-#define IDirect3DViewport_Clear(p,a,b,c) (p)->Clear(a,b,c)
-#define IDirect3DViewport_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DViewport_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DViewport_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DViewport2 interface
- */
-#define INTERFACE IDirect3DViewport2
-DECLARE_INTERFACE_(IDirect3DViewport2,IDirect3DViewport)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DViewport methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE;
- STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE;
- STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE;
- STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE;
- STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE;
- STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE;
- STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
- /*** IDirect3DViewport2 methods ***/
- STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
- STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DViewport2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3Viewport methods ***/
-#define IDirect3DViewport2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DViewport2_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DViewport2_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
-#define IDirect3DViewport2_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
-#define IDirect3DViewport2_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
-#define IDirect3DViewport2_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
-#define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
-#define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
-#define IDirect3DViewport2_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
-#define IDirect3DViewport2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DViewport2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DViewport2_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
-/*** IDirect3DViewport2 methods ***/
-#define IDirect3DViewport2_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a)
-#define IDirect3DViewport2_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DViewport2_AddRef(p) (p)->AddRef()
-#define IDirect3DViewport2_Release(p) (p)->Release()
-/*** IDirect3Viewport methods ***/
-#define IDirect3DViewport2_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DViewport2_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DViewport2_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
-#define IDirect3DViewport2_LightElements(p,a,b) (p)->LightElements(a,b)
-#define IDirect3DViewport2_SetBackground(p,a) (p)->SetBackground(a)
-#define IDirect3DViewport2_GetBackground(p,a,b) (p)->GetBackground(a,b)
-#define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
-#define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
-#define IDirect3DViewport2_Clear(p,a,b,c) (p)->Clear(a,b,c)
-#define IDirect3DViewport2_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DViewport2_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DViewport2_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
-/*** IDirect3DViewport2 methods ***/
-#define IDirect3DViewport2_GetViewport2(p,a) (p)->GetViewport2(a)
-#define IDirect3DViewport2_SetViewport2(p,a) (p)->SetViewport2(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DViewport3 interface
- */
-#define INTERFACE IDirect3DViewport3
-DECLARE_INTERFACE_(IDirect3DViewport3,IDirect3DViewport2)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DViewport methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
- STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE;
- STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE;
- STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE;
- STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE;
- STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE;
- STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE;
- STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
- STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
- /*** IDirect3DViewport2 methods ***/
- STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
- STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
- /*** IDirect3DViewport3 methods ***/
- STDMETHOD(SetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 lpDDS) PURE;
- STDMETHOD(GetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 *lplpDDS,LPBOOL lpValid) PURE;
- STDMETHOD(Clear2)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,DWORD dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DViewport3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DViewport3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DViewport3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3Viewport methods ***/
-#define IDirect3DViewport3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#define IDirect3DViewport3_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DViewport3_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
-#define IDirect3DViewport3_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
-#define IDirect3DViewport3_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
-#define IDirect3DViewport3_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
-#define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
-#define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
-#define IDirect3DViewport3_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
-#define IDirect3DViewport3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DViewport3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DViewport3_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
-/*** IDirect3DViewport2 methods ***/
-#define IDirect3DViewport3_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a)
-#define IDirect3DViewport3_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a)
-/*** IDirect3DViewport3 methods ***/
-#define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->lpVtbl->SetBackgroundDepth2(p,a)
-#define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->lpVtbl->GetBackgroundDepth2(p,a,b)
-#define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->lpVtbl->Clear2(p,a,b,c,d,e,f)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DViewport3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DViewport3_AddRef(p) (p)->AddRef()
-#define IDirect3DViewport3_Release(p) (p)->Release()
-/*** IDirect3Viewport methods ***/
-#define IDirect3DViewport3_Initialize(p,a) (p)->Initialize(a)
-#define IDirect3DViewport3_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DViewport3_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
-#define IDirect3DViewport3_LightElements(p,a,b) (p)->LightElements(a,b)
-#define IDirect3DViewport3_SetBackground(p,a) (p)->SetBackground(a)
-#define IDirect3DViewport3_GetBackground(p,a,b) (p)->GetBackground(a,b)
-#define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
-#define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
-#define IDirect3DViewport3_Clear(p,a,b,c) (p)->Clear(a,b,c)
-#define IDirect3DViewport3_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DViewport3_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DViewport3_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
-/*** IDirect3DViewport2 methods ***/
-#define IDirect3DViewport3_GetViewport2(p,a) (p)->GetViewport2(a)
-#define IDirect3DViewport3_SetViewport2(p,a) (p)->SetViewport2(a)
-/*** IDirect3DViewport3 methods ***/
-#define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->SetBackgroundDepth2(a)
-#define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->GetBackgroundDepth2(a,b)
-#define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->Clear2(a,b,c,d,e,f)
-#endif
-
-
-
-/*****************************************************************************
- * IDirect3DExecuteBuffer interface
- */
-#define INTERFACE IDirect3DExecuteBuffer
-DECLARE_INTERFACE_(IDirect3DExecuteBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DExecuteBuffer methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC lpDesc) PURE;
- STDMETHOD(Lock)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(SetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE;
- STDMETHOD(GetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE;
- STDMETHOD(Validate)(THIS_ LPDWORD lpdwOffset, LPD3DVALIDATECALLBACK lpFunc, LPVOID lpUserArg, DWORD dwReserved) PURE;
- STDMETHOD(Optimize)(THIS_ DWORD dwDummy) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DExecuteBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DExecuteBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DExecuteBuffer methods ***/
-#define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirect3DExecuteBuffer_Lock(p,a) (p)->lpVtbl->Lock(p,a)
-#define IDirect3DExecuteBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->lpVtbl->SetExecuteData(p,a)
-#define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->lpVtbl->GetExecuteData(p,a)
-#define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->lpVtbl->Validate(p,a,b,c,d)
-#define IDirect3DExecuteBuffer_Optimize(p,a) (p)->lpVtbl->Optimize(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DExecuteBuffer_AddRef(p) (p)->AddRef()
-#define IDirect3DExecuteBuffer_Release(p) (p)->Release()
-/*** IDirect3DExecuteBuffer methods ***/
-#define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirect3DExecuteBuffer_Lock(p,a) (p)->Lock(a)
-#define IDirect3DExecuteBuffer_Unlock(p) (p)->Unlock()
-#define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->SetExecuteData(a)
-#define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->GetExecuteData(a)
-#define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->Validate(a,b,c,d)
-#define IDirect3DExecuteBuffer_Optimize(p,a) (p)->Optimize(a)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DDevice interface
- */
-#define INTERFACE IDirect3DDevice
-DECLARE_INTERFACE_(IDirect3DDevice,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice methods ***/
- STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D, LPGUID lpGUID, LPD3DDEVICEDESC lpD3DDVDesc) PURE;
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE;
- STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE lpD3Dtex1, LPDIRECT3DTEXTURE lpD3DTex2) PURE;
- STDMETHOD(CreateExecuteBuffer)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc, LPDIRECT3DEXECUTEBUFFER *lplpDirect3DExecuteBuffer, IUnknown *pUnkOuter) PURE;
- STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE;
- STDMETHOD(Execute)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags) PURE;
- STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE;
- STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE;
- STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport, LPDIRECT3DVIEWPORT *lplpDirect3DViewport, DWORD dwFlags) PURE;
- STDMETHOD(Pick)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags, LPD3DRECT lpRect) PURE;
- STDMETHOD(GetPickRecords)(THIS_ LPDWORD lpCount, LPD3DPICKRECORD lpD3DPickRec) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE;
- STDMETHOD(CreateMatrix)(THIS_ LPD3DMATRIXHANDLE lpD3DMatHandle) PURE;
- STDMETHOD(SetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(DeleteMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D *lplpDirect3D) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice methods ***/
-#define IDirect3DDevice_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
-#define IDirect3DDevice_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
-#define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b)
-#define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->lpVtbl->CreateExecuteBuffer(p,a,b,c)
-#define IDirect3DDevice_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
-#define IDirect3DDevice_Execute(p,a,b,c) (p)->lpVtbl->Execute(p,a,b,c)
-#define IDirect3DDevice_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
-#define IDirect3DDevice_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
-#define IDirect3DDevice_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
-#define IDirect3DDevice_Pick(p,a,b,c,d) (p)->lpVtbl->Pick(p,a,b,c,d)
-#define IDirect3DDevice_GetPickRecords(p,a,b) (p)->lpVtbl->GetPickRecords(p,a,b)
-#define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice_CreateMatrix(p,a) (p)->lpVtbl->CreateMatrix(p,a)
-#define IDirect3DDevice_SetMatrix(p,a,b) (p)->lpVtbl->SetMatrix(p,a,b)
-#define IDirect3DDevice_GetMatrix(p,a,b) (p)->lpVtbl->GetMatrix(p,a,b)
-#define IDirect3DDevice_DeleteMatrix(p,a) (p)->lpVtbl->DeleteMatrix(p,a)
-#define IDirect3DDevice_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice_Release(p) (p)->Release()
-/*** IDirect3DDevice methods ***/
-#define IDirect3DDevice_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
-#define IDirect3DDevice_GetCaps(p,a,b) (p)->GetCaps(a,b)
-#define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b)
-#define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->CreateExecuteBuffer(a,b,c)
-#define IDirect3DDevice_GetStats(p,a) (p)->GetStats(a)
-#define IDirect3DDevice_Execute(p,a,b,c) (p)->Execute(a,b,c)
-#define IDirect3DDevice_AddViewport(p,a) (p)->AddViewport(a)
-#define IDirect3DDevice_DeleteViewport(p,a) (p)->DeleteViewport(a)
-#define IDirect3DDevice_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
-#define IDirect3DDevice_Pick(p,a,b,c,d) (p)->Pick(a,b,c,d)
-#define IDirect3DDevice_GetPickRecords(p,a,b) (p)->GetPickRecords(a,b)
-#define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice_CreateMatrix(p,a) (p)->CreateMatrix(a)
-#define IDirect3DDevice_SetMatrix(p,a,b) (p)->SetMatrix(a,b)
-#define IDirect3DDevice_GetMatrix(p,a,b) (p)->GetMatrix(a,b)
-#define IDirect3DDevice_DeleteMatrix(p,a) (p)->DeleteMatrix(a)
-#define IDirect3DDevice_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DDevice2 interface
- */
-#define INTERFACE IDirect3DDevice2
-DECLARE_INTERFACE_(IDirect3DDevice2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice2 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE;
- STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTex1, LPDIRECT3DTEXTURE2 lpD3DTex2) PURE;
- STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE;
- STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE;
- STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE;
- STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2, LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2, DWORD dwFlags) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D2 *lplpDirect3D2) PURE;
- /*** DrawPrimitive API ***/
- STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE;
- STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE lpNewRenderTarget, DWORD dwFlags) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE *lplpRenderTarget) PURE;
- STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dpt,D3DVERTEXTYPE dwVertexTypeDesc,DWORD dwFlags) PURE;
- STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE;
- STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE;
- STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE;
- STDMETHOD(End)(THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE;
- STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE;
- STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
- STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice2 methods ***/
-#define IDirect3DDevice2_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
-#define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b)
-#define IDirect3DDevice2_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
-#define IDirect3DDevice2_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
-#define IDirect3DDevice2_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
-#define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
-#define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice2_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice2_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice2_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a)
-#define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a)
-#define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice2_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice2_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c)
-#define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e)
-#define IDirect3DDevice2_Vertex(p,a) (p)->lpVtbl->Vertex(p,a)
-#define IDirect3DDevice2_Index(p,a) (p)->lpVtbl->Index(p,a)
-#define IDirect3DDevice2_End(p,a) (p)->lpVtbl->End(p,a)
-#define IDirect3DDevice2_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice2_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice2_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b)
-#define IDirect3DDevice2_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b)
-#define IDirect3DDevice2_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice2_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice2_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice2_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice2_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice2_Release(p) (p)->Release()
-/*** IDirect3DDevice2 methods ***/
-#define IDirect3DDevice2_GetCaps(p,a,b) (p)->GetCaps(a,b)
-#define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b)
-#define IDirect3DDevice2_GetStats(p,a) (p)->GetStats(a)
-#define IDirect3DDevice2_AddViewport(p,a) (p)->AddViewport(a)
-#define IDirect3DDevice2_DeleteViewport(p,a) (p)->DeleteViewport(a)
-#define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
-#define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice2_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice2_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice2_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a)
-#define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a)
-#define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice2_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice2_Begin(p,a,b,c) (p)->Begin(a,b,c)
-#define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e)
-#define IDirect3DDevice2_Vertex(p,a) (p)->Vertex(a)
-#define IDirect3DDevice2_Index(p,a) (p)->Index(a)
-#define IDirect3DDevice2_End(p,a) (p)->End(a)
-#define IDirect3DDevice2_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice2_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice2_GetLightState(p,a,b) (p)->GetLightState(a,b)
-#define IDirect3DDevice2_SetLightState(p,a,b) (p)->SetLightState(a,b)
-#define IDirect3DDevice2_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice2_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
-#define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
-#define IDirect3DDevice2_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice2_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DDevice3 interface
- */
-#define INTERFACE IDirect3DDevice3
-DECLARE_INTERFACE_(IDirect3DDevice3,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice3 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE;
- STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE;
- STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE;
- STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE;
- STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3, LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3, DWORD dwFlags) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D3 *lplpDirect3D3) PURE;
- /*** DrawPrimitive API ***/
- STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE;
- STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 lpNewRenderTarget, DWORD dwFlags) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 *lplpRenderTarget) PURE;
- STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexTypeDesc, DWORD dwFlags) PURE;
- STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE;
- STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE;
- STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE;
- STDMETHOD(End)(THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE;
- STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE;
- STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
- STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE;
- STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE;
- STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 *lplpTexture2) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 lpTexture2) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE;
- STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice3 methods ***/
-#define IDirect3DDevice3_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
-#define IDirect3DDevice3_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
-#define IDirect3DDevice3_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
-#define IDirect3DDevice3_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
-#define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
-#define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice3_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice3_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice3_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a)
-#define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a)
-#define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice3_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice3_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c)
-#define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e)
-#define IDirect3DDevice3_Vertex(p,a) (p)->lpVtbl->Vertex(p,a)
-#define IDirect3DDevice3_Index(p,a) (p)->lpVtbl->Index(p,a)
-#define IDirect3DDevice3_End(p,a) (p)->lpVtbl->End(p,a)
-#define IDirect3DDevice3_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice3_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice3_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b)
-#define IDirect3DDevice3_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b)
-#define IDirect3DDevice3_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice3_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice3_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e)
-#define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e)
-#define IDirect3DDevice3_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice3_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice3_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice3_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice3_Release(p) (p)->Release()
-/*** IDirect3DDevice3 methods ***/
-#define IDirect3DDevice3_GetCaps(p,a,b) (p)->GetCaps(a,b)
-#define IDirect3DDevice3_GetStats(p,a) (p)->GetStats(a)
-#define IDirect3DDevice3_AddViewport(p,a) (p)->AddViewport(a)
-#define IDirect3DDevice3_DeleteViewport(p,a) (p)->DeleteViewport(a)
-#define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
-#define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice3_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice3_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice3_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a)
-#define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a)
-#define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice3_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice3_Begin(p,a,b,c) (p)->Begin(a,b,c)
-#define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e)
-#define IDirect3DDevice3_Vertex(p,a) (p)->Vertex(a)
-#define IDirect3DDevice3_Index(p,a) (p)->Index(a)
-#define IDirect3DDevice3_End(p,a) (p)->End(a)
-#define IDirect3DDevice3_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice3_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice3_GetLightState(p,a,b) (p)->GetLightState(a,b)
-#define IDirect3DDevice3_SetLightState(p,a,b) (p)->SetLightState(a,b)
-#define IDirect3DDevice3_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice3_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
-#define IDirect3DDevice3_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice3_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g)
-#define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e)
-#define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e)
-#define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e)
-#define IDirect3DDevice3_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice3_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice3_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DDevice7 interface
- */
-#define INTERFACE IDirect3DDevice7
-DECLARE_INTERFACE_(IDirect3DDevice7,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice7 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC7 lpD3DHELDevDesc) PURE;
- STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D7 *lplpDirect3D3) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 lpNewRenderTarget,DWORD dwFlags) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 *lplpRenderTarget) PURE;
- STDMETHOD(Clear)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,D3DCOLOR dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType,LPD3DMATRIX lpD3DMatrix) PURE;
- STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ LPDWORD lpdwBlockHandle) PURE;
- STDMETHOD(PreLoad)(THIS_ LPDIRECTDRAWSURFACE7 lpddsTexture) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
- STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
- STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE;
- STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE;
- STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE;
- STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 *lpTexture) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 lpTexture) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE;
- STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE;
- STDMETHOD(ApplyStateBlock)(THIS_ DWORD dwBlockHandle) PURE;
- STDMETHOD(CaptureStateBlock)(THIS_ DWORD dwBlockHandle) PURE;
- STDMETHOD(DeleteStateBlock)(THIS_ DWORD dwBlockHandle) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE d3dsbType,LPDWORD lpdwBlockHandle) PURE;
- STDMETHOD(Load)(THIS_ LPDIRECTDRAWSURFACE7 lpDestTex,LPPOINT lpDestPoint,LPDIRECTDRAWSURFACE7 lpSrcTex,LPRECT lprcSrcRect,DWORD dwFlags) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD dwLightIndex,BOOL bEnable) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD dwLightIndex,BOOL *pbEnable) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE;
- STDMETHOD(GetInfo)(THIS_ DWORD dwDevInfoID,LPVOID pDevInfoStruct,DWORD dwSize) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice7_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice7_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice7 methods ***/
-#define IDirect3DDevice7_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
-#define IDirect3DDevice7_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice7_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice7_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice7_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice7_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice7_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice7_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice7_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice7_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice7_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice7_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice7_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice7_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice7_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice7_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice7_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice7_PreLoad(p,a) (p)->lpVtbl->PreLoad(p,a)
-#define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice7_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice7_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e)
-#define IDirect3DDevice7_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice7_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice7_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a)
-#define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a)
-#define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a)
-#define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DDevice7_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice7_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice7_Release(p) (p)->Release()
-/*** IDirect3DDevice7 methods ***/
-#define IDirect3DDevice7_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
-#define IDirect3DDevice7_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice7_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice7_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice7_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice7_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice7_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice7_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice7_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice7_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice7_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice7_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice7_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice7_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice7_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice7_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice7_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice7_PreLoad(p,a) (p)->PreLoad(a)
-#define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
-#define IDirect3DDevice7_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice7_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g)
-#define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e)
-#define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e,f,g)
-#define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e)
-#define IDirect3DDevice7_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice7_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice7_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a)
-#define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a)
-#define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a)
-#define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DDevice7_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c)
-#endif
-
-
-
-/*****************************************************************************
- * IDirect3DVertexBuffer interface
- */
-#define INTERFACE IDirect3DVertexBuffer
-DECLARE_INTERFACE_(IDirect3DVertexBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVertexBuffer methods ***/
- STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE;
- STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE;
- STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexBuffer methods ***/
-#define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c)
-#define IDirect3DVertexBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a)
-#define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer_Release(p) (p)->Release()
-/*** IDirect3DVertexBuffer methods ***/
-#define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->Lock(a,b,c)
-#define IDirect3DVertexBuffer_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a)
-#define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->Optimize(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexBuffer7 interface
- */
-#define INTERFACE IDirect3DVertexBuffer7
-DECLARE_INTERFACE_(IDirect3DVertexBuffer7,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVertexBuffer7 methods ***/
- STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER7 lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
- STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE;
- STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
- STDMETHOD(ProcessVerticesStrided)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPD3DDRAWPRIMITIVESTRIDEDDATA lpStrideData,DWORD dwVertexTypeDesc,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer7_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer7_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexBuffer7 methods ***/
-#define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c)
-#define IDirect3DVertexBuffer7_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a)
-#define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b)
-#define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVerticesStrided(p,a,b,c,d,e,f,g)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer7_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer7_Release(p) (p)->Release()
-/*** IDirect3DVertexBuffer7 methods ***/
-#define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->Lock(a,b,c)
-#define IDirect3DVertexBuffer7_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g)
-#define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a)
-#define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->Optimize(a,b)
-#define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->ProcessVerticesStrided(a,b,c,d,e,f,g)
-#endif
-
-#endif /* __WINE_D3D_H */
+++ /dev/null
-/*** Autogenerated by WIDL 1.2-rc3 from d3d10.idl - Do not edit ***/
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifndef __WIDL_D3D10_H
-#define __WIDL_D3D10_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Headers for imported files */
-
-#include <oaidl.h>
-#include <ocidl.h>
-#include <dxgi.h>
-
-/* Forward declarations */
-
-#ifndef __ID3D10DeviceChild_FWD_DEFINED__
-#define __ID3D10DeviceChild_FWD_DEFINED__
-typedef interface ID3D10DeviceChild ID3D10DeviceChild;
-#endif
-
-#ifndef __ID3D10Resource_FWD_DEFINED__
-#define __ID3D10Resource_FWD_DEFINED__
-typedef interface ID3D10Resource ID3D10Resource;
-#endif
-
-#ifndef __ID3D10Buffer_FWD_DEFINED__
-#define __ID3D10Buffer_FWD_DEFINED__
-typedef interface ID3D10Buffer ID3D10Buffer;
-#endif
-
-#ifndef __ID3D10Texture1D_FWD_DEFINED__
-#define __ID3D10Texture1D_FWD_DEFINED__
-typedef interface ID3D10Texture1D ID3D10Texture1D;
-#endif
-
-#ifndef __ID3D10Texture2D_FWD_DEFINED__
-#define __ID3D10Texture2D_FWD_DEFINED__
-typedef interface ID3D10Texture2D ID3D10Texture2D;
-#endif
-
-#ifndef __ID3D10Texture3D_FWD_DEFINED__
-#define __ID3D10Texture3D_FWD_DEFINED__
-typedef interface ID3D10Texture3D ID3D10Texture3D;
-#endif
-
-#ifndef __ID3D10View_FWD_DEFINED__
-#define __ID3D10View_FWD_DEFINED__
-typedef interface ID3D10View ID3D10View;
-#endif
-
-#ifndef __ID3D10DepthStencilView_FWD_DEFINED__
-#define __ID3D10DepthStencilView_FWD_DEFINED__
-typedef interface ID3D10DepthStencilView ID3D10DepthStencilView;
-#endif
-
-#ifndef __ID3D10RenderTargetView_FWD_DEFINED__
-#define __ID3D10RenderTargetView_FWD_DEFINED__
-typedef interface ID3D10RenderTargetView ID3D10RenderTargetView;
-#endif
-
-#ifndef __ID3D10ShaderResourceView_FWD_DEFINED__
-#define __ID3D10ShaderResourceView_FWD_DEFINED__
-typedef interface ID3D10ShaderResourceView ID3D10ShaderResourceView;
-#endif
-
-#ifndef __ID3D10BlendState_FWD_DEFINED__
-#define __ID3D10BlendState_FWD_DEFINED__
-typedef interface ID3D10BlendState ID3D10BlendState;
-#endif
-
-#ifndef __ID3D10DepthStencilState_FWD_DEFINED__
-#define __ID3D10DepthStencilState_FWD_DEFINED__
-typedef interface ID3D10DepthStencilState ID3D10DepthStencilState;
-#endif
-
-#ifndef __ID3D10GeometryShader_FWD_DEFINED__
-#define __ID3D10GeometryShader_FWD_DEFINED__
-typedef interface ID3D10GeometryShader ID3D10GeometryShader;
-#endif
-
-#ifndef __ID3D10InputLayout_FWD_DEFINED__
-#define __ID3D10InputLayout_FWD_DEFINED__
-typedef interface ID3D10InputLayout ID3D10InputLayout;
-#endif
-
-#ifndef __ID3D10PixelShader_FWD_DEFINED__
-#define __ID3D10PixelShader_FWD_DEFINED__
-typedef interface ID3D10PixelShader ID3D10PixelShader;
-#endif
-
-#ifndef __ID3D10RasterizerState_FWD_DEFINED__
-#define __ID3D10RasterizerState_FWD_DEFINED__
-typedef interface ID3D10RasterizerState ID3D10RasterizerState;
-#endif
-
-#ifndef __ID3D10SamplerState_FWD_DEFINED__
-#define __ID3D10SamplerState_FWD_DEFINED__
-typedef interface ID3D10SamplerState ID3D10SamplerState;
-#endif
-
-#ifndef __ID3D10VertexShader_FWD_DEFINED__
-#define __ID3D10VertexShader_FWD_DEFINED__
-typedef interface ID3D10VertexShader ID3D10VertexShader;
-#endif
-
-#ifndef __ID3D10Asynchronous_FWD_DEFINED__
-#define __ID3D10Asynchronous_FWD_DEFINED__
-typedef interface ID3D10Asynchronous ID3D10Asynchronous;
-#endif
-
-#ifndef __ID3D10Counter_FWD_DEFINED__
-#define __ID3D10Counter_FWD_DEFINED__
-typedef interface ID3D10Counter ID3D10Counter;
-#endif
-
-#ifndef __ID3D10Query_FWD_DEFINED__
-#define __ID3D10Query_FWD_DEFINED__
-typedef interface ID3D10Query ID3D10Query;
-#endif
-
-#ifndef __ID3D10Predicate_FWD_DEFINED__
-#define __ID3D10Predicate_FWD_DEFINED__
-typedef interface ID3D10Predicate ID3D10Predicate;
-#endif
-
-#ifndef __ID3D10Device_FWD_DEFINED__
-#define __ID3D10Device_FWD_DEFINED__
-typedef interface ID3D10Device ID3D10Device;
-#endif
-
-#ifndef __ID3D10Multithread_FWD_DEFINED__
-#define __ID3D10Multithread_FWD_DEFINED__
-typedef interface ID3D10Multithread ID3D10Multithread;
-#endif
-
-
-#ifndef _D3D10_CONSTANTS
-#define _D3D10_CONSTANTS
-#define D3D10_DEFAULT_BLEND_FACTOR_ALPHA (1.00000000000000)
-
-#define D3D10_DEFAULT_BLEND_FACTOR_BLUE (1.00000000000000)
-
-#define D3D10_DEFAULT_BLEND_FACTOR_GREEN (1.00000000000000)
-
-#define D3D10_DEFAULT_BLEND_FACTOR_RED (1.00000000000000)
-
-#define D3D10_DEFAULT_BORDER_COLOR_COMPONENT (0.00000000000000)
-
-#define D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS (0.00000000000000)
-
-#define D3D10_DEFAULT_DEPTH_BIAS_CLAMP (0.00000000000000)
-
-#define D3D10_DEFAULT_MAX_ANISOTROPY (16.0000000000000)
-
-#define D3D10_DEFAULT_MIP_LOD_BIAS (0.00000000000000)
-
-#define D3D10_DEFAULT_VIEWPORT_MAX_DEPTH (0.00000000000000)
-
-#define D3D10_DEFAULT_VIEWPORT_MIN_DEPTH (0.00000000000000)
-
-#define D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP (0.600000000000000)
-
-#define D3D10_FLOAT32_MAX (3.40282346600000e+38)
-
-#define D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP (0.600000000000000)
-
-#define D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR (2.40000000000000)
-
-#define D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR (1.00000000000000)
-
-#define D3D10_FLOAT_TO_SRGB_OFFSET (0.0550000000000000)
-
-#define D3D10_FLOAT_TO_SRGB_SCALE_1 (12.9200000000000)
-
-#define D3D10_FLOAT_TO_SRGB_SCALE_2 (1.05500000000000)
-
-#define D3D10_FLOAT_TO_SRGB_THRESHOLD (0.00313080000000000)
-
-#define D3D10_FTOI_INSTRUCTION_MAX_INPUT (2147483647.99900)
-
-#define D3D10_FTOI_INSTRUCTION_MIN_INPUT (-2147483648.99900)
-
-#define D3D10_FTOU_INSTRUCTION_MAX_INPUT (4294967295.99900)
-
-#define D3D10_FTOU_INSTRUCTION_MIN_INPUT (0.00000000000000)
-
-#define D3D10_LINEAR_GAMMA (1.00000000000000)
-
-#define D3D10_MAX_BORDER_COLOR_COMPONENT (1.00000000000000)
-
-#define D3D10_MAX_DEPTH (1.00000000000000)
-
-#define D3D10_MAX_POSITION_VALUE (3.40282346600000e+34)
-
-#define D3D10_MIN_BORDER_COLOR_COMPONENT (0.00000000000000)
-
-#define D3D10_MIN_DEPTH (0.00000000000000)
-
-#define D3D10_MIP_LOD_BIAS_MAX (15.9900000000000)
-
-#define D3D10_MIP_LOD_BIAS_MIN (-16.0000000000000)
-
-#define D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.500000000000000)
-
-#define D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH (1.40000000000000)
-
-#define D3D10_SRGB_GAMMA (2.20000000000000)
-
-#define D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 (12.9200000000000)
-
-#define D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 (1.05500000000000)
-
-#define D3D10_SRGB_TO_FLOAT_EXPONENT (2.40000000000000)
-
-#define D3D10_SRGB_TO_FLOAT_OFFSET (0.0550000000000000)
-
-#define D3D10_SRGB_TO_FLOAT_THRESHOLD (0.0404500000000000)
-
-#define D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.500000000000000)
-
-#define D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.00000000000000)
-
-#define D3D_SPEC_VERSION (1.05000500000000)
-
-#define D3D10_16BIT_INDEX_STRIP_CUT_VALUE (0xffff)
-
-#define D3D10_32BIT_INDEX_STRIP_CUT_VALUE (0xffffffff)
-
-#define D3D10_8BIT_INDEX_STRIP_CUT_VALUE (0xff)
-
-#define D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT (9)
-
-#define D3D10_CLIP_OR_CULL_DISTANCE_COUNT (8)
-
-#define D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT (2)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT (14)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS (4)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT (15)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
-
-#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
-
-#define D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT (1)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
-
-#define D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS (1)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST (1)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS (1)
-
-#define D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT (128)
-
-#define D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS (1)
-
-#define D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT (16)
-
-#define D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST (1)
-
-#define D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS (1)
-
-#define D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
-
-#define D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS (4)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST (3)
-
-#define D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS (3)
-
-#define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX (10)
-
-#define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN (-10)
-
-#define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE (-8)
-
-#define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE (7)
-
-#define D3D10_DEFAULT_DEPTH_BIAS (0)
-
-#define D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX (0)
-
-#define D3D10_DEFAULT_SAMPLE_MASK (0xffffffff)
-
-#define D3D10_DEFAULT_SCISSOR_ENDX (0)
-
-#define D3D10_DEFAULT_SCISSOR_ENDY (0)
-
-#define D3D10_DEFAULT_SCISSOR_STARTX (0)
-
-#define D3D10_DEFAULT_SCISSOR_STARTY (0)
-
-#define D3D10_DEFAULT_STENCIL_READ_MASK (0xff)
-
-#define D3D10_DEFAULT_STENCIL_REFERENCE (0)
-
-#define D3D10_DEFAULT_STENCIL_WRITE_MASK (0xff)
-
-#define D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX (0)
-
-#define D3D10_DEFAULT_VIEWPORT_HEIGHT (0)
-
-#define D3D10_DEFAULT_VIEWPORT_TOPLEFTX (0)
-
-#define D3D10_DEFAULT_VIEWPORT_TOPLEFTY (0)
-
-#define D3D10_DEFAULT_VIEWPORT_WIDTH (0)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS (1)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT (1)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST (2)
-
-#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS (1)
-
-#define D3D10_GS_INPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_GS_INPUT_REGISTER_COUNT (16)
-
-#define D3D10_GS_INPUT_REGISTER_READS_PER_INST (2)
-
-#define D3D10_GS_INPUT_REGISTER_READ_PORTS (1)
-
-#define D3D10_GS_INPUT_REGISTER_VERTICES (6)
-
-#define D3D10_GS_OUTPUT_ELEMENTS (32)
-
-#define D3D10_GS_OUTPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_GS_OUTPUT_REGISTER_COUNT (32)
-
-#define D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES (0)
-
-#define D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY (0)
-
-#define D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES (0)
-
-#define D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1)
-
-#define D3D10_IA_INSTANCE_ID_BIT_COUNT (32)
-
-#define D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT (32)
-
-#define D3D10_IA_PRIMITIVE_ID_BIT_COUNT (32)
-
-#define D3D10_IA_VERTEX_ID_BIT_COUNT (32)
-
-#define D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (16)
-
-#define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS (64)
-
-#define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT (16)
-
-#define D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT (0xffffffff)
-
-#define D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER (0xffffffff)
-
-#define D3D10_MAX_MAXANISOTROPY (16)
-
-#define D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
-
-#define D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP (17)
-
-#define D3D10_MIN_MAXANISOTROPY (0)
-
-#define D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT (6)
-
-#define D3D10_MIP_LOD_RANGE_BIT_COUNT (8)
-
-#define D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT (0)
-
-#define D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT (13)
-
-#define D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT (15)
-
-#define D3D10_PS_FRONTFACING_DEFAULT_VALUE (0xffffffff)
-
-#define D3D10_PS_FRONTFACING_FALSE_VALUE (0)
-
-#define D3D10_PS_FRONTFACING_TRUE_VALUE (0xffffffff)
-
-#define D3D10_PS_INPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_PS_INPUT_REGISTER_COUNT (32)
-
-#define D3D10_PS_INPUT_REGISTER_READS_PER_INST (2)
-
-#define D3D10_PS_INPUT_REGISTER_READ_PORTS (1)
-
-#define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS (1)
-
-#define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
-
-#define D3D10_PS_OUTPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_PS_OUTPUT_REGISTER_COUNT (8)
-
-#define D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT (4096)
-
-#define D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (27)
-
-#define D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
-
-#define D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT (4096)
-
-#define D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (32)
-
-#define D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (32)
-
-#define D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (8192)
-
-#define D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT (1024)
-
-#define D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
-
-#define D3D10_REQ_MAXANISOTROPY (16)
-
-#define D3D10_REQ_MIP_LEVELS (14)
-
-#define D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048)
-
-#define D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT (4096)
-
-#define D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH (8192)
-
-#define D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES (128)
-
-#define D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP (20)
-
-#define D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT (4096)
-
-#define D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (512)
-
-#define D3D10_REQ_TEXTURE1D_U_DIMENSION (8192)
-
-#define D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (512)
-
-#define D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192)
-
-#define D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
-
-#define D3D10_REQ_TEXTURECUBE_DIMENSION (8192)
-
-#define D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL (0)
-
-#define D3D10_SHADER_MAJOR_VERSION (4)
-
-#define D3D10_SHADER_MINOR_VERSION (0)
-
-#define D3D10_SHIFT_INSTRUCTION_PAD_VALUE (0)
-
-#define D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT (5)
-
-#define D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT (8)
-
-#define D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES (2048)
-
-#define D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES (256)
-
-#define D3D10_SO_BUFFER_SLOT_COUNT (4)
-
-#define D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP (0xffffffff)
-
-#define D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER (1)
-
-#define D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT (64)
-
-#define D3D10_STANDARD_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED (64)
-
-#define D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE (4)
-
-#define D3D10_STANDARD_PIXEL_COMPONENT_COUNT (128)
-
-#define D3D10_STANDARD_PIXEL_ELEMENT_COUNT (32)
-
-#define D3D10_STANDARD_VECTOR_SIZE (4)
-
-#define D3D10_STANDARD_VERTEX_ELEMENT_COUNT (16)
-
-#define D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT (64)
-
-#define D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT (8)
-
-#define D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT (6)
-
-#define D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT (18)
-
-#define D3D10_UNBOUND_MEMORY_ACCESS_RESULT (0)
-
-#define D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX (15)
-
-#define D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
-
-#define D3D10_VIEWPORT_BOUNDS_MAX (16383)
-
-#define D3D10_VIEWPORT_BOUNDS_MIN (-16384)
-
-#define D3D10_VS_INPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_VS_INPUT_REGISTER_COUNT (16)
-
-#define D3D10_VS_INPUT_REGISTER_READS_PER_INST (2)
-
-#define D3D10_VS_INPUT_REGISTER_READ_PORTS (1)
-
-#define D3D10_VS_OUTPUT_REGISTER_COMPONENTS (4)
-
-#define D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
-
-#define D3D10_VS_OUTPUT_REGISTER_COUNT (16)
-
-#define D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT (10)
-
-#define D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (25)
-
-#define D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP (25)
-
-#define D3D_MAJOR_VERSION (10)
-
-#define D3D_MINOR_VERSION (0)
-
-#define D3D_SPEC_DATE_DAY (8)
-
-#define D3D_SPEC_DATE_MONTH (8)
-
-#define D3D_SPEC_DATE_YEAR (2006)
-
-#endif
-#define D3D10_APPEND_ALIGNED_ELEMENT (0xffffffff)
-
-#define _FACD3D10 (0x87)
-
-#define _FACD3D10DEBUG (_FACD3D10 + 1)
-
-#define D3D10_FILTER_TYPE_MASK (0x3)
-
-#define D3D10_SDK_VERSION (29)
-
-#define MAKE_D3D10_HRESULT(code) MAKE_HRESULT( 1, _FACD3D10, code)
-#define MAKE_D3D10_STATUS(code) MAKE_HRESULT( 0, _FACD3D10, code)
-#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)
-#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)
-typedef enum D3D10_BLEND {
- D3D10_BLEND_ZERO = 1,
- D3D10_BLEND_ONE = 2,
- D3D10_BLEND_SRC_COLOR = 3,
- D3D10_BLEND_INV_SRC_COLOR = 4,
- D3D10_BLEND_SRC_ALPHA = 5,
- D3D10_BLEND_INV_SRC_ALPHA = 6,
- D3D10_BLEND_DEST_ALPHA = 7,
- D3D10_BLEND_INV_DEST_ALPHA = 8,
- D3D10_BLEND_DEST_COLOR = 9,
- D3D10_BLEND_INV_DEST_COLOR = 10,
- D3D10_BLEND_SRC_ALPHA_SAT = 11,
- D3D10_BLEND_BLEND_FACTOR = 14,
- D3D10_BLEND_INV_BLEND_FACTOR = 15,
- D3D10_BLEND_SRC1_COLOR = 16,
- D3D10_BLEND_INV_SRC1_COLOR = 17,
- D3D10_BLEND_SRC1_ALPHA = 18,
- D3D10_BLEND_INV_SRC1_ALPHA = 19
-} D3D10_BLEND;
-typedef enum D3D10_BLEND_OP {
- D3D10_BLEND_OP_ADD = 1,
- D3D10_BLEND_OP_SUBTRACT = 2,
- D3D10_BLEND_OP_REV_SUBTRACT = 3,
- D3D10_BLEND_OP_MIN = 4,
- D3D10_BLEND_OP_MAX = 5
-} D3D10_BLEND_OP;
-typedef struct D3D10_BLEND_DESC {
- BOOL AlphaToCoverageEnable;
- BOOL BlendEnable[8];
- D3D10_BLEND SrcBlend;
- D3D10_BLEND DestBlend;
- D3D10_BLEND_OP BlendOp;
- D3D10_BLEND SrcBlendAlpha;
- D3D10_BLEND DestBlendAlpha;
- D3D10_BLEND_OP BlendOpAlpha;
- UINT8 RenderTargetWriteMask[8];
-} D3D10_BLEND_DESC;
-typedef enum D3D10_DEPTH_WRITE_MASK {
- D3D10_DEPTH_WRITE_MASK_ZERO = 0,
- D3D10_DEPTH_WRITE_MASK_ALL = 1
-} D3D10_DEPTH_WRITE_MASK;
-typedef enum D3D10_COMPARISON_FUNC {
- D3D10_COMPARISON_NEVER = 1,
- D3D10_COMPARISON_LESS = 2,
- D3D10_COMPARISON_EQUAL = 3,
- D3D10_COMPARISON_LESS_EQUAL = 4,
- D3D10_COMPARISON_GREATER = 5,
- D3D10_COMPARISON_NOT_EQUAL = 6,
- D3D10_COMPARISON_GREATER_EQUAL = 7,
- D3D10_COMPARISON_ALWAYS = 8
-} D3D10_COMPARISON_FUNC;
-typedef enum D3D10_STENCIL_OP {
- D3D10_STENCIL_OP_KEEP = 1,
- D3D10_STENCIL_OP_ZERO = 2,
- D3D10_STENCIL_OP_REPLACE = 3,
- D3D10_STENCIL_OP_INCR_SAT = 4,
- D3D10_STENCIL_OP_DECR_SAT = 5,
- D3D10_STENCIL_OP_INVERT = 6,
- D3D10_STENCIL_OP_INCR = 7,
- D3D10_STENCIL_OP_DECR = 8
-} D3D10_STENCIL_OP;
-typedef struct D3D10_DEPTH_STENCILOP_DESC {
- D3D10_STENCIL_OP StencilFailOp;
- D3D10_STENCIL_OP StencilDepthFailOp;
- D3D10_STENCIL_OP StencilPassOp;
- D3D10_COMPARISON_FUNC StencilFunc;
-} D3D10_DEPTH_STENCILOP_DESC;
-typedef struct D3D10_DEPTH_STENCIL_DESC {
- BOOL DepthEnable;
- D3D10_DEPTH_WRITE_MASK DepthWriteMask;
- D3D10_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D10_DEPTH_STENCILOP_DESC FrontFace;
- D3D10_DEPTH_STENCILOP_DESC BackFace;
-} D3D10_DEPTH_STENCIL_DESC;
-typedef enum D3D10_FILL_MODE {
- D3D10_FILL_WIREFRAME = 2,
- D3D10_FILL_SOLID = 3
-} D3D10_FILL_MODE;
-typedef enum D3D10_CULL_MODE {
- D3D10_CULL_NONE = 1,
- D3D10_CULL_FRONT = 2,
- D3D10_CULL_BACK = 3
-} D3D10_CULL_MODE;
-typedef struct D3D10_RASTERIZER_DESC {
- D3D10_FILL_MODE FillMode;
- D3D10_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- INT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL ScissorEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
-} D3D10_RASTERIZER_DESC;
-typedef enum D3D10_FILTER {
- D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
- D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
- D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
- D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
- D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
- D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
- D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
- D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
- D3D10_FILTER_ANISOTROPIC = 0x55,
- D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
- D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
- D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
- D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
- D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
- D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
- D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
- D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
- D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
- D3D10_FILTER_TEXT_1BIT = 0x80000000
-} D3D10_FILTER;
-typedef enum D3D10_TEXTURE_ADDRESS_MODE {
- D3D10_TEXTURE_ADDRESS_WRAP = 1,
- D3D10_TEXTURE_ADDRESS_MIRROR = 2,
- D3D10_TEXTURE_ADDRESS_CLAMP = 3,
- D3D10_TEXTURE_ADDRESS_BORDER = 4,
- D3D10_TEXTURE_ADDRESS_MIRROR_ONCE = 5
-} D3D10_TEXTURE_ADDRESS_MODE;
-typedef struct D3D10_SAMPLER_DESC {
- D3D10_FILTER Filter;
- D3D10_TEXTURE_ADDRESS_MODE AddressU;
- D3D10_TEXTURE_ADDRESS_MODE AddressV;
- D3D10_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D10_COMPARISON_FUNC ComparisonFunc;
- FLOAT BorderColor[4];
- FLOAT MinLOD;
- FLOAT MaxLOD;
-} D3D10_SAMPLER_DESC;
-typedef enum D3D10_COUNTER {
- D3D10_COUNTER_GPU_IDLE = 0,
- D3D10_COUNTER_VERTEX_PROCESSING = 1,
- D3D10_COUNTER_GEOMETRY_PROCESSING = 2,
- D3D10_COUNTER_PIXEL_PROCESSING = 3,
- D3D10_COUNTER_OTHER_GPU_PROCESSING = 4,
- D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION = 5,
- D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION = 6,
- D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION = 7,
- D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION = 8,
- D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION = 9,
- D3D10_COUNTER_VS_MEMORY_LIMITED = 10,
- D3D10_COUNTER_VS_COMPUTATION_LIMITED = 11,
- D3D10_COUNTER_GS_MEMORY_LIMITED = 12,
- D3D10_COUNTER_GS_COMPUTATION_LIMITED = 13,
- D3D10_COUNTER_PS_MEMORY_LIMITED = 14,
- D3D10_COUNTER_PS_COMPUTATION_LIMITED = 15,
- D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE = 16,
- D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE = 17,
- D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
-} D3D10_COUNTER;
-typedef struct D3D10_COUNTER_DESC {
- D3D10_COUNTER Counter;
- UINT MiscFlags;
-} D3D10_COUNTER_DESC;
-typedef enum D3D10_COUNTER_TYPE {
- D3D10_COUNTER_TYPE_FLOAT32 = 0,
- D3D10_COUNTER_TYPE_UINT16 = 1,
- D3D10_COUNTER_TYPE_UINT32 = 2,
- D3D10_COUNTER_TYPE_UINT64 = 3
-} D3D10_COUNTER_TYPE;
-typedef struct D3D10_COUNTER_INFO {
- D3D10_COUNTER LastDeviceDependentCounter;
- UINT NumSimultaneousCounters;
- UINT8 NumDetectableParallelUnits;
-} D3D10_COUNTER_INFO;
-typedef enum D3D10_RESOURCE_DIMENSION {
- D3D10_RESOURCE_DIMENSION_UNKNOWN = 0,
- D3D10_RESOURCE_DIMENSION_BUFFER = 1,
- D3D10_RESOURCE_DIMENSION_TEXTURE1D = 2,
- D3D10_RESOURCE_DIMENSION_TEXTURE2D = 3,
- D3D10_RESOURCE_DIMENSION_TEXTURE3D = 4
-} D3D10_RESOURCE_DIMENSION;
-typedef enum D3D10_USAGE {
- D3D10_USAGE_DEFAULT = 0,
- D3D10_USAGE_IMMUTABLE = 1,
- D3D10_USAGE_DYNAMIC = 2,
- D3D10_USAGE_STAGING = 3
-} D3D10_USAGE;
-typedef struct D3D10_BUFFER_DESC {
- UINT ByteWidth;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_BUFFER_DESC;
-typedef enum D3D10_MAP {
- D3D10_MAP_READ = 1,
- D3D10_MAP_WRITE = 2,
- D3D10_MAP_READ_WRITE = 3,
- D3D10_MAP_WRITE_DISCARD = 4,
- D3D10_MAP_WRITE_NO_OVERWRITE = 5
-} D3D10_MAP;
-typedef struct D3D10_TEXTURE1D_DESC {
- UINT Width;
- UINT MipLevels;
- UINT ArraySize;
- DXGI_FORMAT Format;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE1D_DESC;
-typedef struct D3D10_TEXTURE2D_DESC {
- UINT Width;
- UINT Height;
- UINT MipLevels;
- UINT ArraySize;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE2D_DESC;
-typedef struct D3D10_TEXTURE3D_DESC {
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT MipLevels;
- DXGI_FORMAT Format;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE3D_DESC;
-typedef enum D3D10_DSV_DIMENSION {
- D3D10_DSV_DIMENSION_UNKNOWN = 0,
- D3D10_DSV_DIMENSION_TEXTURE1D = 1,
- D3D10_DSV_DIMENSION_TEXTURE1DARRAY = 2,
- D3D10_DSV_DIMENSION_TEXTURE2D = 3,
- D3D10_DSV_DIMENSION_TEXTURE2DARRAY = 4,
- D3D10_DSV_DIMENSION_TEXTURE2DMS = 5,
- D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
-} D3D10_DSV_DIMENSION;
-typedef struct D3D10_TEX1D_DSV {
- UINT MipSlice;
-} D3D10_TEX1D_DSV;
-typedef struct D3D10_TEX1D_ARRAY_DSV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_DSV;
-typedef struct D3D10_TEX2D_DSV {
- UINT MipSlice;
-} D3D10_TEX2D_DSV;
-typedef struct D3D10_TEX2D_ARRAY_DSV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_DSV;
-typedef struct D3D10_TEX2DMS_DSV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_DSV;
-typedef struct D3D10_TEX2DMS_ARRAY_DSV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_DSV;
-typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_DSV_DIMENSION ViewDimension;
- union {
- D3D10_TEX1D_DSV Texture1D;
- D3D10_TEX1D_ARRAY_DSV Texture1DArray;
- D3D10_TEX2D_DSV Texture2D;
- D3D10_TEX2D_ARRAY_DSV Texture2DArray;
- D3D10_TEX2DMS_DSV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
- } DUMMYUNIONNAME;
-} D3D10_DEPTH_STENCIL_VIEW_DESC;
-typedef enum D3D10_RTV_DIMENSION {
- D3D10_RTV_DIMENSION_UNKNOWN = 0,
- D3D10_RTV_DIMENSION_BUFFER = 1,
- D3D10_RTV_DIMENSION_TEXTURE1D = 2,
- D3D10_RTV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D10_RTV_DIMENSION_TEXTURE2D = 4,
- D3D10_RTV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D10_RTV_DIMENSION_TEXTURE2DMS = 6,
- D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D10_RTV_DIMENSION_TEXTURE3D = 8
-} D3D10_RTV_DIMENSION;
-typedef struct D3D10_BUFFER_RTV {
- UINT ElementOffset;
- UINT ElementWidth;
-} D3D10_BUFFER_RTV;
-typedef struct D3D10_TEX1D_RTV {
- UINT MipSlice;
-} D3D10_TEX1D_RTV;
-typedef struct D3D10_TEX1D_ARRAY_RTV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_RTV;
-typedef struct D3D10_TEX2D_RTV {
- UINT MipSlice;
-} D3D10_TEX2D_RTV;
-typedef struct D3D10_TEX2D_ARRAY_RTV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_RTV;
-typedef struct D3D10_TEX2DMS_RTV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_RTV;
-typedef struct D3D10_TEX2DMS_ARRAY_RTV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_RTV;
-typedef struct D3D10_TEX3D_RTV {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
-} D3D10_TEX3D_RTV;
-typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_RTV_DIMENSION ViewDimension;
- union {
- D3D10_BUFFER_RTV Buffer;
- D3D10_TEX1D_RTV Texture1D;
- D3D10_TEX1D_ARRAY_RTV Texture1DArray;
- D3D10_TEX2D_RTV Texture2D;
- D3D10_TEX2D_ARRAY_RTV Texture2DArray;
- D3D10_TEX2DMS_RTV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
- D3D10_TEX3D_RTV Texture3D;
- } DUMMYUNIONNAME;
-} D3D10_RENDER_TARGET_VIEW_DESC;
-typedef enum D3D10_SRV_DIMENSION {
- D3D10_SRV_DIMENSION_UNKNOWN = 0,
- D3D10_SRV_DIMENSION_BUFFER = 1,
- D3D10_SRV_DIMENSION_TEXTURE1D = 2,
- D3D10_SRV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D10_SRV_DIMENSION_TEXTURE2D = 4,
- D3D10_SRV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D10_SRV_DIMENSION_TEXTURE2DMS = 6,
- D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D10_SRV_DIMENSION_TEXTURE3D = 8,
- D3D10_SRV_DIMENSION_TEXTURECUBE = 9
-} D3D10_SRV_DIMENSION;
-typedef struct D3D10_BUFFER_SRV {
- UINT ElementOffset;
- UINT ElementWidth;
-} D3D10_BUFFER_SRV;
-typedef struct D3D10_TEX1D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX1D_SRV;
-typedef struct D3D10_TEX1D_ARRAY_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_SRV;
-typedef struct D3D10_TEX2D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX2D_SRV;
-typedef struct D3D10_TEX2D_ARRAY_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_SRV;
-typedef struct D3D10_TEX2DMS_SRV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_SRV;
-typedef struct D3D10_TEX2DMS_ARRAY_SRV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_SRV;
-typedef struct D3D10_TEX3D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX3D_SRV;
-typedef struct D3D10_TEXCUBE_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEXCUBE_SRV;
-typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_SRV_DIMENSION ViewDimension;
- union {
- D3D10_BUFFER_SRV Buffer;
- D3D10_TEX1D_SRV Texture1D;
- D3D10_TEX1D_ARRAY_SRV Texture1DArray;
- D3D10_TEX2D_SRV Texture2D;
- D3D10_TEX2D_ARRAY_SRV Texture2DArray;
- D3D10_TEX2DMS_SRV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
- D3D10_TEX3D_SRV Texture3D;
- D3D10_TEXCUBE_SRV TextureCube;
- } DUMMYUNIONNAME;
-} D3D10_SHADER_RESOURCE_VIEW_DESC;
-typedef struct D3D10_BOX {
- UINT left;
- UINT top;
- UINT front;
- UINT right;
- UINT bottom;
- UINT back;
-} D3D10_BOX;
-typedef struct D3D10_SUBRESOURCE_DATA {
- const void *pSysMem;
- UINT SysMemPitch;
- UINT SysMemSlicePitch;
-} D3D10_SUBRESOURCE_DATA;
-typedef struct D3D10_SO_DECLARATION_ENTRY {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- BYTE StartComponent;
- BYTE ComponentCount;
- BYTE OutputSlot;
-} D3D10_SO_DECLARATION_ENTRY;
-typedef enum D3D10_INPUT_CLASSIFICATION {
- D3D10_INPUT_PER_VERTEX_DATA = 0,
- D3D10_INPUT_PER_INSTANCE_DATA = 1
-} D3D10_INPUT_CLASSIFICATION;
-typedef struct D3D10_INPUT_ELEMENT_DESC {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- DXGI_FORMAT Format;
- UINT InputSlot;
- UINT AlignedByteOffset;
- D3D10_INPUT_CLASSIFICATION InputSlotClass;
- UINT InstanceDataStepRate;
-} D3D10_INPUT_ELEMENT_DESC;
-typedef enum D3D10_QUERY {
- D3D10_QUERY_EVENT = 0,
- D3D10_QUERY_OCCLUSION = 1,
- D3D10_QUERY_TIMESTAMP = 2,
- D3D10_QUERY_TIMESTAMP_DISJOINT = 3,
- D3D10_QUERY_PIPELINE_STATISTICS = 4,
- D3D10_QUERY_OCCLUSION_PREDICATE = 5,
- D3D10_QUERY_SO_STATISTICS = 6,
- D3D10_QUERY_SO_OVERFLOW_PREDICATE = 7
-} D3D10_QUERY;
-typedef struct D3D10_QUERY_DESC {
- D3D10_QUERY Query;
- UINT MiscFlags;
-} D3D10_QUERY_DESC;
-typedef enum D3D10_PRIMITIVE_TOPOLOGY {
- D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
- D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
-} D3D10_PRIMITIVE_TOPOLOGY;
-typedef RECT D3D10_RECT;
-typedef struct D3D10_VIEWPORT {
- INT TopLeftX;
- INT TopLeftY;
- UINT Width;
- UINT Height;
- FLOAT MinDepth;
- FLOAT MaxDepth;
-} D3D10_VIEWPORT;
-typedef struct D3D10_MAPPED_TEXTURE2D {
- void *pData;
- UINT RowPitch;
-} D3D10_MAPPED_TEXTURE2D;
-typedef struct D3D10_MAPPED_TEXTURE3D {
- void *pData;
- UINT RowPitch;
- UINT DepthPitch;
-} D3D10_MAPPED_TEXTURE3D;
-typedef enum D3D10_BIND_FLAG {
- D3D10_BIND_VERTEX_BUFFER = 0x1,
- D3D10_BIND_INDEX_BUFFER = 0x2,
- D3D10_BIND_CONSTANT_BUFFER = 0x4,
- D3D10_BIND_SHADER_RESOURCE = 0x8,
- D3D10_BIND_STREAM_OUTPUT = 0x10,
- D3D10_BIND_RENDER_TARGET = 0x20,
- D3D10_BIND_DEPTH_STENCIL = 0x40
-} D3D10_BIND_FLAG;
-typedef enum D3D10_CPU_ACCESS_FLAG {
- D3D10_CPU_ACCESS_WRITE = 0x10000,
- D3D10_CPU_ACCESS_READ = 0x20000
-} D3D10_CPU_ACCESS_FLAG;
-typedef enum D3D10_RESOURCE_MISC_FLAG {
- D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1,
- D3D10_RESOURCE_MISC_SHARED = 0x2,
- D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4
-} D3D10_RESOURCE_MISC_FLAG;
-typedef enum D3D10_MAP_FLAG {
- D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000
-} D3D10_MAP_FLAG;
-typedef enum D3D10_CLEAR_FLAG {
- D3D10_CLEAR_DEPTH = 0x1,
- D3D10_CLEAR_STENCIL = 0x2
-} D3D10_CLEAR_FLAG;
-typedef enum D3D10_COLOR_WRITE_ENABLE {
- D3D10_COLOR_WRITE_ENABLE_RED = 0x1,
- D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2,
- D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4,
- D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8,
- D3D10_COLOR_WRITE_ENABLE_ALL = ((D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN) | D3D10_COLOR_WRITE_ENABLE_BLUE) | D3D10_COLOR_WRITE_ENABLE_ALPHA
-} D3D10_COLOR_WRITE_ENABLE;
-typedef enum D3D10_TEXTURECUBE_FACE {
- D3D10_TEXTURECUBE_FACE_POSITIVE_X = 0,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_X = 1,
- D3D10_TEXTURECUBE_FACE_POSITIVE_Y = 2,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_Y = 3,
- D3D10_TEXTURECUBE_FACE_POSITIVE_Z = 4,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_Z = 5
-} D3D10_TEXTURECUBE_FACE;
-typedef enum D3D10_ASYNC_GETDATA_FLAG {
- D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1
-} D3D10_ASYNC_GETDATA_FLAG;
-typedef enum D3D10_FILTER_TYPE {
- D3D10_FILTER_TYPE_POINT = 0,
- D3D10_FILTER_TYPE_LINEAR = 1
-} D3D10_FILTER_TYPE;
-typedef enum D3D10_QUERY_MISC_FLAG {
- D3D10_QUERY_MISC_PREDICATEHINT = 0x1
-} D3D10_QUERY_MISC_FLAG;
-typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
- UINT64 Frequency;
- BOOL Disjoint;
-} D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
-typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
-} D3D10_QUERY_DATA_PIPELINE_STATISTICS;
-typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
- UINT64 NumPrimitivesWritten;
- UINT64 PrimitivesStorageNeeded;
-} D3D10_QUERY_DATA_SO_STATISTICS;
-typedef enum D3D10_CREATE_DEVICE_FLAG {
- D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
- D3D10_CREATE_DEVICE_DEBUG = 0x2,
- D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
- D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8
-} D3D10_CREATE_DEVICE_FLAG;
-#ifndef __ID3D10Device_FWD_DEFINED__
-#define __ID3D10Device_FWD_DEFINED__
-typedef interface ID3D10Device ID3D10Device;
-#endif
-
-/*****************************************************************************
- * ID3D10DeviceChild interface
- */
-#ifndef __ID3D10DeviceChild_INTERFACE_DEFINED__
-#define __ID3D10DeviceChild_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10DeviceChild, 0x9b7e4c00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10DeviceChild : public IUnknown
-{
- virtual void STDMETHODCALLTYPE GetDevice(
- ID3D10Device **ppDevice) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
- REFGUID guid,
- UINT *pDataSize,
- void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
- REFGUID guid,
- UINT DataSize,
- const void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
- REFGUID guid,
- const IUnknown *pData) = 0;
-
-};
-#else
-typedef struct ID3D10DeviceChildVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10DeviceChild* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10DeviceChild* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10DeviceChild* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10DeviceChild* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10DeviceChild* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10DeviceChild* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10DeviceChild* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10DeviceChildVtbl;
-interface ID3D10DeviceChild {
- CONST_VTBL ID3D10DeviceChildVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10DeviceChild_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10DeviceChild_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10DeviceChild_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10DeviceChild_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10DeviceChild_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10DeviceChild_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10DeviceChild_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10DeviceChild_GetDevice_Proxy(
- ID3D10DeviceChild* This,
- ID3D10Device **ppDevice);
-void __RPC_STUB ID3D10DeviceChild_GetDevice_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10DeviceChild_GetPrivateData_Proxy(
- ID3D10DeviceChild* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-void __RPC_STUB ID3D10DeviceChild_GetPrivateData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10DeviceChild_SetPrivateData_Proxy(
- ID3D10DeviceChild* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-void __RPC_STUB ID3D10DeviceChild_SetPrivateData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10DeviceChild_SetPrivateDataInterface_Proxy(
- ID3D10DeviceChild* This,
- REFGUID guid,
- const IUnknown *pData);
-void __RPC_STUB ID3D10DeviceChild_SetPrivateDataInterface_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10DeviceChild_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Resource interface
- */
-#ifndef __ID3D10Resource_INTERFACE_DEFINED__
-#define __ID3D10Resource_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Resource, 0x9b7e4c01, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Resource : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetType(
- D3D10_RESOURCE_DIMENSION *rType) = 0;
-
- virtual void STDMETHODCALLTYPE SetEvictionPriority(
- UINT EvictionPriority) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetEvictionPriority(
- ) = 0;
-
-};
-#else
-typedef struct ID3D10ResourceVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Resource* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Resource* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Resource* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Resource* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Resource* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Resource* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Resource* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Resource* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Resource* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Resource* This);
-
- END_INTERFACE
-} ID3D10ResourceVtbl;
-interface ID3D10Resource {
- CONST_VTBL ID3D10ResourceVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Resource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Resource_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Resource_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Resource_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Resource_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Resource_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Resource_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Resource_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Resource_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Resource_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Resource_GetType_Proxy(
- ID3D10Resource* This,
- D3D10_RESOURCE_DIMENSION *rType);
-void __RPC_STUB ID3D10Resource_GetType_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Resource_SetEvictionPriority_Proxy(
- ID3D10Resource* This,
- UINT EvictionPriority);
-void __RPC_STUB ID3D10Resource_SetEvictionPriority_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-UINT STDMETHODCALLTYPE ID3D10Resource_GetEvictionPriority_Proxy(
- ID3D10Resource* This);
-void __RPC_STUB ID3D10Resource_GetEvictionPriority_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Resource_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Buffer interface
- */
-#ifndef __ID3D10Buffer_INTERFACE_DEFINED__
-#define __ID3D10Buffer_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Buffer, 0x9b7e4c02, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Buffer : public ID3D10Resource
-{
- virtual HRESULT STDMETHODCALLTYPE Map(
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_BUFFER_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10BufferVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Buffer* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Buffer* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Buffer* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Buffer* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Buffer* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Buffer* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Buffer* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Buffer* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Buffer* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Buffer* This);
-
- /*** ID3D10Buffer methods ***/
- HRESULT (STDMETHODCALLTYPE *Map)(
- ID3D10Buffer* This,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData);
-
- void (STDMETHODCALLTYPE *Unmap)(
- ID3D10Buffer* This);
-
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Buffer* This,
- D3D10_BUFFER_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10BufferVtbl;
-interface ID3D10Buffer {
- CONST_VTBL ID3D10BufferVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Buffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Buffer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Buffer_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Buffer_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Buffer_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Buffer_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Buffer_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Buffer_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Buffer_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Buffer_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-/*** ID3D10Buffer methods ***/
-#define ID3D10Buffer_Map(This,MapType,MapFlags,ppData) (This)->lpVtbl->Map(This,MapType,MapFlags,ppData)
-#define ID3D10Buffer_Unmap(This) (This)->lpVtbl->Unmap(This)
-#define ID3D10Buffer_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE ID3D10Buffer_Map_Proxy(
- ID3D10Buffer* This,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData);
-void __RPC_STUB ID3D10Buffer_Map_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Buffer_Unmap_Proxy(
- ID3D10Buffer* This);
-void __RPC_STUB ID3D10Buffer_Unmap_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Buffer_GetDesc_Proxy(
- ID3D10Buffer* This,
- D3D10_BUFFER_DESC *pDesc);
-void __RPC_STUB ID3D10Buffer_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Buffer_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Texture1D interface
- */
-#ifndef __ID3D10Texture1D_INTERFACE_DEFINED__
-#define __ID3D10Texture1D_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Texture1D, 0x9b7e4c03, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Texture1D : public ID3D10Resource
-{
- virtual HRESULT STDMETHODCALLTYPE Map(
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- UINT Subresource) = 0;
-
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_TEXTURE1D_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10Texture1DVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Texture1D* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Texture1D* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Texture1D* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Texture1D* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Texture1D* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Texture1D* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Texture1D* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Texture1D* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Texture1D* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Texture1D* This);
-
- /*** ID3D10Texture1D methods ***/
- HRESULT (STDMETHODCALLTYPE *Map)(
- ID3D10Texture1D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData);
-
- void (STDMETHODCALLTYPE *Unmap)(
- ID3D10Texture1D* This,
- UINT Subresource);
-
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Texture1D* This,
- D3D10_TEXTURE1D_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10Texture1DVtbl;
-interface ID3D10Texture1D {
- CONST_VTBL ID3D10Texture1DVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Texture1D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Texture1D_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Texture1D_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Texture1D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Texture1D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Texture1D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Texture1D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Texture1D_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Texture1D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Texture1D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-/*** ID3D10Texture1D methods ***/
-#define ID3D10Texture1D_Map(This,Subresource,MapType,MapFlags,ppData) (This)->lpVtbl->Map(This,Subresource,MapType,MapFlags,ppData)
-#define ID3D10Texture1D_Unmap(This,Subresource) (This)->lpVtbl->Unmap(This,Subresource)
-#define ID3D10Texture1D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE ID3D10Texture1D_Map_Proxy(
- ID3D10Texture1D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- void **ppData);
-void __RPC_STUB ID3D10Texture1D_Map_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture1D_Unmap_Proxy(
- ID3D10Texture1D* This,
- UINT Subresource);
-void __RPC_STUB ID3D10Texture1D_Unmap_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture1D_GetDesc_Proxy(
- ID3D10Texture1D* This,
- D3D10_TEXTURE1D_DESC *pDesc);
-void __RPC_STUB ID3D10Texture1D_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Texture1D_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Texture2D interface
- */
-#ifndef __ID3D10Texture2D_INTERFACE_DEFINED__
-#define __ID3D10Texture2D_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Texture2D, 0x9b7e4c04, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Texture2D : public ID3D10Resource
-{
- virtual HRESULT STDMETHODCALLTYPE Map(
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE2D *pMappedTex2D) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- UINT Subresource) = 0;
-
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_TEXTURE2D_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10Texture2DVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Texture2D* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Texture2D* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Texture2D* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Texture2D* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Texture2D* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Texture2D* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Texture2D* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Texture2D* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Texture2D* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Texture2D* This);
-
- /*** ID3D10Texture2D methods ***/
- HRESULT (STDMETHODCALLTYPE *Map)(
- ID3D10Texture2D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
-
- void (STDMETHODCALLTYPE *Unmap)(
- ID3D10Texture2D* This,
- UINT Subresource);
-
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Texture2D* This,
- D3D10_TEXTURE2D_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10Texture2DVtbl;
-interface ID3D10Texture2D {
- CONST_VTBL ID3D10Texture2DVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Texture2D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Texture2D_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Texture2D_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Texture2D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Texture2D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Texture2D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Texture2D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Texture2D_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Texture2D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Texture2D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-/*** ID3D10Texture2D methods ***/
-#define ID3D10Texture2D_Map(This,Subresource,MapType,MapFlags,pMappedTex2D) (This)->lpVtbl->Map(This,Subresource,MapType,MapFlags,pMappedTex2D)
-#define ID3D10Texture2D_Unmap(This,Subresource) (This)->lpVtbl->Unmap(This,Subresource)
-#define ID3D10Texture2D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE ID3D10Texture2D_Map_Proxy(
- ID3D10Texture2D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
-void __RPC_STUB ID3D10Texture2D_Map_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture2D_Unmap_Proxy(
- ID3D10Texture2D* This,
- UINT Subresource);
-void __RPC_STUB ID3D10Texture2D_Unmap_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture2D_GetDesc_Proxy(
- ID3D10Texture2D* This,
- D3D10_TEXTURE2D_DESC *pDesc);
-void __RPC_STUB ID3D10Texture2D_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Texture2D_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Texture3D interface
- */
-#ifndef __ID3D10Texture3D_INTERFACE_DEFINED__
-#define __ID3D10Texture3D_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Texture3D, 0x9b7e4c05, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Texture3D : public ID3D10Resource
-{
- virtual HRESULT STDMETHODCALLTYPE Map(
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE3D *pMappedTex3D) = 0;
-
- virtual void STDMETHODCALLTYPE Unmap(
- UINT Subresource) = 0;
-
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_TEXTURE3D_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10Texture3DVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Texture3D* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Texture3D* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Texture3D* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Texture3D* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Texture3D* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Texture3D* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Texture3D* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Resource methods ***/
- void (STDMETHODCALLTYPE *GetType)(
- ID3D10Texture3D* This,
- D3D10_RESOURCE_DIMENSION *rType);
-
- void (STDMETHODCALLTYPE *SetEvictionPriority)(
- ID3D10Texture3D* This,
- UINT EvictionPriority);
-
- UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
- ID3D10Texture3D* This);
-
- /*** ID3D10Texture3D methods ***/
- HRESULT (STDMETHODCALLTYPE *Map)(
- ID3D10Texture3D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
-
- void (STDMETHODCALLTYPE *Unmap)(
- ID3D10Texture3D* This,
- UINT Subresource);
-
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Texture3D* This,
- D3D10_TEXTURE3D_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10Texture3DVtbl;
-interface ID3D10Texture3D {
- CONST_VTBL ID3D10Texture3DVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Texture3D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Texture3D_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Texture3D_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Texture3D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Texture3D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Texture3D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Texture3D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Resource methods ***/
-#define ID3D10Texture3D_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
-#define ID3D10Texture3D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
-#define ID3D10Texture3D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
-/*** ID3D10Texture3D methods ***/
-#define ID3D10Texture3D_Map(This,Subresource,MapType,MapFlags,pMappedTex3D) (This)->lpVtbl->Map(This,Subresource,MapType,MapFlags,pMappedTex3D)
-#define ID3D10Texture3D_Unmap(This,Subresource) (This)->lpVtbl->Unmap(This,Subresource)
-#define ID3D10Texture3D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE ID3D10Texture3D_Map_Proxy(
- ID3D10Texture3D* This,
- UINT Subresource,
- D3D10_MAP MapType,
- UINT MapFlags,
- D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
-void __RPC_STUB ID3D10Texture3D_Map_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture3D_Unmap_Proxy(
- ID3D10Texture3D* This,
- UINT Subresource);
-void __RPC_STUB ID3D10Texture3D_Unmap_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Texture3D_GetDesc_Proxy(
- ID3D10Texture3D* This,
- D3D10_TEXTURE3D_DESC *pDesc);
-void __RPC_STUB ID3D10Texture3D_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Texture3D_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10View interface
- */
-#ifndef __ID3D10View_INTERFACE_DEFINED__
-#define __ID3D10View_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10View, 0xc902b03f, 0x60a7, 0x49ba, 0x99,0x36, 0x2a,0x3a,0xb3,0x7a,0x7e,0x33);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10View : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetResource(
- ID3D10Resource **ppResource) = 0;
-
-};
-#else
-typedef struct ID3D10ViewVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10View* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10View* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10View* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10View* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10View* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10View* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10View* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10View methods ***/
- void (STDMETHODCALLTYPE *GetResource)(
- ID3D10View* This,
- ID3D10Resource **ppResource);
-
- END_INTERFACE
-} ID3D10ViewVtbl;
-interface ID3D10View {
- CONST_VTBL ID3D10ViewVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10View_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10View_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10View_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10View_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10View_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10View_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10View_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10View methods ***/
-#define ID3D10View_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10View_GetResource_Proxy(
- ID3D10View* This,
- ID3D10Resource **ppResource);
-void __RPC_STUB ID3D10View_GetResource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10View_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10DepthStencilView interface
- */
-#ifndef __ID3D10DepthStencilView_INTERFACE_DEFINED__
-#define __ID3D10DepthStencilView_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10DepthStencilView, 0x9b7e4c09, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10DepthStencilView : public ID3D10View
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10DepthStencilViewVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10DepthStencilView* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10DepthStencilView* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10DepthStencilView* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10DepthStencilView* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10DepthStencilView* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10DepthStencilView* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10DepthStencilView* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10View methods ***/
- void (STDMETHODCALLTYPE *GetResource)(
- ID3D10DepthStencilView* This,
- ID3D10Resource **ppResource);
-
- /*** ID3D10DepthStencilView methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10DepthStencilView* This,
- D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10DepthStencilViewVtbl;
-interface ID3D10DepthStencilView {
- CONST_VTBL ID3D10DepthStencilViewVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10DepthStencilView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10DepthStencilView_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10DepthStencilView_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10DepthStencilView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10DepthStencilView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10DepthStencilView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10DepthStencilView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10View methods ***/
-#define ID3D10DepthStencilView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
-/*** ID3D10DepthStencilView methods ***/
-#define ID3D10DepthStencilView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10DepthStencilView_GetDesc_Proxy(
- ID3D10DepthStencilView* This,
- D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
-void __RPC_STUB ID3D10DepthStencilView_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10DepthStencilView_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10RenderTargetView interface
- */
-#ifndef __ID3D10RenderTargetView_INTERFACE_DEFINED__
-#define __ID3D10RenderTargetView_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10RenderTargetView, 0x9b7e4c08, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10RenderTargetView : public ID3D10View
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10RenderTargetViewVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10RenderTargetView* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10RenderTargetView* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10RenderTargetView* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10RenderTargetView* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10RenderTargetView* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10RenderTargetView* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10RenderTargetView* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10View methods ***/
- void (STDMETHODCALLTYPE *GetResource)(
- ID3D10RenderTargetView* This,
- ID3D10Resource **ppResource);
-
- /*** ID3D10RenderTargetView methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10RenderTargetView* This,
- D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10RenderTargetViewVtbl;
-interface ID3D10RenderTargetView {
- CONST_VTBL ID3D10RenderTargetViewVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10RenderTargetView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10RenderTargetView_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10RenderTargetView_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10RenderTargetView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10RenderTargetView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10RenderTargetView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10RenderTargetView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10View methods ***/
-#define ID3D10RenderTargetView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
-/*** ID3D10RenderTargetView methods ***/
-#define ID3D10RenderTargetView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10RenderTargetView_GetDesc_Proxy(
- ID3D10RenderTargetView* This,
- D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
-void __RPC_STUB ID3D10RenderTargetView_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10RenderTargetView_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10ShaderResourceView interface
- */
-#ifndef __ID3D10ShaderResourceView_INTERFACE_DEFINED__
-#define __ID3D10ShaderResourceView_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10ShaderResourceView, 0x9b7e4c07, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10ShaderResourceView : public ID3D10View
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10ShaderResourceViewVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10ShaderResourceView* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10ShaderResourceView* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10ShaderResourceView* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10ShaderResourceView* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10ShaderResourceView* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10ShaderResourceView* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10ShaderResourceView* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10View methods ***/
- void (STDMETHODCALLTYPE *GetResource)(
- ID3D10ShaderResourceView* This,
- ID3D10Resource **ppResource);
-
- /*** ID3D10ShaderResourceView methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10ShaderResourceView* This,
- D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10ShaderResourceViewVtbl;
-interface ID3D10ShaderResourceView {
- CONST_VTBL ID3D10ShaderResourceViewVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10ShaderResourceView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10ShaderResourceView_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10ShaderResourceView_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10ShaderResourceView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10ShaderResourceView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10ShaderResourceView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10View methods ***/
-#define ID3D10ShaderResourceView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
-/*** ID3D10ShaderResourceView methods ***/
-#define ID3D10ShaderResourceView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10ShaderResourceView_GetDesc_Proxy(
- ID3D10ShaderResourceView* This,
- D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
-void __RPC_STUB ID3D10ShaderResourceView_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10ShaderResourceView_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10BlendState interface
- */
-#ifndef __ID3D10BlendState_INTERFACE_DEFINED__
-#define __ID3D10BlendState_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10BlendState, 0xedad8d19, 0x8a35, 0x4d6d, 0x85,0x66, 0x2e,0xa2,0x76,0xcd,0xe1,0x61);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10BlendState : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_BLEND_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10BlendStateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10BlendState* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10BlendState* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10BlendState* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10BlendState* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10BlendState* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10BlendState* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10BlendState* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10BlendState methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10BlendState* This,
- D3D10_BLEND_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10BlendStateVtbl;
-interface ID3D10BlendState {
- CONST_VTBL ID3D10BlendStateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10BlendState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10BlendState_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10BlendState_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10BlendState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10BlendState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10BlendState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10BlendState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10BlendState methods ***/
-#define ID3D10BlendState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10BlendState_GetDesc_Proxy(
- ID3D10BlendState* This,
- D3D10_BLEND_DESC *pDesc);
-void __RPC_STUB ID3D10BlendState_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10BlendState_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10DepthStencilState interface
- */
-#ifndef __ID3D10DepthStencilState_INTERFACE_DEFINED__
-#define __ID3D10DepthStencilState_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10DepthStencilState, 0x2b4b1cc8, 0xa4ad, 0x41f8, 0x83,0x22, 0xca,0x86,0xfc,0x3e,0xc6,0x75);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10DepthStencilState : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_DEPTH_STENCIL_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10DepthStencilStateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10DepthStencilState* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10DepthStencilState* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10DepthStencilState* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10DepthStencilState* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10DepthStencilState* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10DepthStencilState* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10DepthStencilState* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10DepthStencilState methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10DepthStencilState* This,
- D3D10_DEPTH_STENCIL_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10DepthStencilStateVtbl;
-interface ID3D10DepthStencilState {
- CONST_VTBL ID3D10DepthStencilStateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10DepthStencilState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10DepthStencilState_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10DepthStencilState_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10DepthStencilState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10DepthStencilState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10DepthStencilState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10DepthStencilState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10DepthStencilState methods ***/
-#define ID3D10DepthStencilState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10DepthStencilState_GetDesc_Proxy(
- ID3D10DepthStencilState* This,
- D3D10_DEPTH_STENCIL_DESC *pDesc);
-void __RPC_STUB ID3D10DepthStencilState_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10DepthStencilState_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10GeometryShader interface
- */
-#ifndef __ID3D10GeometryShader_INTERFACE_DEFINED__
-#define __ID3D10GeometryShader_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10GeometryShader, 0x6316be88, 0x54cd, 0x4040, 0xab,0x44, 0x20,0x46,0x1b,0xc8,0x1f,0x68);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10GeometryShader : public ID3D10DeviceChild
-{
-};
-#else
-typedef struct ID3D10GeometryShaderVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10GeometryShader* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10GeometryShader* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10GeometryShader* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10GeometryShader* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10GeometryShader* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10GeometryShader* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10GeometryShader* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10GeometryShaderVtbl;
-interface ID3D10GeometryShader {
- CONST_VTBL ID3D10GeometryShaderVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10GeometryShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10GeometryShader_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10GeometryShader_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10GeometryShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10GeometryShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10GeometryShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10GeometryShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10GeometryShader_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10InputLayout interface
- */
-#ifndef __ID3D10InputLayout_INTERFACE_DEFINED__
-#define __ID3D10InputLayout_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10InputLayout, 0x9b7e4c0b, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10InputLayout : public ID3D10DeviceChild
-{
-};
-#else
-typedef struct ID3D10InputLayoutVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10InputLayout* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10InputLayout* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10InputLayout* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10InputLayout* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10InputLayout* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10InputLayout* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10InputLayout* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10InputLayoutVtbl;
-interface ID3D10InputLayout {
- CONST_VTBL ID3D10InputLayoutVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10InputLayout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10InputLayout_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10InputLayout_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10InputLayout_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10InputLayout_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10InputLayout_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10InputLayout_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10InputLayout_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10PixelShader interface
- */
-#ifndef __ID3D10PixelShader_INTERFACE_DEFINED__
-#define __ID3D10PixelShader_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10PixelShader, 0x4968b601, 0x9d00, 0x4cde, 0x83,0x46, 0x8e,0x7f,0x67,0x58,0x19,0xb6);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10PixelShader : public ID3D10DeviceChild
-{
-};
-#else
-typedef struct ID3D10PixelShaderVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10PixelShader* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10PixelShader* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10PixelShader* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10PixelShader* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10PixelShader* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10PixelShader* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10PixelShader* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10PixelShaderVtbl;
-interface ID3D10PixelShader {
- CONST_VTBL ID3D10PixelShaderVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10PixelShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10PixelShader_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10PixelShader_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10PixelShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10PixelShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10PixelShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10PixelShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10PixelShader_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10RasterizerState interface
- */
-#ifndef __ID3D10RasterizerState_INTERFACE_DEFINED__
-#define __ID3D10RasterizerState_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10RasterizerState, 0xa2a07292, 0x89af, 0x4345, 0xbe,0x2e, 0xc5,0x3d,0x9f,0xbb,0x6e,0x9f);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10RasterizerState : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_RASTERIZER_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10RasterizerStateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10RasterizerState* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10RasterizerState* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10RasterizerState* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10RasterizerState* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10RasterizerState* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10RasterizerState* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10RasterizerState* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10RasterizerState methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10RasterizerState* This,
- D3D10_RASTERIZER_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10RasterizerStateVtbl;
-interface ID3D10RasterizerState {
- CONST_VTBL ID3D10RasterizerStateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10RasterizerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10RasterizerState_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10RasterizerState_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10RasterizerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10RasterizerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10RasterizerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10RasterizerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10RasterizerState methods ***/
-#define ID3D10RasterizerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10RasterizerState_GetDesc_Proxy(
- ID3D10RasterizerState* This,
- D3D10_RASTERIZER_DESC *pDesc);
-void __RPC_STUB ID3D10RasterizerState_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10RasterizerState_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10SamplerState interface
- */
-#ifndef __ID3D10SamplerState_INTERFACE_DEFINED__
-#define __ID3D10SamplerState_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10SamplerState, 0x9b7e4c0c, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10SamplerState : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_SAMPLER_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10SamplerStateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10SamplerState* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10SamplerState* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10SamplerState* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10SamplerState* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10SamplerState* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10SamplerState* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10SamplerState* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10SamplerState methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10SamplerState* This,
- D3D10_SAMPLER_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10SamplerStateVtbl;
-interface ID3D10SamplerState {
- CONST_VTBL ID3D10SamplerStateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10SamplerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10SamplerState_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10SamplerState_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10SamplerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10SamplerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10SamplerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10SamplerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10SamplerState methods ***/
-#define ID3D10SamplerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10SamplerState_GetDesc_Proxy(
- ID3D10SamplerState* This,
- D3D10_SAMPLER_DESC *pDesc);
-void __RPC_STUB ID3D10SamplerState_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10SamplerState_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10VertexShader interface
- */
-#ifndef __ID3D10VertexShader_INTERFACE_DEFINED__
-#define __ID3D10VertexShader_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10VertexShader, 0x9b7e4c0a, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10VertexShader : public ID3D10DeviceChild
-{
-};
-#else
-typedef struct ID3D10VertexShaderVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10VertexShader* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10VertexShader* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10VertexShader* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10VertexShader* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10VertexShader* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10VertexShader* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10VertexShader* This,
- REFGUID guid,
- const IUnknown *pData);
-
- END_INTERFACE
-} ID3D10VertexShaderVtbl;
-interface ID3D10VertexShader {
- CONST_VTBL ID3D10VertexShaderVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10VertexShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10VertexShader_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10VertexShader_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10VertexShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10VertexShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10VertexShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10VertexShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10VertexShader_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Asynchronous interface
- */
-#ifndef __ID3D10Asynchronous_INTERFACE_DEFINED__
-#define __ID3D10Asynchronous_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Asynchronous, 0x9b7e4c0d, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Asynchronous : public ID3D10DeviceChild
-{
- virtual void STDMETHODCALLTYPE Begin(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE End(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetData(
- void *pData,
- UINT DataSize,
- UINT GetDataFlags) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetDataSize(
- ) = 0;
-
-};
-#else
-typedef struct ID3D10AsynchronousVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Asynchronous* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Asynchronous* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Asynchronous* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Asynchronous* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Asynchronous* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Asynchronous* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Asynchronous* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Asynchronous methods ***/
- void (STDMETHODCALLTYPE *Begin)(
- ID3D10Asynchronous* This);
-
- void (STDMETHODCALLTYPE *End)(
- ID3D10Asynchronous* This);
-
- HRESULT (STDMETHODCALLTYPE *GetData)(
- ID3D10Asynchronous* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-
- UINT (STDMETHODCALLTYPE *GetDataSize)(
- ID3D10Asynchronous* This);
-
- END_INTERFACE
-} ID3D10AsynchronousVtbl;
-interface ID3D10Asynchronous {
- CONST_VTBL ID3D10AsynchronousVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Asynchronous_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Asynchronous_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Asynchronous_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Asynchronous_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Asynchronous_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Asynchronous_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Asynchronous_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Asynchronous methods ***/
-#define ID3D10Asynchronous_Begin(This) (This)->lpVtbl->Begin(This)
-#define ID3D10Asynchronous_End(This) (This)->lpVtbl->End(This)
-#define ID3D10Asynchronous_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
-#define ID3D10Asynchronous_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Asynchronous_Begin_Proxy(
- ID3D10Asynchronous* This);
-void __RPC_STUB ID3D10Asynchronous_Begin_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Asynchronous_End_Proxy(
- ID3D10Asynchronous* This);
-void __RPC_STUB ID3D10Asynchronous_End_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Asynchronous_GetData_Proxy(
- ID3D10Asynchronous* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-void __RPC_STUB ID3D10Asynchronous_GetData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-UINT STDMETHODCALLTYPE ID3D10Asynchronous_GetDataSize_Proxy(
- ID3D10Asynchronous* This);
-void __RPC_STUB ID3D10Asynchronous_GetDataSize_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Asynchronous_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Counter interface
- */
-#ifndef __ID3D10Counter_INTERFACE_DEFINED__
-#define __ID3D10Counter_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Counter, 0x9b7e4c11, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Counter : public ID3D10Asynchronous
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_COUNTER_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10CounterVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Counter* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Counter* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Counter* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Counter* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Counter* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Counter* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Counter* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Asynchronous methods ***/
- void (STDMETHODCALLTYPE *Begin)(
- ID3D10Counter* This);
-
- void (STDMETHODCALLTYPE *End)(
- ID3D10Counter* This);
-
- HRESULT (STDMETHODCALLTYPE *GetData)(
- ID3D10Counter* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-
- UINT (STDMETHODCALLTYPE *GetDataSize)(
- ID3D10Counter* This);
-
- /*** ID3D10Counter methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Counter* This,
- D3D10_COUNTER_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10CounterVtbl;
-interface ID3D10Counter {
- CONST_VTBL ID3D10CounterVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Counter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Counter_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Counter_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Counter_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Counter_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Counter_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Counter_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Asynchronous methods ***/
-#define ID3D10Counter_Begin(This) (This)->lpVtbl->Begin(This)
-#define ID3D10Counter_End(This) (This)->lpVtbl->End(This)
-#define ID3D10Counter_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
-#define ID3D10Counter_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
-/*** ID3D10Counter methods ***/
-#define ID3D10Counter_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Counter_GetDesc_Proxy(
- ID3D10Counter* This,
- D3D10_COUNTER_DESC *pDesc);
-void __RPC_STUB ID3D10Counter_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Counter_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Query interface
- */
-#ifndef __ID3D10Query_INTERFACE_DEFINED__
-#define __ID3D10Query_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Query, 0x9b7e4c0e, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Query : public ID3D10Asynchronous
-{
- virtual void STDMETHODCALLTYPE GetDesc(
- D3D10_QUERY_DESC *pDesc) = 0;
-
-};
-#else
-typedef struct ID3D10QueryVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Query* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Query* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Query* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Query* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Query* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Query* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Query* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Asynchronous methods ***/
- void (STDMETHODCALLTYPE *Begin)(
- ID3D10Query* This);
-
- void (STDMETHODCALLTYPE *End)(
- ID3D10Query* This);
-
- HRESULT (STDMETHODCALLTYPE *GetData)(
- ID3D10Query* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-
- UINT (STDMETHODCALLTYPE *GetDataSize)(
- ID3D10Query* This);
-
- /*** ID3D10Query methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Query* This,
- D3D10_QUERY_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10QueryVtbl;
-interface ID3D10Query {
- CONST_VTBL ID3D10QueryVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Query_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Query_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Query_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Query_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Query_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Query_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Query_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Asynchronous methods ***/
-#define ID3D10Query_Begin(This) (This)->lpVtbl->Begin(This)
-#define ID3D10Query_End(This) (This)->lpVtbl->End(This)
-#define ID3D10Query_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
-#define ID3D10Query_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
-/*** ID3D10Query methods ***/
-#define ID3D10Query_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Query_GetDesc_Proxy(
- ID3D10Query* This,
- D3D10_QUERY_DESC *pDesc);
-void __RPC_STUB ID3D10Query_GetDesc_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Query_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Predicate interface
- */
-#ifndef __ID3D10Predicate_INTERFACE_DEFINED__
-#define __ID3D10Predicate_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Predicate, 0x9b7e4c10, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Predicate : public ID3D10Query
-{
-};
-#else
-typedef struct ID3D10PredicateVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Predicate* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Predicate* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Predicate* This);
-
- /*** ID3D10DeviceChild methods ***/
- void (STDMETHODCALLTYPE *GetDevice)(
- ID3D10Predicate* This,
- ID3D10Device **ppDevice);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Predicate* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Predicate* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Predicate* This,
- REFGUID guid,
- const IUnknown *pData);
-
- /*** ID3D10Asynchronous methods ***/
- void (STDMETHODCALLTYPE *Begin)(
- ID3D10Predicate* This);
-
- void (STDMETHODCALLTYPE *End)(
- ID3D10Predicate* This);
-
- HRESULT (STDMETHODCALLTYPE *GetData)(
- ID3D10Predicate* This,
- void *pData,
- UINT DataSize,
- UINT GetDataFlags);
-
- UINT (STDMETHODCALLTYPE *GetDataSize)(
- ID3D10Predicate* This);
-
- /*** ID3D10Query methods ***/
- void (STDMETHODCALLTYPE *GetDesc)(
- ID3D10Predicate* This,
- D3D10_QUERY_DESC *pDesc);
-
- END_INTERFACE
-} ID3D10PredicateVtbl;
-interface ID3D10Predicate {
- CONST_VTBL ID3D10PredicateVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Predicate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Predicate_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Predicate_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10DeviceChild methods ***/
-#define ID3D10Predicate_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
-#define ID3D10Predicate_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Predicate_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Predicate_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-/*** ID3D10Asynchronous methods ***/
-#define ID3D10Predicate_Begin(This) (This)->lpVtbl->Begin(This)
-#define ID3D10Predicate_End(This) (This)->lpVtbl->End(This)
-#define ID3D10Predicate_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
-#define ID3D10Predicate_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
-/*** ID3D10Query methods ***/
-#define ID3D10Predicate_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
-#endif
-
-#endif
-
-
-#endif /* __ID3D10Predicate_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Device interface
- */
-#ifndef __ID3D10Device_INTERFACE_DEFINED__
-#define __ID3D10Device_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Device, 0x9b7e4c0f, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Device : public IUnknown
-{
- virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE PSSetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE PSSetShader(
- ID3D10PixelShader *pPixelShader) = 0;
-
- virtual void STDMETHODCALLTYPE PSSetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE VSSetShader(
- ID3D10VertexShader *pVertexShader) = 0;
-
- virtual void STDMETHODCALLTYPE DrawIndexed(
- UINT IndexCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation) = 0;
-
- virtual void STDMETHODCALLTYPE Draw(
- UINT VertexCount,
- UINT StartVertexLocation) = 0;
-
- virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE IASetInputLayout(
- ID3D10InputLayout *pInputLayout) = 0;
-
- virtual void STDMETHODCALLTYPE IASetVertexBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppVertexBuffers,
- const UINT *pStrides,
- const UINT *pOffsets) = 0;
-
- virtual void STDMETHODCALLTYPE IASetIndexBuffer(
- ID3D10Buffer *pIndexBuffer,
- DXGI_FORMAT Format,
- UINT Offset) = 0;
-
- virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
- UINT IndexCountPerInstance,
- UINT InstanceCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation,
- UINT StartInstanceLocation) = 0;
-
- virtual void STDMETHODCALLTYPE DrawInstanced(
- UINT VertexCountPerInstance,
- UINT InstanceCount,
- UINT StartVertexLocation,
- UINT StartInstanceLocation) = 0;
-
- virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE GSSetShader(
- ID3D10GeometryShader *pShader) = 0;
-
- virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
- D3D10_PRIMITIVE_TOPOLOGY Topology) = 0;
-
- virtual void STDMETHODCALLTYPE VSSetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE VSSetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE SetPredication(
- ID3D10Predicate *pPredicate,
- BOOL PredicateValue) = 0;
-
- virtual void STDMETHODCALLTYPE GSSetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE GSSetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetRenderTargets(
- UINT NumViews,
- ID3D10RenderTargetView *const *ppRenderTargetViews,
- ID3D10DepthStencilView *pDepthStencilView) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetBlendState(
- ID3D10BlendState *pBlendState,
- const FLOAT BlendFactor[4],
- UINT SampleMask) = 0;
-
- virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
- ID3D10DepthStencilState *pDepthStencilState,
- UINT StencilRef) = 0;
-
- virtual void STDMETHODCALLTYPE SOSetTargets(
- UINT NumBuffers,
- ID3D10Buffer *const *ppSOTargets,
- const UINT *pOffsets) = 0;
-
- virtual void STDMETHODCALLTYPE DrawAuto(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetState(
- ID3D10RasterizerState *pRasterizerState) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetViewports(
- UINT NumViewports,
- const D3D10_VIEWPORT *pViewports) = 0;
-
- virtual void STDMETHODCALLTYPE RSSetScissorRects(
- UINT NumRects,
- const D3D10_RECT *pRects) = 0;
-
- virtual void STDMETHODCALLTYPE CopySubresourceRegion(
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- const D3D10_BOX *pSrcBox) = 0;
-
- virtual void STDMETHODCALLTYPE CopyResource(
- ID3D10Resource *pDstResource,
- ID3D10Resource *pSrcResource) = 0;
-
- virtual void STDMETHODCALLTYPE UpdateSubresource(
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- const D3D10_BOX *pDstBox,
- const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch) = 0;
-
- virtual void STDMETHODCALLTYPE ClearRenderTargetView(
- ID3D10RenderTargetView *pRenderTargetView,
- const FLOAT ColorRGBA[4]) = 0;
-
- virtual void STDMETHODCALLTYPE ClearDepthStencilView(
- ID3D10DepthStencilView *pDepthStencilView,
- UINT ClearFlags,
- FLOAT Depth,
- UINT8 Stencil) = 0;
-
- virtual void STDMETHODCALLTYPE GenerateMips(
- ID3D10ShaderResourceView *pShaderResourceView) = 0;
-
- virtual void STDMETHODCALLTYPE ResolveSubresource(
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- DXGI_FORMAT Format) = 0;
-
- virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE PSGetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE PSGetShader(
- ID3D10PixelShader **ppPixelShader) = 0;
-
- virtual void STDMETHODCALLTYPE PSGetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE VSGetShader(
- ID3D10VertexShader **ppVertexShader) = 0;
-
- virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE IAGetInputLayout(
- ID3D10InputLayout **ppInputLayout) = 0;
-
- virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppVertexBuffers,
- UINT *pStrides,
- UINT *pOffsets) = 0;
-
- virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
- ID3D10Buffer **pIndexBuffer,
- DXGI_FORMAT *Format,
- UINT *Offset) = 0;
-
- virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers) = 0;
-
- virtual void STDMETHODCALLTYPE GSGetShader(
- ID3D10GeometryShader **ppGeometryShader) = 0;
-
- virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
- D3D10_PRIMITIVE_TOPOLOGY *pTopology) = 0;
-
- virtual void STDMETHODCALLTYPE VSGetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE VSGetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE GetPredication(
- ID3D10Predicate **ppPredicate,
- BOOL *pPredicateValue) = 0;
-
- virtual void STDMETHODCALLTYPE GSGetShaderResources(
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
-
- virtual void STDMETHODCALLTYPE GSGetSamplers(
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers) = 0;
-
- virtual void STDMETHODCALLTYPE OMGetRenderTargets(
- UINT NumViews,
- ID3D10RenderTargetView **ppRenderTargetViews,
- ID3D10DepthStencilView **ppDepthStencilView) = 0;
-
- virtual void STDMETHODCALLTYPE OMGetBlendState(
- ID3D10BlendState **ppBlendState,
- FLOAT BlendFactor[4],
- UINT *pSampleMask) = 0;
-
- virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
- ID3D10DepthStencilState **ppDepthStencilState,
- UINT *pStencilRef) = 0;
-
- virtual void STDMETHODCALLTYPE SOGetTargets(
- UINT NumBuffers,
- ID3D10Buffer **ppSOTargets,
- UINT *pOffsets) = 0;
-
- virtual void STDMETHODCALLTYPE RSGetState(
- ID3D10RasterizerState **ppRasterizerState) = 0;
-
- virtual void STDMETHODCALLTYPE RSGetViewports(
- UINT *NumViewports,
- D3D10_VIEWPORT *pViewports) = 0;
-
- virtual void STDMETHODCALLTYPE RSGetScissorRects(
- UINT *NumRects,
- D3D10_RECT *pRects) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
- UINT RaiseFlags) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetExceptionMode(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
- REFGUID guid,
- UINT *pDataSize,
- void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
- REFGUID guid,
- UINT DataSize,
- const void *pData) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
- REFGUID guid,
- const IUnknown *pData) = 0;
-
- virtual void STDMETHODCALLTYPE ClearState(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE Flush(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
- const D3D10_BUFFER_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Buffer **ppBuffer) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
- const D3D10_TEXTURE1D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture1D **ppTexture1D) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
- const D3D10_TEXTURE2D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture2D **ppTexture2D) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
- const D3D10_TEXTURE3D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture3D **ppTexture3D) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
- ID3D10Resource *pResource,
- const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
- ID3D10ShaderResourceView **ppSRView) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
- ID3D10Resource *pResource,
- const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
- ID3D10RenderTargetView **ppRTView) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
- ID3D10Resource *pResource,
- const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
- ID3D10DepthStencilView **ppDepthStencilView) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
- const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
- UINT NumElements,
- const void *pShaderBytecodeWithInputSignature,
- SIZE_T BytecodeLength,
- ID3D10InputLayout **ppInputLayout) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10VertexShader **ppVertexShader) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10GeometryShader **ppGeometryShader) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
- UINT NumEntries,
- UINT OutputStreamStride,
- ID3D10GeometryShader **ppGeometryShader) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10PixelShader **ppPixelShader) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
- const D3D10_BLEND_DESC *pBlendStateDesc,
- ID3D10BlendState **ppBlendState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
- const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
- ID3D10DepthStencilState **ppDepthStencilState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
- const D3D10_RASTERIZER_DESC *pRasterizerDesc,
- ID3D10RasterizerState **ppRasterizerState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
- const D3D10_SAMPLER_DESC *pSamplerDesc,
- ID3D10SamplerState **ppSamplerState) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateQuery(
- const D3D10_QUERY_DESC *pQueryDesc,
- ID3D10Query **ppQuery) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
- const D3D10_QUERY_DESC *pPredicateDesc,
- ID3D10Predicate **ppPredicate) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateCounter(
- const D3D10_COUNTER_DESC *pCounterDesc,
- ID3D10Counter **ppCounter) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
- DXGI_FORMAT Format,
- UINT *pFormatSupport) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
- DXGI_FORMAT Format,
- UINT SampleCount,
- UINT *pNumQualityLevels) = 0;
-
- virtual void STDMETHODCALLTYPE CheckCounterInfo(
- D3D10_COUNTER_INFO *pCounterInfo) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CheckCounter(
- const D3D10_COUNTER_DESC *pDesc,
- D3D10_COUNTER_TYPE *pType,
- UINT *pActiveCounters,
- LPSTR szName,
- UINT *pNameLength,
- LPSTR szUnits,
- UINT *pUnitsLength,
- LPSTR szDescription,
- UINT *pDescriptionLength) = 0;
-
- virtual UINT STDMETHODCALLTYPE GetCreationFlags(
- ) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
- HANDLE hResource,
- REFIID ReturnedInterface,
- void **ppResource) = 0;
-
- virtual void STDMETHODCALLTYPE SetTextFilterSize(
- UINT Width,
- UINT Height) = 0;
-
- virtual void STDMETHODCALLTYPE GetTextFilterSize(
- UINT *pWidth,
- UINT *pHeight) = 0;
-
-};
-#else
-typedef struct ID3D10DeviceVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Device* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Device* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Device* This);
-
- /*** ID3D10Device methods ***/
- void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *PSSetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *PSSetShader)(
- ID3D10Device* This,
- ID3D10PixelShader *pPixelShader);
-
- void (STDMETHODCALLTYPE *PSSetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-
- void (STDMETHODCALLTYPE *VSSetShader)(
- ID3D10Device* This,
- ID3D10VertexShader *pVertexShader);
-
- void (STDMETHODCALLTYPE *DrawIndexed)(
- ID3D10Device* This,
- UINT IndexCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation);
-
- void (STDMETHODCALLTYPE *Draw)(
- ID3D10Device* This,
- UINT VertexCount,
- UINT StartVertexLocation);
-
- void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *IASetInputLayout)(
- ID3D10Device* This,
- ID3D10InputLayout *pInputLayout);
-
- void (STDMETHODCALLTYPE *IASetVertexBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppVertexBuffers,
- const UINT *pStrides,
- const UINT *pOffsets);
-
- void (STDMETHODCALLTYPE *IASetIndexBuffer)(
- ID3D10Device* This,
- ID3D10Buffer *pIndexBuffer,
- DXGI_FORMAT Format,
- UINT Offset);
-
- void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
- ID3D10Device* This,
- UINT IndexCountPerInstance,
- UINT InstanceCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation,
- UINT StartInstanceLocation);
-
- void (STDMETHODCALLTYPE *DrawInstanced)(
- ID3D10Device* This,
- UINT VertexCountPerInstance,
- UINT InstanceCount,
- UINT StartVertexLocation,
- UINT StartInstanceLocation);
-
- void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *GSSetShader)(
- ID3D10Device* This,
- ID3D10GeometryShader *pShader);
-
- void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
- ID3D10Device* This,
- D3D10_PRIMITIVE_TOPOLOGY Topology);
-
- void (STDMETHODCALLTYPE *VSSetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *VSSetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-
- void (STDMETHODCALLTYPE *SetPredication)(
- ID3D10Device* This,
- ID3D10Predicate *pPredicate,
- BOOL PredicateValue);
-
- void (STDMETHODCALLTYPE *GSSetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *GSSetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-
- void (STDMETHODCALLTYPE *OMSetRenderTargets)(
- ID3D10Device* This,
- UINT NumViews,
- ID3D10RenderTargetView *const *ppRenderTargetViews,
- ID3D10DepthStencilView *pDepthStencilView);
-
- void (STDMETHODCALLTYPE *OMSetBlendState)(
- ID3D10Device* This,
- ID3D10BlendState *pBlendState,
- const FLOAT BlendFactor[4],
- UINT SampleMask);
-
- void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
- ID3D10Device* This,
- ID3D10DepthStencilState *pDepthStencilState,
- UINT StencilRef);
-
- void (STDMETHODCALLTYPE *SOSetTargets)(
- ID3D10Device* This,
- UINT NumBuffers,
- ID3D10Buffer *const *ppSOTargets,
- const UINT *pOffsets);
-
- void (STDMETHODCALLTYPE *DrawAuto)(
- ID3D10Device* This);
-
- void (STDMETHODCALLTYPE *RSSetState)(
- ID3D10Device* This,
- ID3D10RasterizerState *pRasterizerState);
-
- void (STDMETHODCALLTYPE *RSSetViewports)(
- ID3D10Device* This,
- UINT NumViewports,
- const D3D10_VIEWPORT *pViewports);
-
- void (STDMETHODCALLTYPE *RSSetScissorRects)(
- ID3D10Device* This,
- UINT NumRects,
- const D3D10_RECT *pRects);
-
- void (STDMETHODCALLTYPE *CopySubresourceRegion)(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- const D3D10_BOX *pSrcBox);
-
- void (STDMETHODCALLTYPE *CopyResource)(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- ID3D10Resource *pSrcResource);
-
- void (STDMETHODCALLTYPE *UpdateSubresource)(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- const D3D10_BOX *pDstBox,
- const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-
- void (STDMETHODCALLTYPE *ClearRenderTargetView)(
- ID3D10Device* This,
- ID3D10RenderTargetView *pRenderTargetView,
- const FLOAT ColorRGBA[4]);
-
- void (STDMETHODCALLTYPE *ClearDepthStencilView)(
- ID3D10Device* This,
- ID3D10DepthStencilView *pDepthStencilView,
- UINT ClearFlags,
- FLOAT Depth,
- UINT8 Stencil);
-
- void (STDMETHODCALLTYPE *GenerateMips)(
- ID3D10Device* This,
- ID3D10ShaderResourceView *pShaderResourceView);
-
- void (STDMETHODCALLTYPE *ResolveSubresource)(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- DXGI_FORMAT Format);
-
- void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *PSGetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *PSGetShader)(
- ID3D10Device* This,
- ID3D10PixelShader **ppPixelShader);
-
- void (STDMETHODCALLTYPE *PSGetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-
- void (STDMETHODCALLTYPE *VSGetShader)(
- ID3D10Device* This,
- ID3D10VertexShader **ppVertexShader);
-
- void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *IAGetInputLayout)(
- ID3D10Device* This,
- ID3D10InputLayout **ppInputLayout);
-
- void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppVertexBuffers,
- UINT *pStrides,
- UINT *pOffsets);
-
- void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
- ID3D10Device* This,
- ID3D10Buffer **pIndexBuffer,
- DXGI_FORMAT *Format,
- UINT *Offset);
-
- void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-
- void (STDMETHODCALLTYPE *GSGetShader)(
- ID3D10Device* This,
- ID3D10GeometryShader **ppGeometryShader);
-
- void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
- ID3D10Device* This,
- D3D10_PRIMITIVE_TOPOLOGY *pTopology);
-
- void (STDMETHODCALLTYPE *VSGetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *VSGetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-
- void (STDMETHODCALLTYPE *GetPredication)(
- ID3D10Device* This,
- ID3D10Predicate **ppPredicate,
- BOOL *pPredicateValue);
-
- void (STDMETHODCALLTYPE *GSGetShaderResources)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-
- void (STDMETHODCALLTYPE *GSGetSamplers)(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-
- void (STDMETHODCALLTYPE *OMGetRenderTargets)(
- ID3D10Device* This,
- UINT NumViews,
- ID3D10RenderTargetView **ppRenderTargetViews,
- ID3D10DepthStencilView **ppDepthStencilView);
-
- void (STDMETHODCALLTYPE *OMGetBlendState)(
- ID3D10Device* This,
- ID3D10BlendState **ppBlendState,
- FLOAT BlendFactor[4],
- UINT *pSampleMask);
-
- void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
- ID3D10Device* This,
- ID3D10DepthStencilState **ppDepthStencilState,
- UINT *pStencilRef);
-
- void (STDMETHODCALLTYPE *SOGetTargets)(
- ID3D10Device* This,
- UINT NumBuffers,
- ID3D10Buffer **ppSOTargets,
- UINT *pOffsets);
-
- void (STDMETHODCALLTYPE *RSGetState)(
- ID3D10Device* This,
- ID3D10RasterizerState **ppRasterizerState);
-
- void (STDMETHODCALLTYPE *RSGetViewports)(
- ID3D10Device* This,
- UINT *NumViewports,
- D3D10_VIEWPORT *pViewports);
-
- void (STDMETHODCALLTYPE *RSGetScissorRects)(
- ID3D10Device* This,
- UINT *NumRects,
- D3D10_RECT *pRects);
-
- HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
- ID3D10Device* This);
-
- HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
- ID3D10Device* This,
- UINT RaiseFlags);
-
- UINT (STDMETHODCALLTYPE *GetExceptionMode)(
- ID3D10Device* This);
-
- HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
- ID3D10Device* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
- ID3D10Device* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-
- HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
- ID3D10Device* This,
- REFGUID guid,
- const IUnknown *pData);
-
- void (STDMETHODCALLTYPE *ClearState)(
- ID3D10Device* This);
-
- void (STDMETHODCALLTYPE *Flush)(
- ID3D10Device* This);
-
- HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
- ID3D10Device* This,
- const D3D10_BUFFER_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Buffer **ppBuffer);
-
- HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
- ID3D10Device* This,
- const D3D10_TEXTURE1D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture1D **ppTexture1D);
-
- HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
- ID3D10Device* This,
- const D3D10_TEXTURE2D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture2D **ppTexture2D);
-
- HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
- ID3D10Device* This,
- const D3D10_TEXTURE3D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture3D **ppTexture3D);
-
- HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
- ID3D10ShaderResourceView **ppSRView);
-
- HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
- ID3D10RenderTargetView **ppRTView);
-
- HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
- ID3D10DepthStencilView **ppDepthStencilView);
-
- HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
- ID3D10Device* This,
- const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
- UINT NumElements,
- const void *pShaderBytecodeWithInputSignature,
- SIZE_T BytecodeLength,
- ID3D10InputLayout **ppInputLayout);
-
- HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10VertexShader **ppVertexShader);
-
- HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10GeometryShader **ppGeometryShader);
-
- HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
- UINT NumEntries,
- UINT OutputStreamStride,
- ID3D10GeometryShader **ppGeometryShader);
-
- HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10PixelShader **ppPixelShader);
-
- HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
- ID3D10Device* This,
- const D3D10_BLEND_DESC *pBlendStateDesc,
- ID3D10BlendState **ppBlendState);
-
- HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
- ID3D10Device* This,
- const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
- ID3D10DepthStencilState **ppDepthStencilState);
-
- HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
- ID3D10Device* This,
- const D3D10_RASTERIZER_DESC *pRasterizerDesc,
- ID3D10RasterizerState **ppRasterizerState);
-
- HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
- ID3D10Device* This,
- const D3D10_SAMPLER_DESC *pSamplerDesc,
- ID3D10SamplerState **ppSamplerState);
-
- HRESULT (STDMETHODCALLTYPE *CreateQuery)(
- ID3D10Device* This,
- const D3D10_QUERY_DESC *pQueryDesc,
- ID3D10Query **ppQuery);
-
- HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
- ID3D10Device* This,
- const D3D10_QUERY_DESC *pPredicateDesc,
- ID3D10Predicate **ppPredicate);
-
- HRESULT (STDMETHODCALLTYPE *CreateCounter)(
- ID3D10Device* This,
- const D3D10_COUNTER_DESC *pCounterDesc,
- ID3D10Counter **ppCounter);
-
- HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
- ID3D10Device* This,
- DXGI_FORMAT Format,
- UINT *pFormatSupport);
-
- HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
- ID3D10Device* This,
- DXGI_FORMAT Format,
- UINT SampleCount,
- UINT *pNumQualityLevels);
-
- void (STDMETHODCALLTYPE *CheckCounterInfo)(
- ID3D10Device* This,
- D3D10_COUNTER_INFO *pCounterInfo);
-
- HRESULT (STDMETHODCALLTYPE *CheckCounter)(
- ID3D10Device* This,
- const D3D10_COUNTER_DESC *pDesc,
- D3D10_COUNTER_TYPE *pType,
- UINT *pActiveCounters,
- LPSTR szName,
- UINT *pNameLength,
- LPSTR szUnits,
- UINT *pUnitsLength,
- LPSTR szDescription,
- UINT *pDescriptionLength);
-
- UINT (STDMETHODCALLTYPE *GetCreationFlags)(
- ID3D10Device* This);
-
- HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
- ID3D10Device* This,
- HANDLE hResource,
- REFIID ReturnedInterface,
- void **ppResource);
-
- void (STDMETHODCALLTYPE *SetTextFilterSize)(
- ID3D10Device* This,
- UINT Width,
- UINT Height);
-
- void (STDMETHODCALLTYPE *GetTextFilterSize)(
- ID3D10Device* This,
- UINT *pWidth,
- UINT *pHeight);
-
- END_INTERFACE
-} ID3D10DeviceVtbl;
-interface ID3D10Device {
- CONST_VTBL ID3D10DeviceVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Device_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Device_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10Device methods ***/
-#define ID3D10Device_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_PSSetShader(This,pPixelShader) (This)->lpVtbl->PSSetShader(This,pPixelShader)
-#define ID3D10Device_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_VSSetShader(This,pVertexShader) (This)->lpVtbl->VSSetShader(This,pVertexShader)
-#define ID3D10Device_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
-#define ID3D10Device_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
-#define ID3D10Device_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
-#define ID3D10Device_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
-#define ID3D10Device_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
-#define ID3D10Device_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
-#define ID3D10Device_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
-#define ID3D10Device_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_GSSetShader(This,pShader) (This)->lpVtbl->GSSetShader(This,pShader)
-#define ID3D10Device_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
-#define ID3D10Device_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
-#define ID3D10Device_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
-#define ID3D10Device_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
-#define ID3D10Device_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
-#define ID3D10Device_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
-#define ID3D10Device_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
-#define ID3D10Device_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
-#define ID3D10Device_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
-#define ID3D10Device_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
-#define ID3D10Device_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
-#define ID3D10Device_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
-#define ID3D10Device_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
-#define ID3D10Device_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
-#define ID3D10Device_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
-#define ID3D10Device_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
-#define ID3D10Device_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
-#define ID3D10Device_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_PSGetShader(This,ppPixelShader) (This)->lpVtbl->PSGetShader(This,ppPixelShader)
-#define ID3D10Device_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_VSGetShader(This,ppVertexShader) (This)->lpVtbl->VSGetShader(This,ppVertexShader)
-#define ID3D10Device_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
-#define ID3D10Device_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
-#define ID3D10Device_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
-#define ID3D10Device_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
-#define ID3D10Device_GSGetShader(This,ppGeometryShader) (This)->lpVtbl->GSGetShader(This,ppGeometryShader)
-#define ID3D10Device_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
-#define ID3D10Device_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
-#define ID3D10Device_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
-#define ID3D10Device_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
-#define ID3D10Device_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
-#define ID3D10Device_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
-#define ID3D10Device_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
-#define ID3D10Device_SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets)
-#define ID3D10Device_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
-#define ID3D10Device_RSGetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,NumViewports,pViewports)
-#define ID3D10Device_RSGetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,NumRects,pRects)
-#define ID3D10Device_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
-#define ID3D10Device_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
-#define ID3D10Device_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
-#define ID3D10Device_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
-#define ID3D10Device_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
-#define ID3D10Device_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
-#define ID3D10Device_ClearState(This) (This)->lpVtbl->ClearState(This)
-#define ID3D10Device_Flush(This) (This)->lpVtbl->Flush(This)
-#define ID3D10Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
-#define ID3D10Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
-#define ID3D10Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
-#define ID3D10Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
-#define ID3D10Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
-#define ID3D10Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
-#define ID3D10Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
-#define ID3D10Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
-#define ID3D10Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader)
-#define ID3D10Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader)
-#define ID3D10Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader)
-#define ID3D10Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader)
-#define ID3D10Device_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
-#define ID3D10Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
-#define ID3D10Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
-#define ID3D10Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
-#define ID3D10Device_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
-#define ID3D10Device_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
-#define ID3D10Device_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
-#define ID3D10Device_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
-#define ID3D10Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
-#define ID3D10Device_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
-#define ID3D10Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
-#define ID3D10Device_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
-#define ID3D10Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
-#define ID3D10Device_SetTextFilterSize(This,Width,Height) (This)->lpVtbl->SetTextFilterSize(This,Width,Height)
-#define ID3D10Device_GetTextFilterSize(This,pWidth,pHeight) (This)->lpVtbl->GetTextFilterSize(This,pWidth,pHeight)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Device_VSSetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-void __RPC_STUB ID3D10Device_VSSetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSSetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_PSSetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSSetShader_Proxy(
- ID3D10Device* This,
- ID3D10PixelShader *pPixelShader);
-void __RPC_STUB ID3D10Device_PSSetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSSetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-void __RPC_STUB ID3D10Device_PSSetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSSetShader_Proxy(
- ID3D10Device* This,
- ID3D10VertexShader *pVertexShader);
-void __RPC_STUB ID3D10Device_VSSetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_DrawIndexed_Proxy(
- ID3D10Device* This,
- UINT IndexCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation);
-void __RPC_STUB ID3D10Device_DrawIndexed_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_Draw_Proxy(
- ID3D10Device* This,
- UINT VertexCount,
- UINT StartVertexLocation);
-void __RPC_STUB ID3D10Device_Draw_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSSetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-void __RPC_STUB ID3D10Device_PSSetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IASetInputLayout_Proxy(
- ID3D10Device* This,
- ID3D10InputLayout *pInputLayout);
-void __RPC_STUB ID3D10Device_IASetInputLayout_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IASetVertexBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppVertexBuffers,
- const UINT *pStrides,
- const UINT *pOffsets);
-void __RPC_STUB ID3D10Device_IASetVertexBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IASetIndexBuffer_Proxy(
- ID3D10Device* This,
- ID3D10Buffer *pIndexBuffer,
- DXGI_FORMAT Format,
- UINT Offset);
-void __RPC_STUB ID3D10Device_IASetIndexBuffer_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_DrawIndexedInstanced_Proxy(
- ID3D10Device* This,
- UINT IndexCountPerInstance,
- UINT InstanceCount,
- UINT StartIndexLocation,
- INT BaseVertexLocation,
- UINT StartInstanceLocation);
-void __RPC_STUB ID3D10Device_DrawIndexedInstanced_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_DrawInstanced_Proxy(
- ID3D10Device* This,
- UINT VertexCountPerInstance,
- UINT InstanceCount,
- UINT StartVertexLocation,
- UINT StartInstanceLocation);
-void __RPC_STUB ID3D10Device_DrawInstanced_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSSetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer *const *ppConstantBuffers);
-void __RPC_STUB ID3D10Device_GSSetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSSetShader_Proxy(
- ID3D10Device* This,
- ID3D10GeometryShader *pShader);
-void __RPC_STUB ID3D10Device_GSSetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IASetPrimitiveTopology_Proxy(
- ID3D10Device* This,
- D3D10_PRIMITIVE_TOPOLOGY Topology);
-void __RPC_STUB ID3D10Device_IASetPrimitiveTopology_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSSetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_VSSetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSSetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-void __RPC_STUB ID3D10Device_VSSetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_SetPredication_Proxy(
- ID3D10Device* This,
- ID3D10Predicate *pPredicate,
- BOOL PredicateValue);
-void __RPC_STUB ID3D10Device_SetPredication_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSSetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView *const *ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_GSSetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSSetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState *const *ppSamplers);
-void __RPC_STUB ID3D10Device_GSSetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMSetRenderTargets_Proxy(
- ID3D10Device* This,
- UINT NumViews,
- ID3D10RenderTargetView *const *ppRenderTargetViews,
- ID3D10DepthStencilView *pDepthStencilView);
-void __RPC_STUB ID3D10Device_OMSetRenderTargets_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMSetBlendState_Proxy(
- ID3D10Device* This,
- ID3D10BlendState *pBlendState,
- const FLOAT BlendFactor[4],
- UINT SampleMask);
-void __RPC_STUB ID3D10Device_OMSetBlendState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMSetDepthStencilState_Proxy(
- ID3D10Device* This,
- ID3D10DepthStencilState *pDepthStencilState,
- UINT StencilRef);
-void __RPC_STUB ID3D10Device_OMSetDepthStencilState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_SOSetTargets_Proxy(
- ID3D10Device* This,
- UINT NumBuffers,
- ID3D10Buffer *const *ppSOTargets,
- const UINT *pOffsets);
-void __RPC_STUB ID3D10Device_SOSetTargets_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_DrawAuto_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_DrawAuto_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSSetState_Proxy(
- ID3D10Device* This,
- ID3D10RasterizerState *pRasterizerState);
-void __RPC_STUB ID3D10Device_RSSetState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSSetViewports_Proxy(
- ID3D10Device* This,
- UINT NumViewports,
- const D3D10_VIEWPORT *pViewports);
-void __RPC_STUB ID3D10Device_RSSetViewports_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSSetScissorRects_Proxy(
- ID3D10Device* This,
- UINT NumRects,
- const D3D10_RECT *pRects);
-void __RPC_STUB ID3D10Device_RSSetScissorRects_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_CopySubresourceRegion_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- const D3D10_BOX *pSrcBox);
-void __RPC_STUB ID3D10Device_CopySubresourceRegion_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_CopyResource_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- ID3D10Resource *pSrcResource);
-void __RPC_STUB ID3D10Device_CopyResource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_UpdateSubresource_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- const D3D10_BOX *pDstBox,
- const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
-void __RPC_STUB ID3D10Device_UpdateSubresource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_ClearRenderTargetView_Proxy(
- ID3D10Device* This,
- ID3D10RenderTargetView *pRenderTargetView,
- const FLOAT ColorRGBA[4]);
-void __RPC_STUB ID3D10Device_ClearRenderTargetView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_ClearDepthStencilView_Proxy(
- ID3D10Device* This,
- ID3D10DepthStencilView *pDepthStencilView,
- UINT ClearFlags,
- FLOAT Depth,
- UINT8 Stencil);
-void __RPC_STUB ID3D10Device_ClearDepthStencilView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GenerateMips_Proxy(
- ID3D10Device* This,
- ID3D10ShaderResourceView *pShaderResourceView);
-void __RPC_STUB ID3D10Device_GenerateMips_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_ResolveSubresource_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pDstResource,
- UINT DstSubresource,
- ID3D10Resource *pSrcResource,
- UINT SrcSubresource,
- DXGI_FORMAT Format);
-void __RPC_STUB ID3D10Device_ResolveSubresource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSGetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-void __RPC_STUB ID3D10Device_VSGetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSGetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_PSGetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSGetShader_Proxy(
- ID3D10Device* This,
- ID3D10PixelShader **ppPixelShader);
-void __RPC_STUB ID3D10Device_PSGetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSGetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-void __RPC_STUB ID3D10Device_PSGetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSGetShader_Proxy(
- ID3D10Device* This,
- ID3D10VertexShader **ppVertexShader);
-void __RPC_STUB ID3D10Device_VSGetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_PSGetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-void __RPC_STUB ID3D10Device_PSGetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IAGetInputLayout_Proxy(
- ID3D10Device* This,
- ID3D10InputLayout **ppInputLayout);
-void __RPC_STUB ID3D10Device_IAGetInputLayout_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IAGetVertexBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppVertexBuffers,
- UINT *pStrides,
- UINT *pOffsets);
-void __RPC_STUB ID3D10Device_IAGetVertexBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IAGetIndexBuffer_Proxy(
- ID3D10Device* This,
- ID3D10Buffer **pIndexBuffer,
- DXGI_FORMAT *Format,
- UINT *Offset);
-void __RPC_STUB ID3D10Device_IAGetIndexBuffer_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSGetConstantBuffers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumBuffers,
- ID3D10Buffer **ppConstantBuffers);
-void __RPC_STUB ID3D10Device_GSGetConstantBuffers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSGetShader_Proxy(
- ID3D10Device* This,
- ID3D10GeometryShader **ppGeometryShader);
-void __RPC_STUB ID3D10Device_GSGetShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_IAGetPrimitiveTopology_Proxy(
- ID3D10Device* This,
- D3D10_PRIMITIVE_TOPOLOGY *pTopology);
-void __RPC_STUB ID3D10Device_IAGetPrimitiveTopology_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSGetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_VSGetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_VSGetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-void __RPC_STUB ID3D10Device_VSGetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GetPredication_Proxy(
- ID3D10Device* This,
- ID3D10Predicate **ppPredicate,
- BOOL *pPredicateValue);
-void __RPC_STUB ID3D10Device_GetPredication_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSGetShaderResources_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumViews,
- ID3D10ShaderResourceView **ppShaderResourceViews);
-void __RPC_STUB ID3D10Device_GSGetShaderResources_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GSGetSamplers_Proxy(
- ID3D10Device* This,
- UINT StartSlot,
- UINT NumSamplers,
- ID3D10SamplerState **ppSamplers);
-void __RPC_STUB ID3D10Device_GSGetSamplers_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMGetRenderTargets_Proxy(
- ID3D10Device* This,
- UINT NumViews,
- ID3D10RenderTargetView **ppRenderTargetViews,
- ID3D10DepthStencilView **ppDepthStencilView);
-void __RPC_STUB ID3D10Device_OMGetRenderTargets_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMGetBlendState_Proxy(
- ID3D10Device* This,
- ID3D10BlendState **ppBlendState,
- FLOAT BlendFactor[4],
- UINT *pSampleMask);
-void __RPC_STUB ID3D10Device_OMGetBlendState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_OMGetDepthStencilState_Proxy(
- ID3D10Device* This,
- ID3D10DepthStencilState **ppDepthStencilState,
- UINT *pStencilRef);
-void __RPC_STUB ID3D10Device_OMGetDepthStencilState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_SOGetTargets_Proxy(
- ID3D10Device* This,
- UINT NumBuffers,
- ID3D10Buffer **ppSOTargets,
- UINT *pOffsets);
-void __RPC_STUB ID3D10Device_SOGetTargets_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSGetState_Proxy(
- ID3D10Device* This,
- ID3D10RasterizerState **ppRasterizerState);
-void __RPC_STUB ID3D10Device_RSGetState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSGetViewports_Proxy(
- ID3D10Device* This,
- UINT *NumViewports,
- D3D10_VIEWPORT *pViewports);
-void __RPC_STUB ID3D10Device_RSGetViewports_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_RSGetScissorRects_Proxy(
- ID3D10Device* This,
- UINT *NumRects,
- D3D10_RECT *pRects);
-void __RPC_STUB ID3D10Device_RSGetScissorRects_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_GetDeviceRemovedReason_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_GetDeviceRemovedReason_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_SetExceptionMode_Proxy(
- ID3D10Device* This,
- UINT RaiseFlags);
-void __RPC_STUB ID3D10Device_SetExceptionMode_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-UINT STDMETHODCALLTYPE ID3D10Device_GetExceptionMode_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_GetExceptionMode_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_GetPrivateData_Proxy(
- ID3D10Device* This,
- REFGUID guid,
- UINT *pDataSize,
- void *pData);
-void __RPC_STUB ID3D10Device_GetPrivateData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_SetPrivateData_Proxy(
- ID3D10Device* This,
- REFGUID guid,
- UINT DataSize,
- const void *pData);
-void __RPC_STUB ID3D10Device_SetPrivateData_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_SetPrivateDataInterface_Proxy(
- ID3D10Device* This,
- REFGUID guid,
- const IUnknown *pData);
-void __RPC_STUB ID3D10Device_SetPrivateDataInterface_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_ClearState_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_ClearState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_Flush_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_Flush_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateBuffer_Proxy(
- ID3D10Device* This,
- const D3D10_BUFFER_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Buffer **ppBuffer);
-void __RPC_STUB ID3D10Device_CreateBuffer_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateTexture1D_Proxy(
- ID3D10Device* This,
- const D3D10_TEXTURE1D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture1D **ppTexture1D);
-void __RPC_STUB ID3D10Device_CreateTexture1D_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateTexture2D_Proxy(
- ID3D10Device* This,
- const D3D10_TEXTURE2D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture2D **ppTexture2D);
-void __RPC_STUB ID3D10Device_CreateTexture2D_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateTexture3D_Proxy(
- ID3D10Device* This,
- const D3D10_TEXTURE3D_DESC *pDesc,
- const D3D10_SUBRESOURCE_DATA *pInitialData,
- ID3D10Texture3D **ppTexture3D);
-void __RPC_STUB ID3D10Device_CreateTexture3D_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateShaderResourceView_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
- ID3D10ShaderResourceView **ppSRView);
-void __RPC_STUB ID3D10Device_CreateShaderResourceView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateRenderTargetView_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
- ID3D10RenderTargetView **ppRTView);
-void __RPC_STUB ID3D10Device_CreateRenderTargetView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateDepthStencilView_Proxy(
- ID3D10Device* This,
- ID3D10Resource *pResource,
- const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
- ID3D10DepthStencilView **ppDepthStencilView);
-void __RPC_STUB ID3D10Device_CreateDepthStencilView_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateInputLayout_Proxy(
- ID3D10Device* This,
- const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
- UINT NumElements,
- const void *pShaderBytecodeWithInputSignature,
- SIZE_T BytecodeLength,
- ID3D10InputLayout **ppInputLayout);
-void __RPC_STUB ID3D10Device_CreateInputLayout_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateVertexShader_Proxy(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10VertexShader **ppVertexShader);
-void __RPC_STUB ID3D10Device_CreateVertexShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateGeometryShader_Proxy(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10GeometryShader **ppGeometryShader);
-void __RPC_STUB ID3D10Device_CreateGeometryShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateGeometryShaderWithStreamOutput_Proxy(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
- UINT NumEntries,
- UINT OutputStreamStride,
- ID3D10GeometryShader **ppGeometryShader);
-void __RPC_STUB ID3D10Device_CreateGeometryShaderWithStreamOutput_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreatePixelShader_Proxy(
- ID3D10Device* This,
- const void *pShaderBytecode,
- SIZE_T BytecodeLength,
- ID3D10PixelShader **ppPixelShader);
-void __RPC_STUB ID3D10Device_CreatePixelShader_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateBlendState_Proxy(
- ID3D10Device* This,
- const D3D10_BLEND_DESC *pBlendStateDesc,
- ID3D10BlendState **ppBlendState);
-void __RPC_STUB ID3D10Device_CreateBlendState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateDepthStencilState_Proxy(
- ID3D10Device* This,
- const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
- ID3D10DepthStencilState **ppDepthStencilState);
-void __RPC_STUB ID3D10Device_CreateDepthStencilState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateRasterizerState_Proxy(
- ID3D10Device* This,
- const D3D10_RASTERIZER_DESC *pRasterizerDesc,
- ID3D10RasterizerState **ppRasterizerState);
-void __RPC_STUB ID3D10Device_CreateRasterizerState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateSamplerState_Proxy(
- ID3D10Device* This,
- const D3D10_SAMPLER_DESC *pSamplerDesc,
- ID3D10SamplerState **ppSamplerState);
-void __RPC_STUB ID3D10Device_CreateSamplerState_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateQuery_Proxy(
- ID3D10Device* This,
- const D3D10_QUERY_DESC *pQueryDesc,
- ID3D10Query **ppQuery);
-void __RPC_STUB ID3D10Device_CreateQuery_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreatePredicate_Proxy(
- ID3D10Device* This,
- const D3D10_QUERY_DESC *pPredicateDesc,
- ID3D10Predicate **ppPredicate);
-void __RPC_STUB ID3D10Device_CreatePredicate_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CreateCounter_Proxy(
- ID3D10Device* This,
- const D3D10_COUNTER_DESC *pCounterDesc,
- ID3D10Counter **ppCounter);
-void __RPC_STUB ID3D10Device_CreateCounter_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CheckFormatSupport_Proxy(
- ID3D10Device* This,
- DXGI_FORMAT Format,
- UINT *pFormatSupport);
-void __RPC_STUB ID3D10Device_CheckFormatSupport_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CheckMultisampleQualityLevels_Proxy(
- ID3D10Device* This,
- DXGI_FORMAT Format,
- UINT SampleCount,
- UINT *pNumQualityLevels);
-void __RPC_STUB ID3D10Device_CheckMultisampleQualityLevels_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_CheckCounterInfo_Proxy(
- ID3D10Device* This,
- D3D10_COUNTER_INFO *pCounterInfo);
-void __RPC_STUB ID3D10Device_CheckCounterInfo_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_CheckCounter_Proxy(
- ID3D10Device* This,
- const D3D10_COUNTER_DESC *pDesc,
- D3D10_COUNTER_TYPE *pType,
- UINT *pActiveCounters,
- LPSTR szName,
- UINT *pNameLength,
- LPSTR szUnits,
- UINT *pUnitsLength,
- LPSTR szDescription,
- UINT *pDescriptionLength);
-void __RPC_STUB ID3D10Device_CheckCounter_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-UINT STDMETHODCALLTYPE ID3D10Device_GetCreationFlags_Proxy(
- ID3D10Device* This);
-void __RPC_STUB ID3D10Device_GetCreationFlags_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ID3D10Device_OpenSharedResource_Proxy(
- ID3D10Device* This,
- HANDLE hResource,
- REFIID ReturnedInterface,
- void **ppResource);
-void __RPC_STUB ID3D10Device_OpenSharedResource_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_SetTextFilterSize_Proxy(
- ID3D10Device* This,
- UINT Width,
- UINT Height);
-void __RPC_STUB ID3D10Device_SetTextFilterSize_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Device_GetTextFilterSize_Proxy(
- ID3D10Device* This,
- UINT *pWidth,
- UINT *pHeight);
-void __RPC_STUB ID3D10Device_GetTextFilterSize_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Device_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ID3D10Multithread interface
- */
-#ifndef __ID3D10Multithread_INTERFACE_DEFINED__
-#define __ID3D10Multithread_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_ID3D10Multithread, 0x9b7e4e00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ID3D10Multithread : public IUnknown
-{
- virtual void STDMETHODCALLTYPE Enter(
- ) = 0;
-
- virtual void STDMETHODCALLTYPE Leave(
- ) = 0;
-
- virtual BOOL STDMETHODCALLTYPE SetMultithreadProtected(
- BOOL bMTProtect) = 0;
-
- virtual BOOL STDMETHODCALLTYPE GetMultithreadProtected(
- ) = 0;
-
-};
-#else
-typedef struct ID3D10MultithreadVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
- ID3D10Multithread* This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
- ID3D10Multithread* This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
- ID3D10Multithread* This);
-
- /*** ID3D10Multithread methods ***/
- void (STDMETHODCALLTYPE *Enter)(
- ID3D10Multithread* This);
-
- void (STDMETHODCALLTYPE *Leave)(
- ID3D10Multithread* This);
-
- BOOL (STDMETHODCALLTYPE *SetMultithreadProtected)(
- ID3D10Multithread* This,
- BOOL bMTProtect);
-
- BOOL (STDMETHODCALLTYPE *GetMultithreadProtected)(
- ID3D10Multithread* This);
-
- END_INTERFACE
-} ID3D10MultithreadVtbl;
-interface ID3D10Multithread {
- CONST_VTBL ID3D10MultithreadVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ID3D10Multithread_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ID3D10Multithread_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ID3D10Multithread_Release(This) (This)->lpVtbl->Release(This)
-/*** ID3D10Multithread methods ***/
-#define ID3D10Multithread_Enter(This) (This)->lpVtbl->Enter(This)
-#define ID3D10Multithread_Leave(This) (This)->lpVtbl->Leave(This)
-#define ID3D10Multithread_SetMultithreadProtected(This,bMTProtect) (This)->lpVtbl->SetMultithreadProtected(This,bMTProtect)
-#define ID3D10Multithread_GetMultithreadProtected(This) (This)->lpVtbl->GetMultithreadProtected(This)
-#endif
-
-#endif
-
-void STDMETHODCALLTYPE ID3D10Multithread_Enter_Proxy(
- ID3D10Multithread* This);
-void __RPC_STUB ID3D10Multithread_Enter_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-void STDMETHODCALLTYPE ID3D10Multithread_Leave_Proxy(
- ID3D10Multithread* This);
-void __RPC_STUB ID3D10Multithread_Leave_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-BOOL STDMETHODCALLTYPE ID3D10Multithread_SetMultithreadProtected_Proxy(
- ID3D10Multithread* This,
- BOOL bMTProtect);
-void __RPC_STUB ID3D10Multithread_SetMultithreadProtected_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-BOOL STDMETHODCALLTYPE ID3D10Multithread_GetMultithreadProtected_Proxy(
- ID3D10Multithread* This);
-void __RPC_STUB ID3D10Multithread_GetMultithreadProtected_Stub(
- IRpcStubBuffer* This,
- IRpcChannelBuffer* pRpcChannelBuffer,
- PRPC_MESSAGE pRpcMessage,
- DWORD* pdwStubPhase);
-
-#endif /* __ID3D10Multithread_INTERFACE_DEFINED__ */
-
-#include "d3d10misc.h"
-#include "d3d10shader.h"
-#include "d3d10effect.h"
-/* Begin additional prototypes for all interfaces */
-
-
-/* End additional prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WIDL_D3D10_H */
+++ /dev/null
-/*
- * Copyright 2007 Andras Kovacs
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-import "oaidl.idl";
-import "ocidl.idl";
-import "dxgi.idl";
-
-cpp_quote("#ifndef _D3D10_CONSTANTS")
-cpp_quote("#define _D3D10_CONSTANTS")
-const float D3D10_DEFAULT_BLEND_FACTOR_ALPHA = 1.0;
-const float D3D10_DEFAULT_BLEND_FACTOR_BLUE = 1.0;
-const float D3D10_DEFAULT_BLEND_FACTOR_GREEN = 1.0;
-const float D3D10_DEFAULT_BLEND_FACTOR_RED = 1.0;
-const float D3D10_DEFAULT_BORDER_COLOR_COMPONENT = 0.0;
-const float D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0;
-const float D3D10_DEFAULT_DEPTH_BIAS_CLAMP = 0.0;
-const float D3D10_DEFAULT_MAX_ANISOTROPY = 16.0;
-const float D3D10_DEFAULT_MIP_LOD_BIAS = 0.0;
-const float D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0;
-const float D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0;
-const float D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6;
-const float D3D10_FLOAT32_MAX = 3.402823466e+38;
-const float D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6;
-const float D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4;
-const float D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0;
-const float D3D10_FLOAT_TO_SRGB_OFFSET = 0.055;
-const float D3D10_FLOAT_TO_SRGB_SCALE_1 = 12.92;
-const float D3D10_FLOAT_TO_SRGB_SCALE_2 = 1.055;
-const float D3D10_FLOAT_TO_SRGB_THRESHOLD = 0.0031308;
-const float D3D10_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999;
-const float D3D10_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999;
-const float D3D10_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999;
-const float D3D10_FTOU_INSTRUCTION_MIN_INPUT = 0.0;
-const float D3D10_LINEAR_GAMMA = 1.0;
-const float D3D10_MAX_BORDER_COLOR_COMPONENT = 1.0;
-const float D3D10_MAX_DEPTH = 1.0;
-const float D3D10_MAX_POSITION_VALUE = 3.402823466e+34;
-const float D3D10_MIN_BORDER_COLOR_COMPONENT = 0.0;
-const float D3D10_MIN_DEPTH = 0.0;
-const float D3D10_MIP_LOD_BIAS_MAX = 15.99;
-const float D3D10_MIP_LOD_BIAS_MIN = -16.0;
-const float D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5;
-const float D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4;
-const float D3D10_SRGB_GAMMA = 2.2;
-const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92;
-const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055;
-const float D3D10_SRGB_TO_FLOAT_EXPONENT = 2.4;
-const float D3D10_SRGB_TO_FLOAT_OFFSET = 0.055;
-const float D3D10_SRGB_TO_FLOAT_THRESHOLD = 0.04045;
-const float D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5;
-const float D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0;
-const float D3D_SPEC_VERSION = 1.050005;
-const unsigned int D3D10_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff;
-const unsigned int D3D10_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff;
-const unsigned int D3D10_8BIT_INDEX_STRIP_CUT_VALUE = 0xff;
-const unsigned int D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
-const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_COUNT = 8;
-const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
-const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
-const unsigned int D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
-const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
-const unsigned int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
-const int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
-const int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
-const unsigned int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
-const unsigned int D3D10_DEFAULT_DEPTH_BIAS = 0;
-const unsigned int D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
-const unsigned int D3D10_DEFAULT_SAMPLE_MASK = 0xffffffff;
-const unsigned int D3D10_DEFAULT_SCISSOR_ENDX = 0;
-const unsigned int D3D10_DEFAULT_SCISSOR_ENDY = 0;
-const unsigned int D3D10_DEFAULT_SCISSOR_STARTX = 0;
-const unsigned int D3D10_DEFAULT_SCISSOR_STARTY = 0;
-const unsigned int D3D10_DEFAULT_STENCIL_READ_MASK = 0xff;
-const unsigned int D3D10_DEFAULT_STENCIL_REFERENCE = 0;
-const unsigned int D3D10_DEFAULT_STENCIL_WRITE_MASK = 0xff;
-const unsigned int D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
-const unsigned int D3D10_DEFAULT_VIEWPORT_HEIGHT = 0;
-const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTX = 0;
-const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTY = 0;
-const unsigned int D3D10_DEFAULT_VIEWPORT_WIDTH = 0;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2;
-const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT =32;
-const unsigned int D3D10_GS_INPUT_REGISTER_COUNT = 16;
-const unsigned int D3D10_GS_INPUT_REGISTER_READS_PER_INST = 2;
-const unsigned int D3D10_GS_INPUT_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_GS_INPUT_REGISTER_VERTICES = 6;
-const unsigned int D3D10_GS_OUTPUT_ELEMENTS = 32;
-const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_GS_OUTPUT_REGISTER_COUNT = 32;
-const unsigned int D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
-const unsigned int D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
-const unsigned int D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
-const unsigned int D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
-const unsigned int D3D10_IA_INSTANCE_ID_BIT_COUNT = 32;
-const unsigned int D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
-const unsigned int D3D10_IA_PRIMITIVE_ID_BIT_COUNT = 32;
-const unsigned int D3D10_IA_VERTEX_ID_BIT_COUNT = 32;
-const unsigned int D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 16;
-const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 64;
-const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 16;
-const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff;
-const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff;
-const unsigned int D3D10_MAX_MAXANISOTROPY = 16;
-const unsigned int D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
-const unsigned int D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17;
-const unsigned int D3D10_MIN_MAXANISOTROPY = 0;
-const unsigned int D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = 6;
-const unsigned int D3D10_MIP_LOD_RANGE_BIT_COUNT = 8;
-const unsigned int D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0;
-const unsigned int D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = 13;
-const unsigned int D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
-const unsigned int D3D10_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff;
-const unsigned int D3D10_PS_FRONTFACING_FALSE_VALUE = 0;
-const unsigned int D3D10_PS_FRONTFACING_TRUE_VALUE = 0xffffffff;
-const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_PS_INPUT_REGISTER_COUNT = 32;
-const unsigned int D3D10_PS_INPUT_REGISTER_READS_PER_INST = 2;
-const unsigned int D3D10_PS_INPUT_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
-const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
-const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_PS_OUTPUT_REGISTER_COUNT = 8;
-const unsigned int D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = 4096;
-const unsigned int D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
-const unsigned int D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
-const unsigned int D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = 4096;
-const unsigned int D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
-const unsigned int D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
-const unsigned int D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 8192;
-const unsigned int D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
-const unsigned int D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
-const unsigned int D3D10_REQ_MAXANISOTROPY = 16;
-const unsigned int D3D10_REQ_MIP_LEVELS = 14;
-const unsigned int D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
-const unsigned int D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = 4096;
-const unsigned int D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 8192;
-const unsigned int D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = 128;
-const unsigned int D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = 20;
-const unsigned int D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = 4096;
-const unsigned int D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 512;
-const unsigned int D3D10_REQ_TEXTURE1D_U_DIMENSION = 8192;
-const unsigned int D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 512;
-const unsigned int D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = 8192;
-const unsigned int D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
-const unsigned int D3D10_REQ_TEXTURECUBE_DIMENSION = 8192;
-const unsigned int D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
-const unsigned int D3D10_SHADER_MAJOR_VERSION = 4;
-const unsigned int D3D10_SHADER_MINOR_VERSION = 0;
-const unsigned int D3D10_SHIFT_INSTRUCTION_PAD_VALUE = 0;
-const unsigned int D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
-const unsigned int D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
-const unsigned int D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
-const unsigned int D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256;
-const unsigned int D3D10_SO_BUFFER_SLOT_COUNT = 4;
-const unsigned int D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff;
-const unsigned int D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1;
-const unsigned int D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64;
-const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
-const unsigned int D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
-const unsigned int D3D10_STANDARD_PIXEL_COMPONENT_COUNT = 128;
-const unsigned int D3D10_STANDARD_PIXEL_ELEMENT_COUNT = 32;
-const unsigned int D3D10_STANDARD_VECTOR_SIZE = 4;
-const unsigned int D3D10_STANDARD_VERTEX_ELEMENT_COUNT = 16;
-const unsigned int D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
-const unsigned int D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
-const unsigned int D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = 6;
-const unsigned int D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = 18;
-const unsigned int D3D10_UNBOUND_MEMORY_ACCESS_RESULT = 0;
-const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
-const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
-const unsigned int D3D10_VIEWPORT_BOUNDS_MAX = 16383;
-const int D3D10_VIEWPORT_BOUNDS_MIN = -16384;
-const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_VS_INPUT_REGISTER_COUNT = 16;
-const unsigned int D3D10_VS_INPUT_REGISTER_READS_PER_INST = 2;
-const unsigned int D3D10_VS_INPUT_REGISTER_READ_PORTS = 1;
-const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENTS = 4;
-const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
-const unsigned int D3D10_VS_OUTPUT_REGISTER_COUNT = 16;
-const unsigned int D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10;
-const unsigned int D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25;
-const unsigned int D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25;
-const unsigned int D3D_MAJOR_VERSION = 10;
-const unsigned int D3D_MINOR_VERSION = 0;
-const unsigned int D3D_SPEC_DATE_DAY = 8;
-const unsigned int D3D_SPEC_DATE_MONTH = 8;
-const unsigned int D3D_SPEC_DATE_YEAR = 2006;
-cpp_quote("#endif")
-
-const unsigned int D3D10_APPEND_ALIGNED_ELEMENT = 0xffffffff;
-const unsigned int _FACD3D10 = 0x87;
-const unsigned int _FACD3D10DEBUG = _FACD3D10 + 1;
-const unsigned int D3D10_FILTER_TYPE_MASK = 0x3;
-const unsigned int D3D10_SDK_VERSION = 29;
-
-cpp_quote("#define MAKE_D3D10_HRESULT(code) MAKE_HRESULT( 1, _FACD3D10, code)")
-cpp_quote("#define MAKE_D3D10_STATUS(code) MAKE_HRESULT( 0, _FACD3D10, code)")
-cpp_quote("#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)")
-cpp_quote("#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)")
-
-typedef enum D3D10_BLEND {
- D3D10_BLEND_ZERO = 1,
- D3D10_BLEND_ONE = 2,
- D3D10_BLEND_SRC_COLOR = 3,
- D3D10_BLEND_INV_SRC_COLOR = 4,
- D3D10_BLEND_SRC_ALPHA = 5,
- D3D10_BLEND_INV_SRC_ALPHA = 6,
- D3D10_BLEND_DEST_ALPHA = 7,
- D3D10_BLEND_INV_DEST_ALPHA = 8,
- D3D10_BLEND_DEST_COLOR = 9,
- D3D10_BLEND_INV_DEST_COLOR = 10,
- D3D10_BLEND_SRC_ALPHA_SAT = 11,
- D3D10_BLEND_BLEND_FACTOR = 14,
- D3D10_BLEND_INV_BLEND_FACTOR = 15,
- D3D10_BLEND_SRC1_COLOR = 16,
- D3D10_BLEND_INV_SRC1_COLOR = 17,
- D3D10_BLEND_SRC1_ALPHA = 18,
- D3D10_BLEND_INV_SRC1_ALPHA = 19
-} D3D10_BLEND;
-
-typedef enum D3D10_BLEND_OP {
- D3D10_BLEND_OP_ADD = 1,
- D3D10_BLEND_OP_SUBTRACT,
- D3D10_BLEND_OP_REV_SUBTRACT,
- D3D10_BLEND_OP_MIN,
- D3D10_BLEND_OP_MAX,
-} D3D10_BLEND_OP;
-
-typedef struct D3D10_BLEND_DESC {
- BOOL AlphaToCoverageEnable;
- BOOL BlendEnable[8];
- D3D10_BLEND SrcBlend;
- D3D10_BLEND DestBlend;
- D3D10_BLEND_OP BlendOp;
- D3D10_BLEND SrcBlendAlpha;
- D3D10_BLEND DestBlendAlpha;
- D3D10_BLEND_OP BlendOpAlpha;
- UINT8 RenderTargetWriteMask[8];
-} D3D10_BLEND_DESC;
-
-typedef enum D3D10_DEPTH_WRITE_MASK {
- D3D10_DEPTH_WRITE_MASK_ZERO,
- D3D10_DEPTH_WRITE_MASK_ALL,
-} D3D10_DEPTH_WRITE_MASK;
-
-typedef enum D3D10_COMPARISON_FUNC {
- D3D10_COMPARISON_NEVER = 1,
- D3D10_COMPARISON_LESS,
- D3D10_COMPARISON_EQUAL,
- D3D10_COMPARISON_LESS_EQUAL,
- D3D10_COMPARISON_GREATER,
- D3D10_COMPARISON_NOT_EQUAL,
- D3D10_COMPARISON_GREATER_EQUAL,
- D3D10_COMPARISON_ALWAYS,
-} D3D10_COMPARISON_FUNC;
-
-typedef enum D3D10_STENCIL_OP {
- D3D10_STENCIL_OP_KEEP = 1,
- D3D10_STENCIL_OP_ZERO,
- D3D10_STENCIL_OP_REPLACE,
- D3D10_STENCIL_OP_INCR_SAT,
- D3D10_STENCIL_OP_DECR_SAT,
- D3D10_STENCIL_OP_INVERT,
- D3D10_STENCIL_OP_INCR,
- D3D10_STENCIL_OP_DECR,
-} D3D10_STENCIL_OP;
-
-typedef struct D3D10_DEPTH_STENCILOP_DESC {
- D3D10_STENCIL_OP StencilFailOp;
- D3D10_STENCIL_OP StencilDepthFailOp;
- D3D10_STENCIL_OP StencilPassOp;
- D3D10_COMPARISON_FUNC StencilFunc;
-} D3D10_DEPTH_STENCILOP_DESC;
-
-typedef struct D3D10_DEPTH_STENCIL_DESC {
- BOOL DepthEnable;
- D3D10_DEPTH_WRITE_MASK DepthWriteMask;
- D3D10_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D10_DEPTH_STENCILOP_DESC FrontFace;
- D3D10_DEPTH_STENCILOP_DESC BackFace;
-} D3D10_DEPTH_STENCIL_DESC;
-
-typedef enum D3D10_FILL_MODE {
- D3D10_FILL_WIREFRAME = 2,
- D3D10_FILL_SOLID,
-} D3D10_FILL_MODE;
-
-typedef enum D3D10_CULL_MODE {
- D3D10_CULL_NONE = 1,
- D3D10_CULL_FRONT,
- D3D10_CULL_BACK,
-} D3D10_CULL_MODE;
-
-typedef struct D3D10_RASTERIZER_DESC {
- D3D10_FILL_MODE FillMode;
- D3D10_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- INT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL ScissorEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
-} D3D10_RASTERIZER_DESC;
-
-typedef enum D3D10_FILTER {
- D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
- D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
- D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
- D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
- D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
- D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
- D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
- D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
- D3D10_FILTER_ANISOTROPIC = 0x55,
- D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
- D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
- D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
- D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
- D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
- D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
- D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
- D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
- D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
- D3D10_FILTER_TEXT_1BIT = 0x80000000
-} D3D10_FILTER;
-
-typedef enum D3D10_TEXTURE_ADDRESS_MODE {
- D3D10_TEXTURE_ADDRESS_WRAP = 1,
- D3D10_TEXTURE_ADDRESS_MIRROR,
- D3D10_TEXTURE_ADDRESS_CLAMP,
- D3D10_TEXTURE_ADDRESS_BORDER,
- D3D10_TEXTURE_ADDRESS_MIRROR_ONCE,
-} D3D10_TEXTURE_ADDRESS_MODE;
-
-typedef struct D3D10_SAMPLER_DESC {
- D3D10_FILTER Filter;
- D3D10_TEXTURE_ADDRESS_MODE AddressU;
- D3D10_TEXTURE_ADDRESS_MODE AddressV;
- D3D10_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D10_COMPARISON_FUNC ComparisonFunc;
- FLOAT BorderColor[4];
- FLOAT MinLOD;
- FLOAT MaxLOD;
-} D3D10_SAMPLER_DESC;
-
-typedef enum D3D10_COUNTER {
- D3D10_COUNTER_GPU_IDLE,
- D3D10_COUNTER_VERTEX_PROCESSING,
- D3D10_COUNTER_GEOMETRY_PROCESSING,
- D3D10_COUNTER_PIXEL_PROCESSING,
- D3D10_COUNTER_OTHER_GPU_PROCESSING,
- D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION,
- D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION,
- D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION,
- D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION,
- D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION,
- D3D10_COUNTER_VS_MEMORY_LIMITED,
- D3D10_COUNTER_VS_COMPUTATION_LIMITED,
- D3D10_COUNTER_GS_MEMORY_LIMITED,
- D3D10_COUNTER_GS_COMPUTATION_LIMITED,
- D3D10_COUNTER_PS_MEMORY_LIMITED,
- D3D10_COUNTER_PS_COMPUTATION_LIMITED,
- D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE,
- D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE,
- D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
-} D3D10_COUNTER;
-
-typedef struct D3D10_COUNTER_DESC {
- D3D10_COUNTER Counter;
- UINT MiscFlags;
-} D3D10_COUNTER_DESC;
-
-typedef enum D3D10_COUNTER_TYPE {
- D3D10_COUNTER_TYPE_FLOAT32,
- D3D10_COUNTER_TYPE_UINT16,
- D3D10_COUNTER_TYPE_UINT32,
- D3D10_COUNTER_TYPE_UINT64,
-} D3D10_COUNTER_TYPE;
-
-typedef struct D3D10_COUNTER_INFO {
- D3D10_COUNTER LastDeviceDependentCounter;
- UINT NumSimultaneousCounters;
- UINT8 NumDetectableParallelUnits;
-} D3D10_COUNTER_INFO;
-
-typedef enum D3D10_RESOURCE_DIMENSION {
- D3D10_RESOURCE_DIMENSION_UNKNOWN,
- D3D10_RESOURCE_DIMENSION_BUFFER,
- D3D10_RESOURCE_DIMENSION_TEXTURE1D,
- D3D10_RESOURCE_DIMENSION_TEXTURE2D,
- D3D10_RESOURCE_DIMENSION_TEXTURE3D,
-} D3D10_RESOURCE_DIMENSION;
-
-typedef enum D3D10_USAGE {
- D3D10_USAGE_DEFAULT,
- D3D10_USAGE_IMMUTABLE,
- D3D10_USAGE_DYNAMIC,
- D3D10_USAGE_STAGING,
-} D3D10_USAGE;
-
-typedef struct D3D10_BUFFER_DESC {
- UINT ByteWidth;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_BUFFER_DESC;
-
-typedef enum D3D10_MAP {
- D3D10_MAP_READ = 1,
- D3D10_MAP_WRITE,
- D3D10_MAP_READ_WRITE,
- D3D10_MAP_WRITE_DISCARD,
- D3D10_MAP_WRITE_NO_OVERWRITE,
-} D3D10_MAP;
-
-typedef struct D3D10_TEXTURE1D_DESC {
- UINT Width;
- UINT MipLevels;
- UINT ArraySize;
- DXGI_FORMAT Format;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE1D_DESC;
-
-typedef struct D3D10_TEXTURE2D_DESC {
- UINT Width;
- UINT Height;
- UINT MipLevels;
- UINT ArraySize;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE2D_DESC;
-
-typedef struct D3D10_TEXTURE3D_DESC {
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT MipLevels;
- DXGI_FORMAT Format;
- D3D10_USAGE Usage;
- UINT BindFlags;
- UINT CPUAccessFlags;
- UINT MiscFlags;
-} D3D10_TEXTURE3D_DESC;
-
-typedef enum D3D10_DSV_DIMENSION
-{
- D3D10_DSV_DIMENSION_UNKNOWN,
- D3D10_DSV_DIMENSION_TEXTURE1D,
- D3D10_DSV_DIMENSION_TEXTURE1DARRAY,
- D3D10_DSV_DIMENSION_TEXTURE2D,
- D3D10_DSV_DIMENSION_TEXTURE2DARRAY,
- D3D10_DSV_DIMENSION_TEXTURE2DMS,
- D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY,
-} D3D10_DSV_DIMENSION;
-
-typedef struct D3D10_TEX1D_DSV {
- UINT MipSlice;
-} D3D10_TEX1D_DSV;
-
-typedef struct D3D10_TEX1D_ARRAY_DSV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_DSV;
-
-typedef struct D3D10_TEX2D_DSV {
- UINT MipSlice;
-} D3D10_TEX2D_DSV;
-
-typedef struct D3D10_TEX2D_ARRAY_DSV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_DSV;
-
-typedef struct D3D10_TEX2DMS_DSV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_DSV;
-
-typedef struct D3D10_TEX2DMS_ARRAY_DSV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_DSV;
-
-typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_DSV_DIMENSION ViewDimension;
- union {
- D3D10_TEX1D_DSV Texture1D;
- D3D10_TEX1D_ARRAY_DSV Texture1DArray;
- D3D10_TEX2D_DSV Texture2D;
- D3D10_TEX2D_ARRAY_DSV Texture2DArray;
- D3D10_TEX2DMS_DSV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
- } DUMMYUNIONNAME;
-} D3D10_DEPTH_STENCIL_VIEW_DESC;
-
-typedef enum D3D10_RTV_DIMENSION {
- D3D10_RTV_DIMENSION_UNKNOWN,
- D3D10_RTV_DIMENSION_BUFFER,
- D3D10_RTV_DIMENSION_TEXTURE1D,
- D3D10_RTV_DIMENSION_TEXTURE1DARRAY,
- D3D10_RTV_DIMENSION_TEXTURE2D,
- D3D10_RTV_DIMENSION_TEXTURE2DARRAY,
- D3D10_RTV_DIMENSION_TEXTURE2DMS,
- D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,
- D3D10_RTV_DIMENSION_TEXTURE3D,
-} D3D10_RTV_DIMENSION;
-
-typedef struct D3D10_BUFFER_RTV {
- UINT ElementOffset;
- UINT ElementWidth;
-} D3D10_BUFFER_RTV;
-
-typedef struct D3D10_TEX1D_RTV {
- UINT MipSlice;
-} D3D10_TEX1D_RTV;
-
-typedef struct D3D10_TEX1D_ARRAY_RTV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_RTV;
-
-typedef struct D3D10_TEX2D_RTV {
- UINT MipSlice;
-} D3D10_TEX2D_RTV;
-
-typedef struct D3D10_TEX2D_ARRAY_RTV {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_RTV;
-
-typedef struct D3D10_TEX2DMS_RTV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_RTV;
-
-typedef struct D3D10_TEX2DMS_ARRAY_RTV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_RTV;
-
-typedef struct D3D10_TEX3D_RTV {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
-} D3D10_TEX3D_RTV;
-
-typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_RTV_DIMENSION ViewDimension;
- union {
- D3D10_BUFFER_RTV Buffer;
- D3D10_TEX1D_RTV Texture1D;
- D3D10_TEX1D_ARRAY_RTV Texture1DArray;
- D3D10_TEX2D_RTV Texture2D;
- D3D10_TEX2D_ARRAY_RTV Texture2DArray;
- D3D10_TEX2DMS_RTV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
- D3D10_TEX3D_RTV Texture3D;
- } DUMMYUNIONNAME;
-} D3D10_RENDER_TARGET_VIEW_DESC;
-
-typedef enum D3D10_SRV_DIMENSION {
- D3D10_SRV_DIMENSION_UNKNOWN,
- D3D10_SRV_DIMENSION_BUFFER,
- D3D10_SRV_DIMENSION_TEXTURE1D,
- D3D10_SRV_DIMENSION_TEXTURE1DARRAY,
- D3D10_SRV_DIMENSION_TEXTURE2D,
- D3D10_SRV_DIMENSION_TEXTURE2DARRAY,
- D3D10_SRV_DIMENSION_TEXTURE2DMS,
- D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY,
- D3D10_SRV_DIMENSION_TEXTURE3D,
- D3D10_SRV_DIMENSION_TEXTURECUBE,
-} D3D10_SRV_DIMENSION;
-
-typedef struct D3D10_BUFFER_SRV {
- UINT ElementOffset;
- UINT ElementWidth;
-} D3D10_BUFFER_SRV;
-
-typedef struct D3D10_TEX1D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX1D_SRV;
-
-typedef struct D3D10_TEX1D_ARRAY_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX1D_ARRAY_SRV;
-
-typedef struct D3D10_TEX2D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX2D_SRV;
-
-typedef struct D3D10_TEX2D_ARRAY_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2D_ARRAY_SRV;
-
-typedef struct D3D10_TEX2DMS_SRV {
- UINT UnusedField_NothingToDefine;
-} D3D10_TEX2DMS_SRV;
-
-typedef struct D3D10_TEX2DMS_ARRAY_SRV {
- UINT FirstArraySlice;
- UINT ArraySize;
-} D3D10_TEX2DMS_ARRAY_SRV;
-
-typedef struct D3D10_TEX3D_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEX3D_SRV;
-
-typedef struct D3D10_TEXCUBE_SRV {
- UINT MostDetailedMip;
- UINT MipLevels;
-} D3D10_TEXCUBE_SRV;
-
-typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
- DXGI_FORMAT Format;
- D3D10_SRV_DIMENSION ViewDimension;
- union {
- D3D10_BUFFER_SRV Buffer;
- D3D10_TEX1D_SRV Texture1D;
- D3D10_TEX1D_ARRAY_SRV Texture1DArray;
- D3D10_TEX2D_SRV Texture2D;
- D3D10_TEX2D_ARRAY_SRV Texture2DArray;
- D3D10_TEX2DMS_SRV Texture2DMS;
- D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
- D3D10_TEX3D_SRV Texture3D;
- D3D10_TEXCUBE_SRV TextureCube;
- } DUMMYUNIONNAME;
-} D3D10_SHADER_RESOURCE_VIEW_DESC;
-
-typedef struct D3D10_BOX {
- UINT left;
- UINT top;
- UINT front;
- UINT right;
- UINT bottom;
- UINT back;
-} D3D10_BOX;
-
-typedef struct D3D10_SUBRESOURCE_DATA {
- const void *pSysMem;
- UINT SysMemPitch;
- UINT SysMemSlicePitch;
-} D3D10_SUBRESOURCE_DATA;
-
-typedef struct D3D10_SO_DECLARATION_ENTRY {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- BYTE StartComponent;
- BYTE ComponentCount;
- BYTE OutputSlot;
-} D3D10_SO_DECLARATION_ENTRY;
-
-typedef enum D3D10_INPUT_CLASSIFICATION {
- D3D10_INPUT_PER_VERTEX_DATA,
- D3D10_INPUT_PER_INSTANCE_DATA,
-} D3D10_INPUT_CLASSIFICATION;
-
-typedef struct D3D10_INPUT_ELEMENT_DESC {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- DXGI_FORMAT Format;
- UINT InputSlot;
- UINT AlignedByteOffset;
- D3D10_INPUT_CLASSIFICATION InputSlotClass;
- UINT InstanceDataStepRate;
-} D3D10_INPUT_ELEMENT_DESC;
-
-typedef enum D3D10_QUERY {
- D3D10_QUERY_EVENT,
- D3D10_QUERY_OCCLUSION,
- D3D10_QUERY_TIMESTAMP,
- D3D10_QUERY_TIMESTAMP_DISJOINT,
- D3D10_QUERY_PIPELINE_STATISTICS,
- D3D10_QUERY_OCCLUSION_PREDICATE,
- D3D10_QUERY_SO_STATISTICS,
- D3D10_QUERY_SO_OVERFLOW_PREDICATE,
-} D3D10_QUERY;
-
-typedef struct D3D10_QUERY_DESC {
- D3D10_QUERY Query;
- UINT MiscFlags;
-} D3D10_QUERY_DESC;
-
-typedef enum D3D10_PRIMITIVE_TOPOLOGY {
- D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
- D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
- D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
- D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
- D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
-} D3D10_PRIMITIVE_TOPOLOGY;
-
-typedef RECT D3D10_RECT;
-
-typedef struct D3D10_VIEWPORT {
- INT TopLeftX;
- INT TopLeftY;
- UINT Width;
- UINT Height;
- FLOAT MinDepth;
- FLOAT MaxDepth;
-} D3D10_VIEWPORT;
-
-typedef struct D3D10_MAPPED_TEXTURE2D {
- void *pData;
- UINT RowPitch;
-} D3D10_MAPPED_TEXTURE2D;
-
-typedef struct D3D10_MAPPED_TEXTURE3D {
- void *pData;
- UINT RowPitch;
- UINT DepthPitch;
-} D3D10_MAPPED_TEXTURE3D;
-
-typedef enum D3D10_BIND_FLAG {
- D3D10_BIND_VERTEX_BUFFER = 0x1,
- D3D10_BIND_INDEX_BUFFER = 0x2,
- D3D10_BIND_CONSTANT_BUFFER = 0x4,
- D3D10_BIND_SHADER_RESOURCE = 0x8,
- D3D10_BIND_STREAM_OUTPUT = 0x10,
- D3D10_BIND_RENDER_TARGET = 0x20,
- D3D10_BIND_DEPTH_STENCIL = 0x40
-} D3D10_BIND_FLAG;
-
-typedef enum D3D10_CPU_ACCESS_FLAG {
- D3D10_CPU_ACCESS_WRITE = 0x10000,
- D3D10_CPU_ACCESS_READ = 0x20000
-} D3D10_CPU_ACCESS_FLAG;
-
-typedef enum D3D10_RESOURCE_MISC_FLAG {
- D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1,
- D3D10_RESOURCE_MISC_SHARED = 0x2,
- D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4
-} D3D10_RESOURCE_MISC_FLAG;
-
-typedef enum D3D10_MAP_FLAG {
- D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000,
-} D3D10_MAP_FLAG;
-
-typedef enum D3D10_CLEAR_FLAG {
- D3D10_CLEAR_DEPTH = 0x1,
- D3D10_CLEAR_STENCIL = 0x2
-} D3D10_CLEAR_FLAG;
-
-typedef enum D3D10_COLOR_WRITE_ENABLE {
- D3D10_COLOR_WRITE_ENABLE_RED = 0x1,
- D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2,
- D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4,
- D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8,
- D3D10_COLOR_WRITE_ENABLE_ALL = (D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN |
- D3D10_COLOR_WRITE_ENABLE_BLUE | D3D10_COLOR_WRITE_ENABLE_ALPHA)
-} D3D10_COLOR_WRITE_ENABLE;
-
-typedef enum D3D10_TEXTURECUBE_FACE {
- D3D10_TEXTURECUBE_FACE_POSITIVE_X,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_X,
- D3D10_TEXTURECUBE_FACE_POSITIVE_Y,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_Y,
- D3D10_TEXTURECUBE_FACE_POSITIVE_Z,
- D3D10_TEXTURECUBE_FACE_NEGATIVE_Z,
-} D3D10_TEXTURECUBE_FACE;
-
-typedef enum D3D10_ASYNC_GETDATA_FLAG {
- D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1,
-} D3D10_ASYNC_GETDATA_FLAG;
-
-typedef enum D3D10_FILTER_TYPE {
- D3D10_FILTER_TYPE_POINT,
- D3D10_FILTER_TYPE_LINEAR
-} D3D10_FILTER_TYPE;
-
-typedef enum D3D10_QUERY_MISC_FLAG {
- D3D10_QUERY_MISC_PREDICATEHINT = 0x1
-} D3D10_QUERY_MISC_FLAG;
-
-typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
- UINT64 Frequency;
- BOOL Disjoint;
-} D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
-
-typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
-} D3D10_QUERY_DATA_PIPELINE_STATISTICS;
-
-typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
- UINT64 NumPrimitivesWritten;
- UINT64 PrimitivesStorageNeeded;
-} D3D10_QUERY_DATA_SO_STATISTICS;
-
-typedef enum D3D10_CREATE_DEVICE_FLAG {
- D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
- D3D10_CREATE_DEVICE_DEBUG = 0x2,
- D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
- D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8
-} D3D10_CREATE_DEVICE_FLAG;
-
-/* Core */
-
-interface ID3D10Device;
-
-[
- object,
- local,
- uuid(9b7e4c00-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10DeviceChild : IUnknown
-{
- void GetDevice(
- [out] ID3D10Device **ppDevice);
- HRESULT GetPrivateData(
- [in] REFGUID guid,
- [in, out] UINT *pDataSize,
- [out] void *pData);
- HRESULT SetPrivateData(
- [in] REFGUID guid,
- [in] UINT DataSize,
- [in] const void *pData);
- HRESULT SetPrivateDataInterface(
- [in] REFGUID guid,
- [in] const IUnknown *pData);
-}
-
-/* Resource */
-
-[
- object,
- local,
- uuid(9b7e4c01-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Resource : ID3D10DeviceChild
-{
- void GetType(
- [out] D3D10_RESOURCE_DIMENSION *rType);
- void SetEvictionPriority(
- [in] UINT EvictionPriority);
- UINT GetEvictionPriority();
-}
-
-[
- object,
- local,
- uuid(9b7e4c02-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Buffer : ID3D10Resource
-{
- HRESULT Map(
- [in] D3D10_MAP MapType,
- [in] UINT MapFlags,
- [out] void **ppData);
- void Unmap();
- void GetDesc(
- [out] D3D10_BUFFER_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c03-342c-4106-a19f-4f2704f689F0)
-]
-interface ID3D10Texture1D : ID3D10Resource
-{
- HRESULT Map(
- [in] UINT Subresource,
- [in] D3D10_MAP MapType,
- [in] UINT MapFlags,
- [out] void **ppData);
- void Unmap(
- [in] UINT Subresource);
- void GetDesc(
- [out] D3D10_TEXTURE1D_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c04-342c-4106-a19f-4f2704f689F0)
-]
-interface ID3D10Texture2D : ID3D10Resource
-{
- HRESULT Map(
- [in] UINT Subresource,
- [in] D3D10_MAP MapType,
- [in] UINT MapFlags,
- [out] D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
- void Unmap(
- [in] UINT Subresource);
- void GetDesc(
- [out] D3D10_TEXTURE2D_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c05-342c-4106-a19f-4f2704f689F0)
-]
-interface ID3D10Texture3D : ID3D10Resource
-{
- HRESULT Map(
- [in] UINT Subresource,
- [in] D3D10_MAP MapType,
- [in] UINT MapFlags,
- [out] D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
- void Unmap(
- [in] UINT Subresource);
- void GetDesc(
- [out] D3D10_TEXTURE3D_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(c902b03f-60a7-49ba-9936-2a3ab37a7e33)
-]
-interface ID3D10View : ID3D10DeviceChild
-{
- void GetResource(
- [out] ID3D10Resource **ppResource);
-}
-
-[
- object,
- local,
- uuid(9b7e4c09-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10DepthStencilView : ID3D10View
-{
- void GetDesc(
- [out] D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
-}
-
-
-[
- object,
- local,
- uuid(9b7e4c08-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10RenderTargetView : ID3D10View
-{
- void GetDesc(
- [out] D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c07-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10ShaderResourceView : ID3D10View
-{
- void GetDesc(
- [out] D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
-}
-
-/* Resource End */
-
-[
- object,
- local,
- uuid(edad8d19-8a35-4d6d-8566-2ea276cde161)
-]
-interface ID3D10BlendState : ID3D10DeviceChild
-{
- void GetDesc(
- [out] D3D10_BLEND_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(2b4b1cc8-a4ad-41f8-8322-ca86fc3ec675)
-]
-interface ID3D10DepthStencilState : ID3D10DeviceChild
-{
- void GetDesc(
- [out] D3D10_DEPTH_STENCIL_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(6316be88-54cd-4040-ab44-20461bc81f68)
-]
-interface ID3D10GeometryShader : ID3D10DeviceChild
-{
-}
-
-[
- object,
- local,
- uuid(9b7e4c0b-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10InputLayout : ID3D10DeviceChild
-{
-}
-
-[
- object,
- local,
- uuid(4968b601-9d00-4cde-8346-8e7f675819b6)
-]
-interface ID3D10PixelShader : ID3D10DeviceChild
-{
-}
-
-[
- object,
- local,
- uuid(a2a07292-89af-4345-be2e-c53d9fbb6e9f)
-]
-interface ID3D10RasterizerState : ID3D10DeviceChild
-{
- void GetDesc(
- [out] D3D10_RASTERIZER_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c0c-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10SamplerState : ID3D10DeviceChild
-{
- void GetDesc(
- [out] D3D10_SAMPLER_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c0a-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10VertexShader : ID3D10DeviceChild
-{
-}
-
-[
- object,
- local,
- uuid(9b7e4c0d-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Asynchronous : ID3D10DeviceChild
-{
- void Begin();
- void End();
- HRESULT GetData(
- [out] void *pData,
- [in] UINT DataSize,
- [in] UINT GetDataFlags);
- UINT GetDataSize();
-}
-
-[
- object,
- local,
- uuid(9b7e4c11-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Counter : ID3D10Asynchronous
-{
- void GetDesc(
- [out] D3D10_COUNTER_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4C0e-342C-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Query : ID3D10Asynchronous
-{
- void GetDesc(
- [out] D3D10_QUERY_DESC *pDesc);
-}
-
-[
- object,
- local,
- uuid(9b7e4c10-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Predicate : ID3D10Query
-{
-}
-
-[
- object,
- local,
- uuid(9b7e4c0f-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Device : IUnknown
-{
- void VSSetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppConstantBuffers);
- void PSSetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
- void PSSetShader(
- [in] ID3D10PixelShader *pPixelShader);
- void PSSetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [in]ID3D10SamplerState *const *ppSamplers);
- void VSSetShader(
- [in] ID3D10VertexShader *pVertexShader);
- void DrawIndexed(
- [in] UINT IndexCount,
- [in] UINT StartIndexLocation,
- [in] INT BaseVertexLocation);
- void Draw(
- [in] UINT VertexCount,
- [in] UINT StartVertexLocation);
- void PSSetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppConstantBuffers);
- void IASetInputLayout(
- [in] ID3D10InputLayout *pInputLayout);
- void IASetVertexBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppVertexBuffers,
- [in] const UINT *pStrides,
- [in] const UINT *pOffsets);
- void IASetIndexBuffer(
- [in] ID3D10Buffer *pIndexBuffer,
- [in] DXGI_FORMAT Format,
- [in] UINT Offset);
- void DrawIndexedInstanced(
- [in] UINT IndexCountPerInstance,
- [in] UINT InstanceCount,
- [in] UINT StartIndexLocation,
- [in] INT BaseVertexLocation,
- [in] UINT StartInstanceLocation);
- void DrawInstanced(
- [in] UINT VertexCountPerInstance,
- [in] UINT InstanceCount,
- [in] UINT StartVertexLocation,
- [in] UINT StartInstanceLocation);
- void GSSetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppConstantBuffers);
- void GSSetShader(
- [in] ID3D10GeometryShader *pShader);
- void IASetPrimitiveTopology(
- [in] D3D10_PRIMITIVE_TOPOLOGY Topology);
- void VSSetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
- void VSSetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [in] ID3D10SamplerState *const *ppSamplers);
- void SetPredication(
- [in] ID3D10Predicate *pPredicate,
- [in] BOOL PredicateValue);
- void GSSetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [in] ID3D10ShaderResourceView * const *ppShaderResourceViews);
- void GSSetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [in] ID3D10SamplerState *const *ppSamplers);
- void OMSetRenderTargets(
- [in] UINT NumViews,
- [in] ID3D10RenderTargetView *const *ppRenderTargetViews,
- [in] ID3D10DepthStencilView *pDepthStencilView);
- void OMSetBlendState(
- [in] ID3D10BlendState *pBlendState,
- [in] const FLOAT BlendFactor[4],
- [in] UINT SampleMask);
- void OMSetDepthStencilState(
- [in] ID3D10DepthStencilState *pDepthStencilState,
- [in] UINT StencilRef);
- void SOSetTargets(
- [in] UINT NumBuffers,
- [in] ID3D10Buffer *const *ppSOTargets,
- [in] const UINT *pOffsets);
- void DrawAuto();
- void RSSetState(
- [in] ID3D10RasterizerState *pRasterizerState);
- void RSSetViewports(
- [in] UINT NumViewports,
- [in] const D3D10_VIEWPORT *pViewports);
- void RSSetScissorRects(
- [in] UINT NumRects,
- [in] const D3D10_RECT *pRects);
- void CopySubresourceRegion(
- [in] ID3D10Resource *pDstResource,
- [in] UINT DstSubresource,
- [in] UINT DstX,
- [in] UINT DstY,
- [in] UINT DstZ,
- [in] ID3D10Resource *pSrcResource,
- [in] UINT SrcSubresource,
- [in] const D3D10_BOX *pSrcBox);
- void CopyResource(
- [in] ID3D10Resource *pDstResource,
- [in] ID3D10Resource *pSrcResource);
- void UpdateSubresource(
- [in] ID3D10Resource *pDstResource,
- [in] UINT DstSubresource,
- [in] const D3D10_BOX *pDstBox,
- [in] const void *pSrcData,
- [in] UINT SrcRowPitch,
- [in] UINT SrcDepthPitch);
- void ClearRenderTargetView(
- [in] ID3D10RenderTargetView *pRenderTargetView,
- [in] const FLOAT ColorRGBA[4]);
- void ClearDepthStencilView(
- [in] ID3D10DepthStencilView *pDepthStencilView,
- [in] UINT ClearFlags,
- [in] FLOAT Depth,
- [in] UINT8 Stencil);
- void GenerateMips(
- [in] ID3D10ShaderResourceView *pShaderResourceView);
- void ResolveSubresource(
- [in] ID3D10Resource *pDstResource,
- [in] UINT DstSubresource,
- [in] ID3D10Resource *pSrcResource,
- [in] UINT SrcSubresource,
- [in] DXGI_FORMAT Format);
- void VSGetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppConstantBuffers);
- void PSGetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [out] ID3D10ShaderResourceView **ppShaderResourceViews);
- void PSGetShader(
- [out] ID3D10PixelShader **ppPixelShader);
- void PSGetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [out] ID3D10SamplerState **ppSamplers);
- void VSGetShader(
- [out] ID3D10VertexShader **ppVertexShader);
- void PSGetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppConstantBuffers);
- void IAGetInputLayout(
- [out] ID3D10InputLayout **ppInputLayout);
- void IAGetVertexBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppVertexBuffers,
- [out] UINT *pStrides,
- [out] UINT *pOffsets);
- void IAGetIndexBuffer(
- [out] ID3D10Buffer **pIndexBuffer,
- [out] DXGI_FORMAT *Format,
- [out] UINT *Offset);
- void GSGetConstantBuffers(
- [in] UINT StartSlot,
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppConstantBuffers);
- void GSGetShader(
- [out] ID3D10GeometryShader **ppGeometryShader);
- void IAGetPrimitiveTopology(
- [out] D3D10_PRIMITIVE_TOPOLOGY *pTopology);
- void VSGetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [out] ID3D10ShaderResourceView **ppShaderResourceViews);
- void VSGetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [out] ID3D10SamplerState **ppSamplers);
- void GetPredication(
- [out] ID3D10Predicate **ppPredicate,
- [out] BOOL *pPredicateValue);
- void GSGetShaderResources(
- [in] UINT StartSlot,
- [in] UINT NumViews,
- [out] ID3D10ShaderResourceView **ppShaderResourceViews);
- void GSGetSamplers(
- [in] UINT StartSlot,
- [in] UINT NumSamplers,
- [out] ID3D10SamplerState **ppSamplers);
- void OMGetRenderTargets(
- [in] UINT NumViews,
- [out] ID3D10RenderTargetView **ppRenderTargetViews,
- [out] ID3D10DepthStencilView **ppDepthStencilView);
- void OMGetBlendState(
- [out] ID3D10BlendState **ppBlendState,
- [out] FLOAT BlendFactor[4],
- [out] UINT *pSampleMask);
- void OMGetDepthStencilState(
- [out] ID3D10DepthStencilState **ppDepthStencilState,
- [out] UINT *pStencilRef);
- void SOGetTargets(
- [in] UINT NumBuffers,
- [out] ID3D10Buffer **ppSOTargets,
- [out] UINT *pOffsets);
- void RSGetState(
- [out] ID3D10RasterizerState **ppRasterizerState);
- void RSGetViewports(
- [in, out] UINT *NumViewports,
- [out] D3D10_VIEWPORT *pViewports);
- void RSGetScissorRects(
- [in, out] UINT *NumRects,
- [out] D3D10_RECT *pRects);
- HRESULT GetDeviceRemovedReason();
- HRESULT SetExceptionMode(
- [in] UINT RaiseFlags);
- UINT GetExceptionMode();
- HRESULT GetPrivateData(
- [in] REFGUID guid,
- [in, out] UINT *pDataSize,
- [out] void *pData);
- HRESULT SetPrivateData(
- [in] REFGUID guid,
- [in] UINT DataSize,
- [in] const void *pData);
- HRESULT SetPrivateDataInterface(
- [in] REFGUID guid,
- [in] const IUnknown *pData);
- void ClearState();
- void Flush();
- HRESULT CreateBuffer(
- [in] const D3D10_BUFFER_DESC *pDesc,
- [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
- [out] ID3D10Buffer **ppBuffer);
- HRESULT CreateTexture1D(
- [in] const D3D10_TEXTURE1D_DESC *pDesc,
- [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
- [out] ID3D10Texture1D **ppTexture1D);
- HRESULT CreateTexture2D(
- [in] const D3D10_TEXTURE2D_DESC *pDesc,
- [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
- [out] ID3D10Texture2D **ppTexture2D);
- HRESULT CreateTexture3D(
- [in] const D3D10_TEXTURE3D_DESC *pDesc,
- [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
- [out] ID3D10Texture3D **ppTexture3D);
- HRESULT CreateShaderResourceView(
- [in] ID3D10Resource *pResource,
- [in] const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
- [out] ID3D10ShaderResourceView **ppSRView);
- HRESULT CreateRenderTargetView(
- [in] ID3D10Resource *pResource,
- [in] const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
- [out] ID3D10RenderTargetView **ppRTView);
- HRESULT CreateDepthStencilView(
- [in] ID3D10Resource *pResource,
- [in] const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
- [out] ID3D10DepthStencilView **ppDepthStencilView);
- HRESULT CreateInputLayout(
- [in] const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
- [in] UINT NumElements,
- [in] const void *pShaderBytecodeWithInputSignature,
- [in] SIZE_T BytecodeLength,
- [out] ID3D10InputLayout **ppInputLayout);
- HRESULT CreateVertexShader(
- [in] const void *pShaderBytecode,
- [in] SIZE_T BytecodeLength,
- [out] ID3D10VertexShader **ppVertexShader);
- HRESULT CreateGeometryShader(
- [in] const void *pShaderBytecode,
- [in] SIZE_T BytecodeLength,
- [out] ID3D10GeometryShader **ppGeometryShader);
- HRESULT CreateGeometryShaderWithStreamOutput(
- [in] const void *pShaderBytecode,
- [in] SIZE_T BytecodeLength,
- [in] const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
- [in] UINT NumEntries,
- [in] UINT OutputStreamStride,
- [out] ID3D10GeometryShader **ppGeometryShader);
- HRESULT CreatePixelShader(
- [in] const void *pShaderBytecode,
- [in] SIZE_T BytecodeLength,
- [out] ID3D10PixelShader **ppPixelShader);
- HRESULT CreateBlendState(
- [in] const D3D10_BLEND_DESC *pBlendStateDesc,
- [out] ID3D10BlendState **ppBlendState);
- HRESULT CreateDepthStencilState(
- [in] const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
- [out] ID3D10DepthStencilState **ppDepthStencilState);
- HRESULT CreateRasterizerState(
- [in] const D3D10_RASTERIZER_DESC *pRasterizerDesc,
- [out] ID3D10RasterizerState **ppRasterizerState);
- HRESULT CreateSamplerState(
- [in] const D3D10_SAMPLER_DESC *pSamplerDesc,
- [out] ID3D10SamplerState **ppSamplerState);
- HRESULT CreateQuery(
- [in] const D3D10_QUERY_DESC *pQueryDesc,
- [out] ID3D10Query **ppQuery);
- HRESULT CreatePredicate(
- [in] const D3D10_QUERY_DESC *pPredicateDesc,
- [out] ID3D10Predicate **ppPredicate);
- HRESULT CreateCounter(
- [in] const D3D10_COUNTER_DESC *pCounterDesc,
- [out] ID3D10Counter **ppCounter);
- HRESULT CheckFormatSupport(
- [in] DXGI_FORMAT Format,
- [out] UINT *pFormatSupport);
- HRESULT CheckMultisampleQualityLevels(
- [in] DXGI_FORMAT Format,
- [in] UINT SampleCount,
- [out] UINT *pNumQualityLevels);
- void CheckCounterInfo(
- [out] D3D10_COUNTER_INFO *pCounterInfo);
- HRESULT CheckCounter(
- [in] const D3D10_COUNTER_DESC *pDesc,
- [out] D3D10_COUNTER_TYPE *pType,
- [out] UINT *pActiveCounters,
- [out] LPSTR szName,
- [in, out] UINT *pNameLength,
- [out] LPSTR szUnits,
- [in, out] UINT *pUnitsLength,
- [out] LPSTR szDescription,
- [in, out] UINT *pDescriptionLength);
- UINT GetCreationFlags();
- HRESULT OpenSharedResource(
- [in] HANDLE hResource,
- [in] REFIID ReturnedInterface,
- [out] void **ppResource);
- void SetTextFilterSize(
- [in] UINT Width,
- [in] UINT Height);
- void GetTextFilterSize(
- [out] UINT *pWidth,
- [out] UINT *pHeight);
-}
-
-[
- object,
- local,
- uuid(9b7e4e00-342c-4106-a19f-4f2704f689f0)
-]
-interface ID3D10Multithread : IUnknown
-{
- void Enter();
- void Leave();
- BOOL SetMultithreadProtected(
- [in] BOOL bMTProtect);
- BOOL GetMultithreadProtected();
-}
-
-cpp_quote("#include \"d3d10misc.h\"")
-cpp_quote("#include \"d3d10shader.h\"")
-cpp_quote("#include \"d3d10effect.h\"")
-/* TODO: Include "d310sdklayers.h" as soon as it exists */
+++ /dev/null
-/*
- * Copyright 2009 Henri Verbeet for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- *
- */
-
-#ifndef __WINE_D3D10EFFECT_H
-#define __WINE_D3D10EFFECT_H
-
-#include "d3d10.h"
-
-#define D3D10_EFFECT_VARIABLE_POOLED 0x1
-#define D3D10_EFFECT_VARIABLE_ANNOTATION 0x2
-#define D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT 0x4
-
-#ifndef D3D10_BYTES_FROM_BITS
-#define D3D10_BYTES_FROM_BITS(x) (((x) + 7) >> 3)
-#endif
-
-typedef struct _D3D10_EFFECT_TYPE_DESC
-{
- LPCSTR TypeName;
- D3D10_SHADER_VARIABLE_CLASS Class;
- D3D10_SHADER_VARIABLE_TYPE Type;
- UINT Elements;
- UINT Members;
- UINT Rows;
- UINT Columns;
- UINT PackedSize;
- UINT UnpackedSize;
- UINT Stride;
-} D3D10_EFFECT_TYPE_DESC;
-
-typedef struct _D3D10_EFFECT_VARIABLE_DESC
-{
- LPCSTR Name;
- LPCSTR Semantic;
- UINT Flags;
- UINT Annotations;
- UINT BufferOffset;
- UINT ExplicitBindPoint;
-} D3D10_EFFECT_VARIABLE_DESC;
-
-typedef struct _D3D10_TECHNIQUE_DESC
-{
- LPCSTR Name;
- UINT Passes;
- UINT Annotations;
-} D3D10_TECHNIQUE_DESC;
-
-typedef struct _D3D10_STATE_BLOCK_MASK
-{
- BYTE VS;
- BYTE VSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
- BYTE VSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
- BYTE VSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
- BYTE GS;
- BYTE GSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
- BYTE GSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
- BYTE GSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
- BYTE PS;
- BYTE PSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
- BYTE PSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
- BYTE PSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
- BYTE IAVertexBuffers[D3D10_BYTES_FROM_BITS(D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)];
- BYTE IAIndexBuffer;
- BYTE IAInputLayout;
- BYTE IAPrimitiveTopology;
- BYTE OMRenderTargets;
- BYTE OMDepthStencilState;
- BYTE OMBlendState;
- BYTE RSViewports;
- BYTE RSScissorRects;
- BYTE RSRasterizerState;
- BYTE SOBuffers;
- BYTE Predication;
-} D3D10_STATE_BLOCK_MASK;
-
-typedef struct _D3D10_EFFECT_DESC
-{
- BOOL IsChildEffect;
- UINT ConstantBuffers;
- UINT SharedConstantBuffers;
- UINT GlobalVariables;
- UINT SharedGlobalVariables;
- UINT Techniques;
-} D3D10_EFFECT_DESC;
-
-typedef struct _D3D10_EFFECT_SHADER_DESC
-{
- const BYTE *pInputSignature;
- BOOL IsInline;
- const BYTE *pBytecode;
- UINT BytecodeLength;
- LPCSTR SODecl;
- UINT NumInputSignatureEntries;
- UINT NumOutputSignatureEntries;
-} D3D10_EFFECT_SHADER_DESC;
-
-typedef struct _D3D10_PASS_DESC
-{
- LPCSTR Name;
- UINT Annotations;
- BYTE *pIAInputSignature;
- SIZE_T IAInputSignatureSize;
- UINT StencilRef;
- UINT SampleMask;
- FLOAT BlendFactor[4];
-} D3D10_PASS_DESC;
-
-typedef struct _D3D10_PASS_SHADER_DESC
-{
- struct ID3D10EffectShaderVariable *pShaderVariable;
- UINT ShaderIndex;
-} D3D10_PASS_SHADER_DESC;
-
-DEFINE_GUID(IID_ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8, 0x37, 0x00, 0x18, 0x0b, 0x9b, 0x88, 0xfd);
-
-#define INTERFACE ID3D10EffectType
-DECLARE_INTERFACE(ID3D10EffectType)
-{
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_TYPE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(LPCSTR, GetMemberName)(THIS_ UINT index) PURE;
- STDMETHOD_(LPCSTR, GetMemberSemantic)(THIS_ UINT index) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectVariable, 0xae897105, 0x00e6, 0x45bf, 0xbb, 0x8e, 0x28, 0x1d, 0xd6, 0xdb, 0x8e, 0x1b);
-
-#define INTERFACE ID3D10EffectVariable
-DECLARE_INTERFACE(ID3D10EffectVariable)
-{
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectConstantBuffer, 0x56648f4d, 0xcc8b, 0x4444, 0xa5, 0xad, 0xb5, 0xa3, 0xd7, 0x6e, 0x91, 0xb3);
-
-#define INTERFACE ID3D10EffectConstantBuffer
-DECLARE_INTERFACE_(ID3D10EffectConstantBuffer, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectConstantBuffer methods */
- STDMETHOD(SetConstantBuffer)(THIS_ ID3D10Buffer *buffer) PURE;
- STDMETHOD(GetConstantBuffer)(THIS_ ID3D10Buffer **buffer) PURE;
- STDMETHOD(SetTextureBuffer)(THIS_ ID3D10ShaderResourceView *view) PURE;
- STDMETHOD(GetTextureBuffer)(THIS_ ID3D10ShaderResourceView **view) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectScalarVariable, 0x00e48f7b, 0xd2c8, 0x49e8, 0xa8, 0x6c, 0x02, 0x2d, 0xee, 0x53, 0x43, 0x1f);
-
-#define INTERFACE ID3D10EffectScalarVariable
-DECLARE_INTERFACE_(ID3D10EffectScalarVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectScalarVariable methods */
- STDMETHOD(SetFloat)(THIS_ float value) PURE;
- STDMETHOD(GetFloat)(THIS_ float *value) PURE;
- STDMETHOD(SetFloatArray)(THIS_ float *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetFloatArray)(THIS_ float *values, UINT offset, UINT count) PURE;
- STDMETHOD(SetInt)(THIS_ int value) PURE;
- STDMETHOD(GetInt)(THIS_ int *value) PURE;
- STDMETHOD(SetIntArray)(THIS_ int *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetIntArray)(THIS_ int *values, UINT offset, UINT count) PURE;
- STDMETHOD(SetBool)(THIS_ BOOL value) PURE;
- STDMETHOD(GetBool)(THIS_ BOOL *value) PURE;
- STDMETHOD(SetBoolArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetBoolArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectVectorVariable, 0x62b98c44, 0x1f82, 0x4c67, 0xbc, 0xd0, 0x72, 0xcf, 0x8f, 0x21, 0x7e, 0x81);
-
-#define INTERFACE ID3D10EffectVectorVariable
-DECLARE_INTERFACE_(ID3D10EffectVectorVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectVectorVariable methods */
- STDMETHOD(SetBoolVector)(THIS_ BOOL *value) PURE;
- STDMETHOD(SetIntVector)(THIS_ int *value) PURE;
- STDMETHOD(SetFloatVector)(THIS_ float *value) PURE;
- STDMETHOD(GetBoolVector)(THIS_ BOOL *value) PURE;
- STDMETHOD(GetIntVector)(THIS_ int *value) PURE;
- STDMETHOD(GetFloatVector)(THIS_ float *value) PURE;
- STDMETHOD(SetBoolVectorArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
- STDMETHOD(SetIntVectorArray)(THIS_ int *values, UINT offset, UINT count) PURE;
- STDMETHOD(SetFloatVectorArray)(THIS_ float *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetBoolVectorArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetIntVectorArray)(THIS_ int *values, UINT offset, UINT count) PURE;
- STDMETHOD(GetFloatVectorArray)(THIS_ float *values, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectMatrixVariable, 0x50666c24, 0xb82f, 0x4eed, 0xa1, 0x72, 0x5b, 0x6e, 0x7e, 0x85, 0x22, 0xe0);
-
-#define INTERFACE ID3D10EffectMatrixVariable
-DECLARE_INTERFACE_(ID3D10EffectMatrixVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectMatrixVariable methods */
- STDMETHOD(SetMatrix)(THIS_ float *data) PURE;
- STDMETHOD(GetMatrix)(THIS_ float *data) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ float *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetMatrixArray)(THIS_ float *data, UINT offset, UINT count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ float *data) PURE;
- STDMETHOD(GetMatrixTranspose)(THIS_ float *data) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ float *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetMatrixTransposeArray)(THIS_ float *data, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectStringVariable, 0x71417501, 0x8df9, 0x4e0a, 0xa7, 0x8a, 0x25, 0x5f, 0x97, 0x56, 0xba, 0xff);
-
-#define INTERFACE ID3D10EffectStringVariable
-DECLARE_INTERFACE_(ID3D10EffectStringVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectStringVariable methods */
- STDMETHOD(GetString)(THIS_ LPCSTR *str) PURE;
- STDMETHOD(GetStringArray)(THIS_ LPCSTR *strs, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectShaderResourceVariable,
- 0xc0a7157b, 0xd872, 0x4b1d, 0x80, 0x73, 0xef, 0xc2, 0xac, 0xd4, 0xb1, 0xfc);
-
-#define INTERFACE ID3D10EffectShaderResourceVariable
-DECLARE_INTERFACE_(ID3D10EffectShaderResourceVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectShaderResourceVariable methods */
- STDMETHOD(SetResource)(THIS_ ID3D10ShaderResourceView *resource) PURE;
- STDMETHOD(GetResource)(THIS_ ID3D10ShaderResourceView **resource) PURE;
- STDMETHOD(SetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
- STDMETHOD(GetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectRenderTargetViewVariable,
- 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5, 0x7f, 0x67, 0xb7, 0x37, 0x12, 0x2b, 0x17);
-
-#define INTERFACE ID3D10EffectRenderTargetViewVariable
-DECLARE_INTERFACE_(ID3D10EffectRenderTargetViewVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectRenderTargetViewVariable methods */
- STDMETHOD(SetRenderTarget)(THIS_ ID3D10RenderTargetView *view) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ ID3D10RenderTargetView **view) PURE;
- STDMETHOD(SetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
- STDMETHOD(GetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectDepthStencilViewVariable,
- 0x3e02c918, 0xcc79, 0x4985, 0xb6, 0x22, 0x2d, 0x92, 0xad, 0x70, 0x16, 0x23);
-
-#define INTERFACE ID3D10EffectDepthStencilViewVariable
-DECLARE_INTERFACE_(ID3D10EffectDepthStencilViewVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectDepthStencilViewVariable methods */
- STDMETHOD(SetDepthStencil)(THIS_ ID3D10DepthStencilView *view) PURE;
- STDMETHOD(GetDepthStencil)(THIS_ ID3D10DepthStencilView **view) PURE;
- STDMETHOD(SetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
- STDMETHOD(GetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectShaderVariable, 0x80849279, 0xc799, 0x4797, 0x8c, 0x33, 0x04, 0x07, 0xa0, 0x7d, 0x9e, 0x06);
-
-#define INTERFACE ID3D10EffectShaderVariable
-DECLARE_INTERFACE_(ID3D10EffectShaderVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectShaderVariable methods */
- STDMETHOD(GetShaderDesc)(THIS_ UINT index, D3D10_EFFECT_SHADER_DESC *desc) PURE;
- STDMETHOD(GetVertexShader)(THIS_ UINT index, ID3D10VertexShader **shader) PURE;
- STDMETHOD(GetGeometryShader)(THIS_ UINT index, ID3D10GeometryShader **shader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ UINT index, ID3D10PixelShader **shader) PURE;
- STDMETHOD(GetInputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
- D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
- STDMETHOD(GetOutputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
- D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectBlendVariable, 0x1fcd2294, 0xdf6d, 0x4eae, 0x86, 0xb3, 0x0e, 0x91, 0x60, 0xcf, 0xb0, 0x7b);
-
-#define INTERFACE ID3D10EffectBlendVariable
-DECLARE_INTERFACE_(ID3D10EffectBlendVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectBlendVariable methods */
- STDMETHOD(GetBlendState)(THIS_ UINT index, ID3D10BlendState **blend_state) PURE;
- STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_BLEND_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectDepthStencilVariable,
- 0xaf482368, 0x330a, 0x46a5, 0x9a, 0x5c, 0x01, 0xc7, 0x1a, 0xf2, 0x4c, 0x8d);
-
-#define INTERFACE ID3D10EffectDepthStencilVariable
-DECLARE_INTERFACE_(ID3D10EffectDepthStencilVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectDepthStencilVariable methods */
- STDMETHOD(GetDepthStencilState)(THIS_ UINT index, ID3D10DepthStencilState **depth_stencil_state) PURE;
- STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_DEPTH_STENCIL_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectRasterizerVariable,
- 0x21af9f0e, 0x4d94, 0x4ea9, 0x97, 0x85, 0x2c, 0xb7, 0x6b, 0x8c, 0x0b, 0x34);
-
-#define INTERFACE ID3D10EffectRasterizerVariable
-DECLARE_INTERFACE_(ID3D10EffectRasterizerVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectRasterizerVariable methods */
- STDMETHOD(GetRasterizerState)(THIS_ UINT index, ID3D10RasterizerState **rasterizer_state) PURE;
- STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_RASTERIZER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectSamplerVariable,
- 0x6530d5c7, 0x07e9, 0x4271, 0xa4, 0x18, 0xe7, 0xce, 0x4b, 0xd1, 0xe4, 0x80);
-
-#define INTERFACE ID3D10EffectSamplerVariable
-DECLARE_INTERFACE_(ID3D10EffectSamplerVariable, ID3D10EffectVariable)
-{
- /* ID3D10EffectVariable methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
- STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
- STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
- /* ID3D10EffectSamplerVariable methods */
- STDMETHOD(GetSampler)(THIS_ UINT index, ID3D10SamplerState **sampler) PURE;
- STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_SAMPLER_DESC *desc) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectTechnique, 0xdb122ce8, 0xd1c9, 0x4292, 0xb2, 0x37, 0x24, 0xed, 0x3d, 0xe8, 0xb1, 0x75);
-
-#define INTERFACE ID3D10EffectTechnique
-DECLARE_INTERFACE(ID3D10EffectTechnique)
-{
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_TECHNIQUE_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectPass *, GetPassByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectPass *, GetPassByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *mask) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10Effect, 0x51b0ca8b, 0xec0b, 0x4519, 0x87, 0x0d, 0x8e, 0xe1, 0xcb, 0x50, 0x17, 0xc7);
-
-#define INTERFACE ID3D10Effect
-DECLARE_INTERFACE_(ID3D10Effect, IUnknown)
-{
- /* IUnknown methods */
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /* ID3D10Effect methods */
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD_(BOOL, IsPool)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ ID3D10Device **device) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetConstantBufferByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetConstantBufferByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetVariableByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetVariableByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetVariableBySemantic)(THIS_ LPCSTR semantic) PURE;
- STDMETHOD_(struct ID3D10EffectTechnique *, GetTechniqueByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectTechnique *, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD(Optimize)(THIS) PURE;
- STDMETHOD_(BOOL, IsOptimized)(THIS) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
-
-#define INTERFACE ID3D10EffectPool
-DECLARE_INTERFACE_(ID3D10EffectPool, IUnknown)
-{
- /* IUnknown methods */
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /* ID3D10EffectPool methods */
- STDMETHOD_(struct ID3D10Effect *, AsEffect)(THIS) PURE;
-};
-#undef INTERFACE
-
-DEFINE_GUID(IID_ID3D10EffectPass, 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2, 0x82, 0xe3, 0xf9, 0xbf, 0xa3, 0x6a, 0x54);
-
-#define INTERFACE ID3D10EffectPass
-DECLARE_INTERFACE(ID3D10EffectPass)
-{
- STDMETHOD_(BOOL, IsValid)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3D10_PASS_DESC *desc) PURE;
- STDMETHOD(GetVertexShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
- STDMETHOD(GetGeometryShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
- STDMETHOD(GetPixelShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
- STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD(Apply)(THIS_ UINT flags) PURE;
- STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *mask) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3D10CreateEffectFromMemory(void *data, SIZE_T data_size, UINT flags,
- ID3D10Device *device, ID3D10EffectPool *effect_pool, ID3D10Effect **effect);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINE_D3D10EFFECT_H */
+++ /dev/null
-/*
- * Copyright 2008 Henri Verbeet for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3D10MISC_H__
-#define __D3D10MISC_H__
-
-#include "d3d10.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum D3D10_DRIVER_TYPE {
- D3D10_DRIVER_TYPE_HARDWARE = 0,
- D3D10_DRIVER_TYPE_REFERENCE = 1,
- D3D10_DRIVER_TYPE_NULL = 2,
- D3D10_DRIVER_TYPE_SOFTWARE = 3,
-} D3D10_DRIVER_TYPE;
-
-HRESULT WINAPI D3D10CreateDevice(IDXGIAdapter *adapter, D3D10_DRIVER_TYPE driver_type,
- HMODULE swrast, UINT flags, UINT sdk_version, ID3D10Device **device);
-
-HRESULT WINAPI D3D10CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D10_DRIVER_TYPE driver_type,
- HMODULE swrast, UINT flags, UINT sdk_version, DXGI_SWAP_CHAIN_DESC *swapchain_desc,
- IDXGISwapChain **swapchain, ID3D10Device **device);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D3D10MISC_H__ */
+++ /dev/null
-/*
- * Copyright 2009 Henri Verbeet for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- *
- */
-
-#ifndef __WINE_D3D10SHADER_H
-#define __WINE_D3D10SHADER_H
-
-#include "d3d10.h"
-
-#define D3D10_SHADER_DEBUG 0x0001
-#define D3D10_SHADER_SKIP_VALIDATION 0x0002
-#define D3D10_SHADER_SKIP_OPTIMIZATION 0x0004
-#define D3D10_SHADER_PACK_MATRIX_ROW_MAJOR 0x0008
-#define D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR 0x0010
-#define D3D10_SHADER_PARTIAL_PRECISION 0x0020
-#define D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT 0x0040
-#define D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT 0x0080
-#define D3D10_SHADER_NO_PRESHADER 0x0100
-#define D3D10_SHADER_AVOID_FLOW_CONTROL 0x0200
-#define D3D10_SHADER_PREFER_FLOW_CONTROL 0x0400
-#define D3D10_SHADER_ENABLE_STRICTNESS 0x0800
-#define D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY 0x1000
-#define D3D10_SHADER_IEEE_STRICTNESS 0x2000
-
-typedef enum _D3D10_SHADER_VARIABLE_CLASS
-{
- D3D10_SVC_SCALAR,
- D3D10_SVC_VECTOR,
- D3D10_SVC_MATRIX_ROWS,
- D3D10_SVC_MATRIX_COLUMNS,
- D3D10_SVC_OBJECT,
- D3D10_SVC_STRUCT,
- D3D10_SVC_FORCE_DWORD = 0x7fffffff
-} D3D10_SHADER_VARIABLE_CLASS, *LPD3D10_SHADER_VARIABLE_CLASS;
-
-typedef enum _D3D10_SHADER_VARIABLE_TYPE
-{
- D3D10_SVT_VOID = 0,
- D3D10_SVT_BOOL = 1,
- D3D10_SVT_INT = 2,
- D3D10_SVT_FLOAT = 3,
- D3D10_SVT_STRING = 4,
- D3D10_SVT_TEXTURE = 5,
- D3D10_SVT_TEXTURE1D = 6,
- D3D10_SVT_TEXTURE2D = 7,
- D3D10_SVT_TEXTURE3D = 8,
- D3D10_SVT_TEXTURECUBE = 9,
- D3D10_SVT_SAMPLER = 10,
- D3D10_SVT_PIXELSHADER = 15,
- D3D10_SVT_VERTEXSHADER = 16,
- D3D10_SVT_UINT = 19,
- D3D10_SVT_UINT8 = 20,
- D3D10_SVT_GEOMETRYSHADER = 21,
- D3D10_SVT_RASTERIZER = 22,
- D3D10_SVT_DEPTHSTENCIL = 23,
- D3D10_SVT_BLEND = 24,
- D3D10_SVT_BUFFER = 25,
- D3D10_SVT_CBUFFER = 26,
- D3D10_SVT_TBUFFER = 27,
- D3D10_SVT_TEXTURE1DARRAY = 28,
- D3D10_SVT_TEXTURE2DARRAY = 29,
- D3D10_SVT_RENDERTARGETVIEW = 30,
- D3D10_SVT_DEPTHSTENCILVIEW = 31,
- D3D10_SVT_TEXTURE2DMS = 32,
- D3D10_SVT_TEXTURE2DMSARRAY = 33,
- D3D10_SVT_TEXTURECUBEARRAY = 34,
- D3D10_SVT_FORCE_DWORD = 0x7fffffff
-} D3D10_SHADER_VARIABLE_TYPE, *LPD3D10_SHADER_VARIABLE_TYPE;
-
-typedef enum D3D10_CBUFFER_TYPE
-{
- D3D10_CT_CBUFFER = 0,
- D3D10_CT_TBUFFER = 1
-} D3D10_CBUFFER_TYPE, *LPD3D10_CBUFFER_TYPE;
-
-typedef enum D3D10_NAME
-{
- D3D10_NAME_UNDEFINED = 0,
- D3D10_NAME_POSITION = 1,
- D3D10_NAME_CLIP_DISTANCE = 2,
- D3D10_NAME_CULL_DISTANCE = 3,
- D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
- D3D10_NAME_VIEWPORT_ARRAY_INDEX = 5,
- D3D10_NAME_VERTEX_ID = 6,
- D3D10_NAME_PRIMITIVE_ID = 7,
- D3D10_NAME_INSTANCE_ID = 8,
- D3D10_NAME_IS_FRONT_FACE = 9,
- D3D10_NAME_SAMPLE_INDEX = 10,
- D3D10_NAME_TARGET = 64,
- D3D10_NAME_DEPTH = 65,
-} D3D10_NAME;
-
-typedef enum D3D10_REGISTER_COMPONENT_TYPE
-{
- D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
- D3D10_REGISTER_COMPONENT_UINT32 = 1,
- D3D10_REGISTER_COMPONENT_SINT32 = 2,
- D3D10_REGISTER_COMPONENT_FLOAT32 = 3,
-} D3D10_REGISTER_COMPONENT_TYPE;
-
-typedef struct _D3D10_SHADER_MACRO
-{
- LPCSTR Name;
- LPCSTR Definition;
-} D3D10_SHADER_MACRO, *LPD3D10_SHADER_MACRO;
-
-typedef struct _D3D10_SIGNATURE_PARAMETER_DESC
-{
- LPCSTR SemanticName;
- UINT SemanticIndex;
- UINT Register;
- D3D10_NAME SystemValueType;
- D3D10_REGISTER_COMPONENT_TYPE ComponentType;
- BYTE Mask;
- BYTE ReadWriteMask;
-} D3D10_SIGNATURE_PARAMETER_DESC;
-
-LPCSTR WINAPI D3D10GetVertexShaderProfile(ID3D10Device *device);
-LPCSTR WINAPI D3D10GetGeometryShaderProfile(ID3D10Device *device);
-LPCSTR WINAPI D3D10GetPixelShaderProfile(ID3D10Device *device);
-
-#endif /* __WINE_D3D10SHADER_H */
+++ /dev/null
-/*
- * Copyright (C) 2002 Jason Edmeades
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D8_H
-#define __WINE_D3D8_H
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0800
-#endif
-
-#include <stdlib.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-
-#ifndef __WINESRC__
-# include <windows.h>
-#endif
-
-#include <d3d8types.h>
-#include <d3d8caps.h>
-
-/*****************************************************************************
- * Behavior Flags for IDirect3D8::CreateDevice
- */
-#define D3DCREATE_FPU_PRESERVE 0x00000002L
-#define D3DCREATE_MULTITHREADED 0x00000004L
-#define D3DCREATE_PUREDEVICE 0x00000010L
-#define D3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020L
-#define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040L
-#define D3DCREATE_MIXED_VERTEXPROCESSING 0x00000080L
-
-/*****************************************************************************
- * Flags for SetPrivateData
- */
-#define D3DSPD_IUNKNOWN 0x00000001L
-
-/*****************************************************************************
- * #defines and error codes
- */
-#define D3D_SDK_VERSION 220
-#define D3DADAPTER_DEFAULT 0
-#define D3DENUM_NO_WHQL_LEVEL 2
-
-#define _FACD3D 0x876
-#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
-
-/*
- * Direct3D Errors
- */
-#define D3D_OK S_OK
-#define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072)
-#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073)
-#define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074)
-#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075)
-#define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076)
-#define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077)
-#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078)
-#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
-#define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081)
-#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082)
-#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086)
-#define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087)
-
-#define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150)
-#define D3DERR_MOREDATA MAKE_D3DHRESULT(2151)
-#define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152)
-#define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153)
-#define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154)
-#define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380)
-#define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155)
-#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
-#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-DEFINE_GUID(IID_IDirect3D8, 0x1DD9E8DA,0x1C77,0x4D40,0xB0,0xCF,0x98,0xFE,0xFD,0xFF,0x95,0x12);
-typedef struct IDirect3D8 *LPDIRECT3D8;
-
-DEFINE_GUID(IID_IDirect3DDevice8, 0x7385E5DF,0x8FE8,0x41D5,0x86,0xB6,0xD7,0xB4,0x85,0x47,0xB6,0xCF);
-typedef struct IDirect3DDevice8 *LPDIRECT3DDEVICE8;
-
-DEFINE_GUID(IID_IDirect3DResource8, 0x1B36BB7B,0x09B7,0x410A,0xB4,0x45,0x7D,0x14,0x30,0xD7,0xB3,0x3F);
-typedef struct IDirect3DResource8 *LPDIRECT3DRESOURCE8, *PDIRECT3DRESOURCE8;
-
-DEFINE_GUID(IID_IDirect3DVertexBuffer8, 0x8AEEEAC7,0x05F9,0x44D4,0xB5,0x91,0x00,0x0B,0x0D,0xF1,0xCB,0x95);
-typedef struct IDirect3DVertexBuffer8 *LPDIRECT3DVERTEXBUFFER8, *PDIRECT3DVERTEXBUFFER8;
-
-DEFINE_GUID(IID_IDirect3DVolume8, 0xBD7349F5,0x14F1,0x42E4,0x9C,0x79,0x97,0x23,0x80,0xDB,0x40,0xC0);
-typedef struct IDirect3DVolume8 *LPDIRECT3DVOLUME8, *PDIRECT3DVOLUME8;
-
-DEFINE_GUID(IID_IDirect3DSwapChain8, 0x928C088B,0x76B9,0x4C6B,0xA5,0x36,0xA5,0x90,0x85,0x38,0x76,0xCD);
-typedef struct IDirect3DSwapChain8 *LPDIRECT3DSWAPCHAIN8, *PDIRECT3DSWAPCHAIN8;
-
-DEFINE_GUID(IID_IDirect3DSurface8, 0xB96EEBCA,0xB326,0x4EA5,0x88,0x2F,0x2F,0xF5,0xBA,0xE0,0x21,0xDD);
-typedef struct IDirect3DSurface8 *LPDIRECT3DSURFACE8, *PDIRECT3DSURFACE8;
-
-DEFINE_GUID(IID_IDirect3DIndexBuffer8, 0x0E689C9A,0x053D,0x44A0,0x9D,0x92,0xDB,0x0E,0x3D,0x75,0x0F,0x86);
-typedef struct IDirect3DIndexBuffer8 *LPDIRECT3DINDEXBUFFER8, *PDIRECT3DINDEXBUFFER8;
-
-DEFINE_GUID(IID_IDirect3DBaseTexture8, 0xB4211CFA,0x51B9,0x4A9F,0xAB,0x78,0xDB,0x99,0xB2,0xBB,0x67,0x8E);
-typedef struct IDirect3DBaseTexture8 *LPDIRECT3DBASETEXTURE8, *PDIRECT3DBASETEXTURE8;
-
-DEFINE_GUID(IID_IDirect3DTexture8, 0xE4CDD575,0x2866,0x4F01,0xB1,0x2E,0x7E,0xEC,0xE1,0xEC,0x93,0x58);
-typedef struct IDirect3DTexture8 *LPDIRECT3DTEXTURE8, *PDIRECT3DTEXTURE8;
-
-DEFINE_GUID(IID_IDirect3DCubeTexture8, 0x3EE5B968,0x2ACA,0x4C34,0x8B,0xB5,0x7E,0x0C,0x3D,0x19,0xB7,0x50);
-typedef struct IDirect3DCubeTexture8 *LPDIRECT3DCUBETEXTURE8, *PDIRECT3DCUBETEXTURE8;
-
-DEFINE_GUID(IID_IDirect3DVolumeTexture8, 0x4B8AAAFA,0x140F,0x42BA,0x91,0x31,0x59,0x7E,0xAF,0xAA,0x2E,0xAD);
-typedef struct IDirect3DVolumeTexture8 *LPDIRECT3DVOLUMETEXTURE8, *PDIRECT3DVOLUMETEXTURE8;
-
-/*****************************************************************************
- * IDirect3D8 interface
- */
-#define INTERFACE IDirect3D8
-DECLARE_INTERFACE_(IDirect3D8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D8 methods ***/
- STDMETHOD(RegisterSoftwareDevice)(THIS_ void * pInitializeFunction) PURE;
- STDMETHOD_(UINT,GetAdapterCount )(THIS) PURE;
- STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER8 * pIdentifier) PURE;
- STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT Adapter) PURE;
- STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, UINT Mode, D3DDISPLAYMODE * pMode) PURE;
- STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE * pMode) PURE;
- STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter, D3DDEVTYPE CheckType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed) PURE;
- STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE;
- STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType) PURE;
- STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS8 * pCaps) PURE;
- STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
- STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType,HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS * pPresentationParameters, struct IDirect3DDevice8 ** ppReturnedDeviceInterface) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D8 methods ***/
-#define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
-#define IDirect3D8_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
-#define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
-#define IDirect3D8_GetAdapterModeCount(p,a) (p)->lpVtbl->GetAdapterModeCount(p,a)
-#define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->lpVtbl->EnumAdapterModes(p,a,b,c)
-#define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
-#define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
-#define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
-#define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e)
-#define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
-#define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
-#define IDirect3D8_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
-#define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D8_AddRef(p) (p)->AddRef()
-#define IDirect3D8_Release(p) (p)->Release()
-/*** IDirect3D8 methods ***/
-#define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
-#define IDirect3D8_GetAdapterCount(p) (p)->GetAdapterCount()
-#define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
-#define IDirect3D8_GetAdapterModeCount(p,a) (p)->GetAdapterModeCount(a)
-#define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->EnumAdapterModes(a,b,c)
-#define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
-#define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
-#define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
-#define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->CheckDeviceMultiSampleType(a,b,c,d,e)
-#define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
-#define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
-#define IDirect3D8_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
-#define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
-#endif
-
-/*****************************************************************************
- * IDirect3DVolume8 interface
- */
-#define INTERFACE IDirect3DVolume8
-DECLARE_INTERFACE_(IDirect3DVolume8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVolume8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC * pDesc) PURE;
- STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox, DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVolume8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolume8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolume8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVolume8 methods ***/
-#define IDirect3DVolume8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolume8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolume8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DVolume8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DVolume8_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
-#define IDirect3DVolume8_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVolume8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolume8_AddRef(p) (p)->AddRef()
-#define IDirect3DVolume8_Release(p) (p)->Release()
-/*** IDirect3DVolume8 methods ***/
-#define IDirect3DVolume8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolume8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolume8_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DVolume8_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DVolume8_LockBox(p,a,b,c) (p)->LockBox(a,b,c)
-#define IDirect3DVolume8_UnlockBox(p) (p)->UnlockBox()
-#endif
-
-/*****************************************************************************
- * IDirect3DSwapChain8 interface
- */
-#define INTERFACE IDirect3DSwapChain8
-DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DSwapChain8 methods ***/
- STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect, CONST RECT * pDestRect, HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface8 ** ppBackBuffer) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSwapChain8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSwapChain8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DSwapChain8 methods ***/
-#define IDirect3DSwapChain8_Present(p,a,b,c) (p)->lpVtbl->Present(p,a,b,c)
-#define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSwapChain8_AddRef(p) (p)->AddRef()
-#define IDirect3DSwapChain8_Release(p) (p)->Release()
-/*** IDirect3DSwapChain8 methods ***/
-#define IDirect3DSwapChain8_Present(p,a,b,c) (p)->Present(a,b,c)
-#define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DSurface8 interface
- */
-#define INTERFACE IDirect3DSurface8
-DECLARE_INTERFACE_(IDirect3DSurface8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DSurface8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData,DWORD SizeOfData,DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData,DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC * pDesc) PURE;
- STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT * pLockedRect, CONST RECT * pRect,DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DSurface8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSurface8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSurface8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DSurface8 methods ***/
-#define IDirect3DSurface8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DSurface8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DSurface8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DSurface8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DSurface8_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
-#define IDirect3DSurface8_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DSurface8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSurface8_AddRef(p) (p)->AddRef()
-#define IDirect3DSurface8_Release(p) (p)->Release()
-/*** IDirect3DSurface8 methods ***/
-#define IDirect3DSurface8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DSurface8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DSurface8_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DSurface8_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DSurface8_LockRect(p,a,b,c) (p)->LockRect(a,b,c)
-#define IDirect3DSurface8_UnlockRect(p) (p)->UnlockRect()
-#endif
-
-/*****************************************************************************
- * IDirect3DResource8 interface
- */
-#define INTERFACE IDirect3DResource8
-DECLARE_INTERFACE_(IDirect3DResource8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DResource8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DResource8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DResource8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DResource8 methods ***/
-#define IDirect3DResource8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DResource8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DResource8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DResource8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DResource8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DResource8_GetType(p) (p)->lpVtbl->GetType(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DResource8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DResource8_AddRef(p) (p)->AddRef()
-#define IDirect3DResource8_Release(p) (p)->Release()
-/*** IDirect3DResource8 methods ***/
-#define IDirect3DResource8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DResource8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DResource8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DResource8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DResource8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DResource8_GetType(p) (p)->GetType()
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexBuffer8 interface
- */
-#define INTERFACE IDirect3DVertexBuffer8
-DECLARE_INTERFACE_(IDirect3DVertexBuffer8,IDirect3DResource8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DVertexBuffer8 methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC * pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexBuffer8 methods: IDirect3DResource8 ***/
-#define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVertexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVertexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVertexBuffer8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DVertexBuffer8 methods ***/
-#define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DVertexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer8_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer8_Release(p) (p)->Release()
-/*** IDirect3DVertexBuffer8 methods: IDirect3DResource8 ***/
-#define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVertexBuffer8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVertexBuffer8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVertexBuffer8_GetType(p) (p)->GetType()
-/*** IDirect3DVertexBuffer8 methods ***/
-#define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DVertexBuffer8_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DIndexBuffer8 interface
- */
-#define INTERFACE IDirect3DIndexBuffer8
-DECLARE_INTERFACE_(IDirect3DIndexBuffer8,IDirect3DResource8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DIndexBuffer8 methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC * pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DIndexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DIndexBuffer8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DIndexBuffer8 methods: IDirect3DResource8 ***/
-#define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DIndexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DIndexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DIndexBuffer8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DIndexBuffer8 methods ***/
-#define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DIndexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DIndexBuffer8_AddRef(p) (p)->AddRef()
-#define IDirect3DIndexBuffer8_Release(p) (p)->Release()
-/*** IDirect3DIndexBuffer8 methods: IDirect3DResource8 ***/
-#define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DIndexBuffer8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DIndexBuffer8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DIndexBuffer8_GetType(p) (p)->GetType()
-/*** IDirect3DIndexBuffer8 methods ***/
-#define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DIndexBuffer8_Unlock(p) (p)->Unlock()
-#define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DBaseTexture8 interface
- */
-#define INTERFACE IDirect3DBaseTexture8
-DECLARE_INTERFACE_(IDirect3DBaseTexture8,IDirect3DResource8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture8 methods ***/
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DBaseTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DBaseTexture8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DBaseTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DBaseTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DBaseTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DBaseTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DBaseTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DBaseTexture8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DBaseTexture8 methods ***/
-#define IDirect3DBaseTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DBaseTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DBaseTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DBaseTexture8_AddRef(p) (p)->AddRef()
-#define IDirect3DBaseTexture8_Release(p) (p)->Release()
-/*** IDirect3DBaseTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DBaseTexture8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DBaseTexture8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DBaseTexture8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DBaseTexture8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DBaseTexture8_GetType(p) (p)->GetType()
-/*** IDirect3DBaseTexture8 methods ***/
-#define IDirect3DBaseTexture8_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DBaseTexture8_GetLOD(p) (p)->GetLOD()
-#define IDirect3DBaseTexture8_GetLevelCount(p) (p)->GetLevelCount()
-#endif
-
-/*****************************************************************************
- * IDirect3DCubeTexture8 interface
- */
-#define INTERFACE IDirect3DCubeTexture8
-DECLARE_INTERFACE_(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture8 methods ***/
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- /*** IDirect3DCubeTexture8 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE;
- STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface8 ** ppCubeMapSurface) PURE;
- STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT * pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DCubeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DCubeTexture8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DCubeTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DCubeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DCubeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DCubeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DCubeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DCubeTexture8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DCubeTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DCubeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DCubeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DCubeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-/*** IDirect3DCubeTexture8 methods ***/
-#define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
-#define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
-#define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
-#define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DCubeTexture8_AddRef(p) (p)->AddRef()
-#define IDirect3DCubeTexture8_Release(p) (p)->Release()
-/*** IDirect3DCubeTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DCubeTexture8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DCubeTexture8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DCubeTexture8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DCubeTexture8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DCubeTexture8_GetType(p) (p)->GetType()
-/*** IDirect3DCubeTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DCubeTexture8_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DCubeTexture8_GetLOD(p) (p)->GetLOD()
-#define IDirect3DCubeTexture8_GetLevelCount(p) (p)->GetLevelCount()
-/*** IDirect3DCubeTexture8 methods ***/
-#define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c)
-#define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e)
-#define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->UnlockRect(a,b)
-#define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DTexture8 interface
- */
-#define INTERFACE IDirect3DTexture8
-DECLARE_INTERFACE_(IDirect3DTexture8,IDirect3DBaseTexture8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture8 methods ***/
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- /*** IDirect3DTexture8 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE;
- STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface8 ** ppSurfaceLevel) PURE;
- STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ CONST RECT * pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DTexture8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-/*** IDirect3DTexture8 methods ***/
-#define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b)
-#define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d)
-#define IDirect3DTexture8_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a)
-#define IDirect3DTexture8_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture8_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture8_Release(p) (p)->Release()
-/*** IDirect3DTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DTexture8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DTexture8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DTexture8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DTexture8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DTexture8_GetType(p) (p)->GetType()
-/*** IDirect3DTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DTexture8_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DTexture8_GetLOD(p) (p)->GetLOD()
-#define IDirect3DTexture8_GetLevelCount(p) (p)->GetLevelCount()
-/*** IDirect3DTexture8 methods ***/
-#define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b)
-#define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d)
-#define IDirect3DTexture8_UnlockRect(p,a) (p)->UnlockRect(a)
-#define IDirect3DTexture8_AddDirtyRect(p,a) (p)->AddDirtyRect(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DVolumeTexture8 interface
- */
-#define INTERFACE IDirect3DVolumeTexture8
-DECLARE_INTERFACE_(IDirect3DVolumeTexture8,IDirect3DBaseTexture8)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource8 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice8 ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture8 methods ***/
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- /*** IDirect3DVolumeTexture8 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC * pDesc) PURE;
- STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume8 ** ppVolumeLevel) PURE;
- STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox,DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX * pDirtyBox) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolumeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolumeTexture8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVolumeTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVolumeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVolumeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVolumeTexture8_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DVolumeTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DVolumeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-/*** IDirect3DVolumeTexture8 methods ***/
-#define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
-#define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
-#define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
-#define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolumeTexture8_AddRef(p) (p)->AddRef()
-#define IDirect3DVolumeTexture8_Release(p) (p)->Release()
-/*** IDirect3DVolumeTexture8 methods: IDirect3DResource8 ***/
-#define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVolumeTexture8_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVolumeTexture8_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVolumeTexture8_GetType(p) (p)->GetType()
-/*** IDirect3DVolumeTexture8 methods: IDirect3DBaseTexture8 ***/
-#define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DVolumeTexture8_GetLOD(p) (p)->GetLOD()
-#define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->GetLevelCount()
-/*** IDirect3DVolumeTexture8 methods ***/
-#define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
-#define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
-#define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->UnlockBox(a)
-#define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DDevice8 interface
- */
-#define INTERFACE IDirect3DDevice8
-DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice8 methods ***/
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE;
- STDMETHOD(ResourceManagerDiscardBytes)(THIS_ DWORD Bytes) PURE;
- STDMETHOD(GetDirect3D)(THIS_ IDirect3D8 ** ppD3D8) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS8 * pCaps) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE * pMode) PURE;
- STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS * pParameters) PURE;
- STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface8 * pCursorBitmap) PURE;
- STDMETHOD_(void,SetCursorPosition)(THIS_ UINT XScreenSpace, UINT YScreenSpace,DWORD Flags) PURE;
- STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL bShow) PURE;
- STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DSwapChain8 ** pSwapChain) PURE;
- STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect,CONST RECT * pDestRect,HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS * pRasterStatus) PURE;
- STDMETHOD_(void,SetGammaRamp)(THIS_ DWORD Flags,CONST D3DGAMMARAMP * pRamp) PURE;
- STDMETHOD_(void,GetGammaRamp)(THIS_ D3DGAMMARAMP * pRamp) PURE;
- STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8 ** ppTexture) PURE;
- STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8 ** ppVolumeTexture) PURE;
- STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture8 ** ppCubeTexture) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer8 ** ppVertexBuffer) PURE;
- STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer8 ** ppIndexBuffer) PURE;
- STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8 ** ppSurface) PURE;
- STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8 ** ppSurface) PURE;
- STDMETHOD(CreateImageSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8 ** ppSurface) PURE;
- STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8 * pSourceSurface,CONST RECT * pSourceRectsArray,UINT cRects,IDirect3DSurface8 * pDestinationSurface,CONST POINT * pDestPointsArray) PURE;
- STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture8 * pSourceTexture,IDirect3DBaseTexture8 * pDestinationTexture) PURE;
- STDMETHOD(GetFrontBuffer)(THIS_ IDirect3DSurface8 * pDestSurface) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ IDirect3DSurface8 * pRenderTarget,IDirect3DSurface8 * pNewZStencil) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ IDirect3DSurface8 ** ppRenderTarget) PURE;
- STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface8 ** ppZStencilSurface) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT * pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX * pMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,D3DMATRIX * pMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX * pMatrix) PURE;
- STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT8 * pViewport) PURE;
- STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT8 * pViewport) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL8 * pMaterial) PURE;
- STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL8 *pMaterial) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD Index,CONST D3DLIGHT8 * pLight) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT8 * pLight) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL * pEnable) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float * pPlane) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD Value) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD * pValue) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ DWORD * pToken) PURE;
- STDMETHOD(ApplyStateBlock)(THIS_ DWORD Token) PURE;
- STDMETHOD(CaptureStateBlock)(THIS_ DWORD Token) PURE;
- STDMETHOD(DeleteStateBlock)(THIS_ DWORD Token) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,DWORD * pToken) PURE;
- STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS8 * pClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8 * pClipStatus) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 ** ppTexture) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 * pTexture) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD * pValue) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE;
- STDMETHOD(ValidateDevice)(THIS_ DWORD * pNumPasses) PURE;
- STDMETHOD(GetInfo)(THIS_ DWORD DevInfoID,void * pDevInfoStruct,DWORD DevInfoStructSize) PURE;
- STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber,CONST PALETTEENTRY * pEntries) PURE;
- STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY * pEntries) PURE;
- STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
- STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT * PaletteNumber) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE;
- STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
- STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST void * pIndexData,D3DFORMAT IndexDataFormat,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
- STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8 * pDestBuffer,DWORD Flags) PURE;
- STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD * pDeclaration,CONST DWORD * pFunction,DWORD * pHandle,DWORD Usage) PURE;
- STDMETHOD(SetVertexShader)(THIS_ DWORD Handle) PURE;
- STDMETHOD(GetVertexShader)(THIS_ DWORD * pHandle) PURE;
- STDMETHOD(DeleteVertexShader)(THIS_ DWORD Handle) PURE;
- STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE;
- STDMETHOD(GetVertexShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE;
- STDMETHOD(GetVertexShaderDeclaration)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
- STDMETHOD(GetVertexShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
- STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 * pStreamData,UINT Stride) PURE;
- STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 ** ppStreamData,UINT * pStride) PURE;
- STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer8 * pIndexData,UINT BaseVertexIndex) PURE;
- STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer8 ** ppIndexData,UINT * pBaseVertexIndex) PURE;
- STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD * pFunction,DWORD * pHandle) PURE;
- STDMETHOD(SetPixelShader)(THIS_ DWORD Handle) PURE;
- STDMETHOD(GetPixelShader)(THIS_ DWORD * pHandle) PURE;
- STDMETHOD(DeletePixelShader)(THIS_ DWORD Handle) PURE;
- STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE;
- STDMETHOD(GetPixelShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE;
- STDMETHOD(GetPixelShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE;
- STDMETHOD(DrawRectPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DRECTPATCH_INFO * pRectPatchInfo) PURE;
- STDMETHOD(DrawTriPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DTRIPATCH_INFO * pTriPatchInfo) PURE;
- STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice8 methods ***/
-#define IDirect3DDevice8_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
-#define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->lpVtbl->ResourceManagerDiscardBytes(p,a)
-#define IDirect3DDevice8_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
-#define IDirect3DDevice8_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
-#define IDirect3DDevice8_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
-#define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
-#define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
-#define IDirect3DDevice8_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
-#define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
-#define IDirect3DDevice8_Reset(p,a) (p)->lpVtbl->Reset(p,a)
-#define IDirect3DDevice8_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
-#define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
-#define IDirect3DDevice8_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
-#define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->lpVtbl->SetGammaRamp(p,a,b)
-#define IDirect3DDevice8_GetGammaRamp(p,a) (p)->lpVtbl->GetGammaRamp(p,a)
-#define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f)
-#define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e)
-#define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e)
-#define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f)
-#define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e)
-#define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->lpVtbl->CreateImageSurface(p,a,b,c,d)
-#define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->lpVtbl->CopyRects(p,a,b,c,d,e)
-#define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
-#define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->lpVtbl->GetFrontBuffer(p,a)
-#define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice8_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
-#define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
-#define IDirect3DDevice8_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice8_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice8_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice8_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice8_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice8_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice8_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice8_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice8_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice8_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice8_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice8_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice8_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice8_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice8_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a)
-#define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a)
-#define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a)
-#define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice8_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice8_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice8_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice8_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice8_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
-#define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
-#define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
-#define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
-#define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
-#define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
-#define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e)
-#define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
-#define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->lpVtbl->processVertices(p,a,b,c,d,e)
-#define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->lpVtbl->CreateVertexShader(p,a,b,c,d)
-#define IDirect3DDevice8_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
-#define IDirect3DDevice8_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
-#define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->lpVtbl->DeleteVertexShader(p,a)
-#define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstant(p,a,b,c)
-#define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstant(p,a,b,c)
-#define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->lpVtbl->GetVertexShaderDeclaration(p,a,b,c)
-#define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->lpVtbl->GetVertexShaderFunction(p,a,b,c)
-#define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->lpVtbl->SetStreamSource(p,a,b,c)
-#define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->lpVtbl->GetStreamSource(p,a,b,c)
-#define IDirect3DDevice8_SetIndices(p,a,b) (p)->lpVtbl->SetIndices(p,a,b)
-#define IDirect3DDevice8_GetIndices(p,a,b) (p)->lpVtbl->GetIndices(p,a,b)
-#define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
-#define IDirect3DDevice8_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
-#define IDirect3DDevice8_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
-#define IDirect3DDevice8_DeletePixelShader(p,a) (p)->lpVtbl->DeletePixelShader(p,a)
-#define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstant(p,a,b,c)
-#define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstant(p,a,b,c)
-#define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->lpVtbl->GetPixelShaderFunction(p,a,b,c)
-#define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
-#define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
-#define IDirect3DDevice8_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice8_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice8_Release(p) (p)->Release()
-/*** IDirect3DDevice8 methods ***/
-#define IDirect3DDevice8_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
-#define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
-#define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->ResourceManagerDiscardBytes(a)
-#define IDirect3DDevice8_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
-#define IDirect3DDevice8_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
-#define IDirect3DDevice8_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
-#define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
-#define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
-#define IDirect3DDevice8_ShowCursor(p,a) (p)->ShowCursor(a)
-#define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
-#define IDirect3DDevice8_Reset(p,a) (p)->Reset(a)
-#define IDirect3DDevice8_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
-#define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
-#define IDirect3DDevice8_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
-#define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->SetGammaRamp(a,b)
-#define IDirect3DDevice8_GetGammaRamp(p,a) (p)->GetGammaRamp(a)
-#define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->CreateTexture(a,b,c,d,e,f,g)
-#define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->CreateCubeTexture(a,b,c,d,e,f)
-#define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->CreateVertexBuffer(a,b,c,d,e)
-#define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->CreateIndexBuffer(a,b,c,d,e)
-#define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->CreateRenderTarget(a,b,c,d,e,f)
-#define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->CreateDepthStencilSurface(a,b,c,d,e)
-#define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->CreateImageSurface(a,b,c,d)
-#define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->CopyRects(a,b,c,d,e)
-#define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
-#define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->GetFrontBuffer(a)
-#define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice8_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
-#define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
-#define IDirect3DDevice8_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice8_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice8_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice8_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice8_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice8_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice8_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice8_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice8_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice8_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice8_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice8_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice8_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice8_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice8_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a)
-#define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a)
-#define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a)
-#define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice8_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice8_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice8_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice8_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice8_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c)
-#define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
-#define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
-#define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
-#define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
-#define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
-#define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->DrawIndexedPrimitive(a,b,c,d,e)
-#define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
-#define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->processVertices(a,b,c,d,e)
-#define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->CreateVertexShader(a,b,c,d)
-#define IDirect3DDevice8_SetVertexShader(p,a) (p)->SetVertexShader(a)
-#define IDirect3DDevice8_GetVertexShader(p,a) (p)->GetVertexShader(a)
-#define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->DeleteVertexShader(a)
-#define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->SetVertexShaderConstant(a,b,c)
-#define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->GetVertexShaderConstant(a,b,c)
-#define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->GetVertexShaderDeclaration(a,b,c)
-#define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->GetVertexShaderFunction(a,b,c)
-#define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->SetStreamSource(a,b,c)
-#define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->GetStreamSource(a,b,c)
-#define IDirect3DDevice8_SetIndices(p,a,b) (p)->SetIndices(a,b)
-#define IDirect3DDevice8_GetIndices(p,a,b) (p)->GetIndices(a,b)
-#define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
-#define IDirect3DDevice8_SetPixelShader(p,a) (p)->SetPixelShader(a)
-#define IDirect3DDevice8_GetPixelShader(p,a) (p)->GetPixelShader(a)
-#define IDirect3DDevice8_DeletePixelShader(p,a) (p)->DeletePixelShader(a)
-#define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->SetPixelShaderConstant(a,b,c)
-#define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->GetPixelShaderConstant(a,b,c)
-#define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->GetPixelShaderFunction(a,b,c)
-#define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
-#define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
-#define IDirect3DDevice8_DeletePatch(p,a) (p)->DeletePatch(a)
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
-
-/* Define the main entrypoint as well */
-IDirect3D8* WINAPI Direct3DCreate8(UINT SDKVersion);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* defined(__cplusplus) */
-
-#endif /* __WINE_D3D8_H */
+++ /dev/null
-/*
- * Copyright (C) 2002 Jason Edmeades
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D8CAPS_H
-#define __WINE_D3D8CAPS_H
-
-/*
- * Definitions
- */
-
-#define D3DCAPS_READ_SCANLINE 0x20000
-
-#define D3DCURSORCAPS_COLOR 1
-#define D3DCURSORCAPS_LOWRES 2
-
-#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x0000010
-#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x0000020
-#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x0000040
-#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x0000080
-#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x0000100
-#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x0000200
-#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x0000400
-#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x0000800
-#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x0001000
-#define D3DDEVCAPS_DRAWPRIMITIVES2 0x0002000
-#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x0004000
-#define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x0008000
-#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x0010000
-#define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x0020000
-#define D3DDEVCAPS_HWRASTERIZATION 0x0080000
-#define D3DDEVCAPS_PUREDEVICE 0x0100000
-#define D3DDEVCAPS_QUINTICRTPATCHES 0x0200000
-#define D3DDEVCAPS_RTPATCHES 0x0400000
-#define D3DDEVCAPS_RTPATCHHANDLEZERO 0x0800000
-#define D3DDEVCAPS_NPATCHES 0x1000000
-
-#define D3DFVFCAPS_TEXCOORDCOUNTMASK 0x00FFFF
-#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x080000
-#define D3DFVFCAPS_PSIZE 0x100000
-
-#define D3DLINECAPS_TEXTURE 0x01
-#define D3DLINECAPS_ZTEST 0x02
-#define D3DLINECAPS_BLEND 0x04
-#define D3DLINECAPS_ALPHACMP 0x08
-#define D3DLINECAPS_FOG 0x10
-
-#define D3DPBLENDCAPS_ZERO 0x0001
-#define D3DPBLENDCAPS_ONE 0x0002
-#define D3DPBLENDCAPS_SRCCOLOR 0x0004
-#define D3DPBLENDCAPS_INVSRCCOLOR 0x0008
-#define D3DPBLENDCAPS_SRCALPHA 0x0010
-#define D3DPBLENDCAPS_INVSRCALPHA 0x0020
-#define D3DPBLENDCAPS_DESTALPHA 0x0040
-#define D3DPBLENDCAPS_INVDESTALPHA 0x0080
-#define D3DPBLENDCAPS_DESTCOLOR 0x0100
-#define D3DPBLENDCAPS_INVDESTCOLOR 0x0200
-#define D3DPBLENDCAPS_SRCALPHASAT 0x0400
-#define D3DPBLENDCAPS_BOTHSRCALPHA 0x0800
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x1000
-
-#define D3DPCMPCAPS_NEVER 0x01
-#define D3DPCMPCAPS_LESS 0x02
-#define D3DPCMPCAPS_EQUAL 0x04
-#define D3DPCMPCAPS_LESSEQUAL 0x08
-#define D3DPCMPCAPS_GREATER 0x10
-#define D3DPCMPCAPS_NOTEQUAL 0x20
-#define D3DPCMPCAPS_GREATEREQUAL 0x40
-#define D3DPCMPCAPS_ALWAYS 0x80
-
-#define D3DPMISCCAPS_MASKZ 0x0002
-#define D3DPMISCCAPS_LINEPATTERNREP 0x0004
-#define D3DPMISCCAPS_CULLNONE 0x0010
-#define D3DPMISCCAPS_CULLCW 0x0020
-#define D3DPMISCCAPS_CULLCCW 0x0040
-#define D3DPMISCCAPS_COLORWRITEENABLE 0x0080
-#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS 0x0100
-#define D3DPMISCCAPS_CLIPTLVERTS 0x0200
-#define D3DPMISCCAPS_TSSARGTEMP 0x0400
-#define D3DPMISCCAPS_BLENDOP 0x0800
-
-#define D3DPRASTERCAPS_DITHER 0x00000001
-#define D3DPRASTERCAPS_PAT 0x00000008
-#define D3DPRASTERCAPS_ZTEST 0x00000010
-#define D3DPRASTERCAPS_FOGVERTEX 0x00000080
-#define D3DPRASTERCAPS_FOGTABLE 0x00000100
-#define D3DPRASTERCAPS_ANTIALIASEDGES 0x00001000
-#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000
-#define D3DPRASTERCAPS_ZBIAS 0x00004000
-#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000
-#define D3DPRASTERCAPS_FOGRANGE 0x00010000
-#define D3DPRASTERCAPS_ANISOTROPY 0x00020000
-#define D3DPRASTERCAPS_WBUFFER 0x00040000
-#define D3DPRASTERCAPS_WFOG 0x00100000
-#define D3DPRASTERCAPS_ZFOG 0x00200000
-#define D3DPRASTERCAPS_COLORPERSPECTIVE 0x00400000
-#define D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE 0x00800000
-
-#define D3DPRESENT_INTERVAL_DEFAULT 0x00000000
-#define D3DPRESENT_INTERVAL_ONE 0x00000001
-#define D3DPRESENT_INTERVAL_TWO 0x00000002
-#define D3DPRESENT_INTERVAL_THREE 0x00000004
-#define D3DPRESENT_INTERVAL_FOUR 0x00000008
-#define D3DPRESENT_INTERVAL_IMMEDIATE 0x80000000
-
-#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00008
-#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00200
-#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x04000
-#define D3DPSHADECAPS_FOGGOURAUD 0x80000
-
-#define D3DPTADDRESSCAPS_WRAP 0x01
-#define D3DPTADDRESSCAPS_MIRROR 0x02
-#define D3DPTADDRESSCAPS_CLAMP 0x04
-#define D3DPTADDRESSCAPS_BORDER 0x08
-#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x10
-#define D3DPTADDRESSCAPS_MIRRORONCE 0x20
-
-#define D3DPTEXTURECAPS_PERSPECTIVE 0x00001
-#define D3DPTEXTURECAPS_POW2 0x00002
-#define D3DPTEXTURECAPS_ALPHA 0x00004
-#define D3DPTEXTURECAPS_SQUAREONLY 0x00020
-#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00040
-#define D3DPTEXTURECAPS_ALPHAPALETTE 0x00080
-#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00100
-#define D3DPTEXTURECAPS_PROJECTED 0x00400
-#define D3DPTEXTURECAPS_CUBEMAP 0x00800
-#define D3DPTEXTURECAPS_VOLUMEMAP 0x02000
-#define D3DPTEXTURECAPS_MIPMAP 0x04000
-#define D3DPTEXTURECAPS_MIPVOLUMEMAP 0x08000
-#define D3DPTEXTURECAPS_MIPCUBEMAP 0x10000
-#define D3DPTEXTURECAPS_CUBEMAP_POW2 0x20000
-#define D3DPTEXTURECAPS_VOLUMEMAP_POW2 0x40000
-
-#define D3DPTFILTERCAPS_MINFPOINT 0x00000100
-#define D3DPTFILTERCAPS_MINFLINEAR 0x00000200
-#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400
-#define D3DPTFILTERCAPS_MIPFPOINT 0x00010000
-#define D3DPTFILTERCAPS_MIPFLINEAR 0x00020000
-#define D3DPTFILTERCAPS_MAGFPOINT 0x01000000
-#define D3DPTFILTERCAPS_MAGFLINEAR 0x02000000
-#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000
-#define D3DPTFILTERCAPS_MAGFAFLATCUBIC 0x08000000
-#define D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC 0x10000000
-
-#define D3DSTENCILCAPS_KEEP 0x01
-#define D3DSTENCILCAPS_ZERO 0x02
-#define D3DSTENCILCAPS_REPLACE 0x04
-#define D3DSTENCILCAPS_INCRSAT 0x08
-#define D3DSTENCILCAPS_DECRSAT 0x10
-#define D3DSTENCILCAPS_INVERT 0x20
-#define D3DSTENCILCAPS_INCR 0x40
-#define D3DSTENCILCAPS_DECR 0x80
-
-#define D3DTEXOPCAPS_DISABLE 0x0000001
-#define D3DTEXOPCAPS_SELECTARG1 0x0000002
-#define D3DTEXOPCAPS_SELECTARG2 0x0000004
-#define D3DTEXOPCAPS_MODULATE 0x0000008
-#define D3DTEXOPCAPS_MODULATE2X 0x0000010
-#define D3DTEXOPCAPS_MODULATE4X 0x0000020
-#define D3DTEXOPCAPS_ADD 0x0000040
-#define D3DTEXOPCAPS_ADDSIGNED 0x0000080
-#define D3DTEXOPCAPS_ADDSIGNED2X 0x0000100
-#define D3DTEXOPCAPS_SUBTRACT 0x0000200
-#define D3DTEXOPCAPS_ADDSMOOTH 0x0000400
-#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x0000800
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x0001000
-#define D3DTEXOPCAPS_BLENDFACTORALPHA 0x0002000
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x0004000
-#define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x0008000
-#define D3DTEXOPCAPS_PREMODULATE 0x0010000
-#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x0020000
-#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x0040000
-#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x0080000
-#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x0100000
-#define D3DTEXOPCAPS_BUMPENVMAP 0x0200000
-#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x0400000
-#define D3DTEXOPCAPS_DOTPRODUCT3 0x0800000
-#define D3DTEXOPCAPS_MULTIPLYADD 0x1000000
-#define D3DTEXOPCAPS_LERP 0x2000000
-
-#define D3DVTXPCAPS_TEXGEN 0x01
-#define D3DVTXPCAPS_MATERIALSOURCE7 0x02
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS 0x08
-#define D3DVTXPCAPS_POSITIONALLIGHTS 0x10
-#define D3DVTXPCAPS_LOCALVIEWER 0x20
-#define D3DVTXPCAPS_TWEENING 0x40
-
-#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x00000020
-#define D3DCAPS3_RESERVED 0x8000001f
-
-#define D3DCAPS2_CANCALIBRATEGAMMA 0x0100000
-#define D3DCAPS2_CANRENDERWINDOWED 0x0080000
-#define D3DCAPS2_CANMANAGERESOURCE 0x10000000
-#define D3DCAPS2_DYNAMICTEXTURES 0x20000000
-#define D3DCAPS2_FULLSCREENGAMMA 0x0020000
-#define D3DCAPS2_NO2DDURING3DSCENE 0x0000002
-#define D3DCAPS2_RESERVED 0x2000000
-
-/*
- * The d3dcaps8 structure
- */
-typedef struct _D3DCAPS8 {
- D3DDEVTYPE DeviceType;
- UINT AdapterOrdinal;
-
- DWORD Caps;
- DWORD Caps2;
- DWORD Caps3;
- DWORD PresentationIntervals;
-
- DWORD CursorCaps;
-
- DWORD DevCaps;
-
- DWORD PrimitiveMiscCaps;
- DWORD RasterCaps;
- DWORD ZCmpCaps;
- DWORD SrcBlendCaps;
- DWORD DestBlendCaps;
- DWORD AlphaCmpCaps;
- DWORD ShadeCaps;
- DWORD TextureCaps;
- DWORD TextureFilterCaps;
- DWORD CubeTextureFilterCaps;
- DWORD VolumeTextureFilterCaps;
- DWORD TextureAddressCaps;
- DWORD VolumeTextureAddressCaps;
-
- DWORD LineCaps;
-
- DWORD MaxTextureWidth, MaxTextureHeight;
- DWORD MaxVolumeExtent;
-
- DWORD MaxTextureRepeat;
- DWORD MaxTextureAspectRatio;
- DWORD MaxAnisotropy;
- float MaxVertexW;
-
- float GuardBandLeft;
- float GuardBandTop;
- float GuardBandRight;
- float GuardBandBottom;
-
- float ExtentsAdjust;
- DWORD StencilCaps;
-
- DWORD FVFCaps;
- DWORD TextureOpCaps;
- DWORD MaxTextureBlendStages;
- DWORD MaxSimultaneousTextures;
-
- DWORD VertexProcessingCaps;
- DWORD MaxActiveLights;
- DWORD MaxUserClipPlanes;
- DWORD MaxVertexBlendMatrices;
- DWORD MaxVertexBlendMatrixIndex;
-
- float MaxPointSize;
-
- DWORD MaxPrimitiveCount;
- DWORD MaxVertexIndex;
- DWORD MaxStreams;
- DWORD MaxStreamStride;
-
- DWORD VertexShaderVersion;
- DWORD MaxVertexShaderConst;
-
- DWORD PixelShaderVersion;
- float MaxPixelShaderValue;
-} D3DCAPS8;
-
-#endif /* __WINE_D3D8CAPS_H */
+++ /dev/null
-/*
- * Copyright (C) 2002 Jason Edmeades
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D8TYPES_H
-#define __WINE_D3D8TYPES_H
-
-#include <_mingw_dxhelper.h>
-
-/*****************************************************************************
- * Direct 3D v8 #defines
- */
-
-#ifndef D3DCLEAR_TARGET
-#define D3DCLEAR_TARGET 1
-#endif
-#ifndef D3DCLEAR_ZBUFFER
-#define D3DCLEAR_ZBUFFER 2
-#endif
-#ifndef D3DCLEAR_STENCIL
-#define D3DCLEAR_STENCIL 4
-#endif
-
-#define D3DCLIPPLANE0 (1 << 0)
-#define D3DCLIPPLANE1 (1 << 1)
-#define D3DCLIPPLANE2 (1 << 2)
-#define D3DCLIPPLANE3 (1 << 3)
-#define D3DCLIPPLANE4 (1 << 4)
-#define D3DCLIPPLANE5 (1 << 5)
-
-#define D3DCOLOR_ARGB(a,r,g,b) ((D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
-#define D3DCOLOR_COLORVALUE(r,g,b,a) D3DCOLOR_RGBA((DWORD)((r)*255.f),(DWORD)((g)*255.f),(DWORD)((b)*255.f),(DWORD)((a)*255.f))
-#define D3DCOLOR_RGBA(r,g,b,a) D3DCOLOR_ARGB(a,r,g,b)
-#define D3DCOLOR_XRGB(r,g,b) D3DCOLOR_ARGB(0xff,r,g,b)
-
-#define D3DCS_LEFT 0x001
-#define D3DCS_RIGHT 0x002
-#define D3DCS_TOP 0x004
-#define D3DCS_BOTTOM 0x008
-#define D3DCS_FRONT 0x010
-#define D3DCS_BACK 0x020
-#define D3DCS_PLANE0 0x040
-#define D3DCS_PLANE1 0x080
-#define D3DCS_PLANE2 0x100
-#define D3DCS_PLANE3 0x200
-#define D3DCS_PLANE4 0x400
-#define D3DCS_PLANE5 0x800
-#define D3DCS_ALL 0xFFF
-
-#define D3DFVF_TEXTUREFORMAT1 3
-#define D3DFVF_TEXTUREFORMAT2 0
-#define D3DFVF_TEXTUREFORMAT3 1
-#define D3DFVF_TEXTUREFORMAT4 2
-#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2)
-#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
-
-#define D3DLOCK_READONLY 0x0010
-#define D3DLOCK_NOSYSLOCK 0x0800
-#define D3DLOCK_NOOVERWRITE 0x1000
-#define D3DLOCK_DISCARD 0x2000
-#define D3DLOCK_NO_DIRTY_UPDATE 0x8000
-
-#define D3DMAXUSERCLIPPLANES 32
-
-#define D3DRENDERSTATE_WRAPBIAS 0x80
-
-#define D3DTSS_TCI_PASSTHRU 0x00000
-#define D3DTSS_TCI_CAMERASPACENORMAL 0x10000
-#define D3DTSS_TCI_CAMERASPACEPOSITION 0x20000
-#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x30000
-
-
-#define D3DTS_WORLD D3DTS_WORLDMATRIX(0)
-#define D3DTS_WORLD1 D3DTS_WORLDMATRIX(1)
-#define D3DTS_WORLD2 D3DTS_WORLDMATRIX(2)
-#define D3DTS_WORLD3 D3DTS_WORLDMATRIX(3)
-#define D3DTS_WORLDMATRIX(index) (D3DTRANSFORMSTATETYPE)(index + 256)
-
-#define D3DUSAGE_RENDERTARGET 0x01
-#define D3DUSAGE_DEPTHSTENCIL 0x02
-#define D3DUSAGE_WRITEONLY 0x08
-#define D3DUSAGE_SOFTWAREPROCESSING 0x10
-#define D3DUSAGE_DONOTCLIP 0x20
-#define D3DUSAGE_POINTS 0x40
-#define D3DUSAGE_RTPATCHES 0x80
-#define D3DUSAGE_NPATCHES 0x100
-#define D3DUSAGE_DYNAMIC 0x200
-
-#define D3DWRAP_U 1
-#define D3DWRAP_V 2
-#define D3DWRAP_W 4
-#define D3DWRAPCOORD_0 1
-#define D3DWRAPCOORD_1 2
-#define D3DWRAPCOORD_2 4
-#define D3DWRAPCOORD_3 8
-
-#define MAX_DEVICE_IDENTIFIER_STRING 512
-
-#define D3DFVF_RESERVED0 0x0001
-#define D3DFVF_POSITION_MASK 0x000E
-#define D3DFVF_XYZ 0x0002
-#define D3DFVF_XYZRHW 0x0004
-#define D3DFVF_XYZB1 0x0006
-#define D3DFVF_XYZB2 0x0008
-#define D3DFVF_XYZB3 0x000a
-#define D3DFVF_XYZB4 0x000c
-#define D3DFVF_XYZB5 0x000e
-#define D3DFVF_NORMAL 0x0010
-#define D3DFVF_PSIZE 0x0020
-#define D3DFVF_DIFFUSE 0x0040
-#define D3DFVF_SPECULAR 0x0080
-#define D3DFVF_TEXCOUNT_MASK 0x0f00
-#define D3DFVF_TEXCOUNT_SHIFT 8
-#define D3DFVF_TEX0 0x0000
-#define D3DFVF_TEX1 0x0100
-#define D3DFVF_TEX2 0x0200
-#define D3DFVF_TEX3 0x0300
-#define D3DFVF_TEX4 0x0400
-#define D3DFVF_TEX5 0x0500
-#define D3DFVF_TEX6 0x0600
-#define D3DFVF_TEX7 0x0700
-#define D3DFVF_TEX8 0x0800
-#define D3DFVF_LASTBETA_UBYTE4 0x1000
-#define D3DFVF_RESERVED2 0xE000
-
-#define D3DTA_SELECTMASK 0x0000000f
-#define D3DTA_DIFFUSE 0x00000000
-#define D3DTA_CURRENT 0x00000001
-#define D3DTA_TEXTURE 0x00000002
-#define D3DTA_TFACTOR 0x00000003
-#define D3DTA_SPECULAR 0x00000004
-#define D3DTA_COMPLEMENT 0x00000010
-#define D3DTA_ALPHAREPLICATE 0x00000020
-#define D3DTA_TEMP 0x00000005
-
-#define D3DCOLORWRITEENABLE_RED (1L<<0)
-#define D3DCOLORWRITEENABLE_GREEN (1L<<1)
-#define D3DCOLORWRITEENABLE_BLUE (1L<<2)
-#define D3DCOLORWRITEENABLE_ALPHA (1L<<3)
-
-
-#ifndef MAKEFOURCC
-#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
- ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
- ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
-#endif /* MAKEFOURCC */
-
-
-/****************************
- * Vertex Shaders Declaration
- */
-
-typedef enum _D3DVSD_TOKENTYPE {
- D3DVSD_TOKEN_NOP = 0,
- D3DVSD_TOKEN_STREAM = 1,
- D3DVSD_TOKEN_STREAMDATA = 2,
- D3DVSD_TOKEN_TESSELLATOR = 3,
- D3DVSD_TOKEN_CONSTMEM = 4,
- D3DVSD_TOKEN_EXT = 5,
- /* RESERVED = 6 */
- D3DVSD_TOKEN_END = 7,
- D3DVSD_FORCE_DWORD = 0x7FFFFFFF
-} D3DVSD_TOKENTYPE;
-
-/** input registers for vertex shaders functions */
-/*
-#define D3DVSDE_POSITION 0
-#define D3DVSDE_BLENDWEIGHT 1
-#define D3DVSDE_BLENDINDICES 2
-#define D3DVSDE_NORMAL 3
-#define D3DVSDE_PSIZE 4
-#define D3DVSDE_DIFFUSE 5
-#define D3DVSDE_SPECULAR 6
-#define D3DVSDE_TEXCOORD0 7
-#define D3DVSDE_TEXCOORD1 8
-#define D3DVSDE_TEXCOORD2 9
-#define D3DVSDE_TEXCOORD3 10
-#define D3DVSDE_TEXCOORD4 11
-#define D3DVSDE_TEXCOORD5 12
-#define D3DVSDE_TEXCOORD6 13
-#define D3DVSDE_TEXCOORD7 14
-#define D3DVSDE_POSITION2 15
-#define D3DVSDE_NORMAL2 16
-*/
-/** Address of the vertex register. 0 - 16 */
-typedef enum _D3DVSDE_REGISTER {
- D3DVSDE_POSITION = 0,
- D3DVSDE_BLENDWEIGHT = 1,
- D3DVSDE_BLENDINDICES = 2,
- D3DVSDE_NORMAL = 3,
- D3DVSDE_PSIZE = 4,
- D3DVSDE_DIFFUSE = 5,
- D3DVSDE_SPECULAR = 6,
- D3DVSDE_TEXCOORD0 = 7,
- D3DVSDE_TEXCOORD1 = 8,
- D3DVSDE_TEXCOORD2 = 9,
- D3DVSDE_TEXCOORD3 = 10,
- D3DVSDE_TEXCOORD4 = 11,
- D3DVSDE_TEXCOORD5 = 12,
- D3DVSDE_TEXCOORD6 = 13,
- D3DVSDE_TEXCOORD7 = 14,
- D3DVSDE_POSITION2 = 15,
- D3DVSDE_NORMAL2 = 16
-} D3DVSDE_REGISTER;
-
-/** bit-field declaration for VertexRegister Type */
-/*
-#define D3DVSDT_FLOAT1 0x00
-#define D3DVSDT_FLOAT2 0x01
-#define D3DVSDT_FLOAT3 0x02
-#define D3DVSDT_FLOAT4 0x03
-#define D3DVSDT_D3DCOLOR 0x04
-#define D3DVSDT_UBYTE4 0x05
-#define D3DVSDT_SHORT2 0x06
-#define D3DVSDT_SHORT4 0x07
-*/
-typedef enum _D3DVSDT_TYPE {
- D3DVSDT_FLOAT1 = 0x00,
- D3DVSDT_FLOAT2 = 0x01,
- D3DVSDT_FLOAT3 = 0x02,
- D3DVSDT_FLOAT4 = 0x03,
- D3DVSDT_D3DCOLOR = 0x04,
- D3DVSDT_UBYTE4 = 0x05,
- D3DVSDT_SHORT2 = 0x06,
- D3DVSDT_SHORT4 = 0x07
-} D3DVSDT_TYPE;
-
-
-#define D3DVSD_CONSTADDRESSSHIFT 0
-#define D3DVSD_EXTINFOSHIFT 0
-#define D3DVSD_STREAMNUMBERSHIFT 0
-#define D3DVSD_VERTEXREGSHIFT 0
-#define D3DVSD_CONSTRSSHIFT 16
-#define D3DVSD_DATATYPESHIFT 16
-#define D3DVSD_SKIPCOUNTSHIFT 16
-#define D3DVSD_VERTEXREGINSHIFT 20
-#define D3DVSD_EXTCOUNTSHIFT 24
-#define D3DVSD_CONSTCOUNTSHIFT 25
-#define D3DVSD_DATALOADTYPESHIFT 28
-#define D3DVSD_STREAMTESSSHIFT 28
-#define D3DVSD_TOKENTYPESHIFT 29
-
-#define D3DVSD_CONSTADDRESSMASK (0x7F << D3DVSD_CONSTADDRESSSHIFT)
-#define D3DVSD_EXTINFOMASK (0xFFFFFF << D3DVSD_EXTINFOSHIFT)
-#define D3DVSD_STREAMNUMBERMASK (0xF << D3DVSD_STREAMNUMBERSHIFT)
-#define D3DVSD_VERTEXREGMASK (0x1F << D3DVSD_VERTEXREGSHIFT)
-#define D3DVSD_CONSTRSMASK (0x1FFF << D3DVSD_CONSTRSSHIFT)
-#define D3DVSD_DATATYPEMASK (0xF << D3DVSD_DATATYPESHIFT)
-#define D3DVSD_SKIPCOUNTMASK (0xF << D3DVSD_SKIPCOUNTSHIFT)
-#define D3DVSD_EXTCOUNTMASK (0x1F << D3DVSD_EXTCOUNTSHIFT)
-#define D3DVSD_VERTEXREGINMASK (0xF << D3DVSD_VERTEXREGINSHIFT)
-#define D3DVSD_CONSTCOUNTMASK (0xF << D3DVSD_CONSTCOUNTSHIFT)
-#define D3DVSD_DATALOADTYPEMASK (0x1 << D3DVSD_DATALOADTYPESHIFT)
-#define D3DVSD_STREAMTESSMASK (0x1 << D3DVSD_STREAMTESSSHIFT)
-#define D3DVSD_TOKENTYPEMASK (0x7 << D3DVSD_TOKENTYPESHIFT)
-
-
-#define D3DVSD_MAKETOKENTYPE(TokenType) \
- ((TokenType << D3DVSD_TOKENTYPESHIFT) & D3DVSD_TOKENTYPEMASK)
-
-#define D3DVSD_CONST(ConstantAddress, Count) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_CONSTMEM) | ((Count) << D3DVSD_CONSTCOUNTSHIFT) | (ConstantAddress))
-
-#define D3DVSD_END() 0xFFFFFFFF
-
-#define D3DVSD_NOP() 0x00000000
-
-#define D3DVSD_REG(VertexRegister, Type) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | ((Type) << D3DVSD_DATATYPESHIFT) | (VertexRegister))
-
-#define D3DVSD_SKIP(Count) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | 0x10000000 | ((Count) << D3DVSD_SKIPCOUNTSHIFT))
-
-#define D3DVSD_STREAM(StreamNumber) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (StreamNumber))
-
-#define D3DVSD_STREAM_TESS() \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (D3DVSD_STREAMTESSMASK))
-
-#define D3DVSD_TESSNORMAL(RegisterIn, RegisterOut) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | ((RegisterIn) << D3DVSD_VERTEXREGINSHIFT) | ((0x02) << D3DVSD_DATATYPESHIFT) | (RegisterOut))
-
-#define D3DVSD_TESSUV(Register) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | 0x10000000 | ((0x01) << D3DVSD_DATATYPESHIFT) | (Register))
-
-
-/********************************
- * Pixel/Vertex Shaders Functions
- */
-
-/** Maximum number of supported texture coordinates sets operation */
-#define D3DDP_MAXTEXCOORD 8
-
-/** opcode token mask */
-#define D3DSI_OPCODE_MASK 0x0000FFFF
-
-/** opcodes types for PS and VS */
-typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE {
- D3DSIO_NOP = 0,
- D3DSIO_MOV = 1,
- D3DSIO_ADD = 2,
- D3DSIO_SUB = 3,
- D3DSIO_MAD = 4,
- D3DSIO_MUL = 5,
- D3DSIO_RCP = 6,
- D3DSIO_RSQ = 7,
- D3DSIO_DP3 = 8,
- D3DSIO_DP4 = 9,
- D3DSIO_MIN = 10,
- D3DSIO_MAX = 11,
- D3DSIO_SLT = 12,
- D3DSIO_SGE = 13,
- D3DSIO_EXP = 14,
- D3DSIO_LOG = 15,
- D3DSIO_LIT = 16,
- D3DSIO_DST = 17,
- D3DSIO_LRP = 18,
- D3DSIO_FRC = 19,
- D3DSIO_M4x4 = 20,
- D3DSIO_M4x3 = 21,
- D3DSIO_M3x4 = 22,
- D3DSIO_M3x3 = 23,
- D3DSIO_M3x2 = 24,
-
- D3DSIO_TEXCOORD = 64,
- D3DSIO_TEXKILL = 65,
- D3DSIO_TEX = 66,
- D3DSIO_TEXBEM = 67,
- D3DSIO_TEXBEML = 68,
- D3DSIO_TEXREG2AR = 69,
- D3DSIO_TEXREG2GB = 70,
- D3DSIO_TEXM3x2PAD = 71,
- D3DSIO_TEXM3x2TEX = 72,
- D3DSIO_TEXM3x3PAD = 73,
- D3DSIO_TEXM3x3TEX = 74,
- D3DSIO_TEXM3x3DIFF = 75,
- D3DSIO_TEXM3x3SPEC = 76,
- D3DSIO_TEXM3x3VSPEC = 77,
- D3DSIO_EXPP = 78,
- D3DSIO_LOGP = 79,
- D3DSIO_CND = 80,
- D3DSIO_DEF = 81,
- D3DSIO_TEXREG2RGB = 82,
- D3DSIO_TEXDP3TEX = 83,
- D3DSIO_TEXM3x2DEPTH = 84,
- D3DSIO_TEXDP3 = 85,
- D3DSIO_TEXM3x3 = 86,
- D3DSIO_TEXDEPTH = 87,
- D3DSIO_CMP = 88,
- D3DSIO_BEM = 89,
-
- D3DSIO_PHASE = 0xFFFD,
- D3DSIO_COMMENT = 0xFFFE,
- D3DSIO_END = 0XFFFF,
-
- D3DSIO_FORCE_DWORD = 0X7FFFFFFF /** for 32-bit alignment */
-} D3DSHADER_INSTRUCTION_OPCODE_TYPE;
-
-/** for parallelism */
-#define D3DSI_COISSUE 0x40000000
-
-/** destination parameter modifiers (.xyzw) */
-#define D3DSP_WRITEMASK_0 0x00010000 /* .x r */
-#define D3DSP_WRITEMASK_1 0x00020000 /* .y g */
-#define D3DSP_WRITEMASK_2 0x00040000 /* .z b */
-#define D3DSP_WRITEMASK_3 0x00080000 /* .w a */
-#define D3DSP_WRITEMASK_ALL 0x000F0000 /* all */
-
-#define D3DSP_DSTMOD_SHIFT 20
-#define D3DSP_DSTMOD_MASK (0xF << D3DSP_DSTMOD_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_DSTMOD_TYPE {
- D3DSPDM_NONE = 0 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_SATURATE = 1 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_FORCE_DWORD = 0X7FFFFFFF
-} D3DSHADER_PARAM_DSTMOD_TYPE;
-
-/** destination param */
-#define D3DSP_DSTSHIFT_SHIFT 24
-#define D3DSP_DSTSHIFT_MASK (0xF << D3DSP_DSTSHIFT_SHIFT)
-
-/** destination/source reg type */
-#define D3DSP_REGTYPE_SHIFT 28
-#define D3DSP_REGTYPE_MASK (0x7 << D3DSP_REGTYPE_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_REGISTER_TYPE {
- D3DSPR_TEMP = 0 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_INPUT = 1 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_CONST = 2 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_ADDR = 3 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_TEXTURE = 3 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_RASTOUT = 4 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_ATTROUT = 5 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_TEXCRDOUT = 6 << D3DSP_REGTYPE_SHIFT,
- D3DSPR_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_REGISTER_TYPE;
-
-typedef enum _D3DVS_RASTOUT_OFFSETS {
- D3DSRO_POSITION = 0,
- D3DSRO_FOG = 1,
- D3DSRO_POINT_SIZE = 2,
- D3DSRO_FORCE_DWORD = 0x7FFFFFFF
-} D3DVS_RASTOUT_OFFSETS;
-
-#define D3DVS_ADDRESSMODE_SHIFT 13
-#define D3DVS_ADDRESSMODE_MASK (0x1 << D3DVS_ADDRESSMODE_SHIFT)
-
-typedef enum _D3DVS_ADDRESSMODE_TYPE {
- D3DVS_ADDRMODE_ABSOLUTE = 0 << D3DVS_ADDRESSMODE_SHIFT,
- D3DVS_ADDRMODE_RELATIVE = 1 << D3DVS_ADDRESSMODE_SHIFT,
- D3DVS_ADDRMODE_FORCE_DWORD = 0x7FFFFFFF
-} D3DVS_ADDRESSMODE_TYPE;
-
-#define D3DVS_SWIZZLE_SHIFT 16
-#define D3DVS_SWIZZLE_MASK (0xFF << D3DVS_SWIZZLE_SHIFT)
-
-#define D3DSP_SWIZZLE_SHIFT 16
-#define D3DSP_SWIZZLE_MASK (0xFF << D3DSP_SWIZZLE_SHIFT)
-
-#define D3DVS_X_X (0 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Y (1 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Z (2 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_W (3 << D3DVS_SWIZZLE_SHIFT)
-
-#define D3DVS_Y_X (0 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Y (1 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Z (2 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_W (3 << (D3DVS_SWIZZLE_SHIFT + 2))
-
-#define D3DVS_Z_X (0 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Y (1 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Z (2 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_W (3 << (D3DVS_SWIZZLE_SHIFT + 4))
-
-#define D3DVS_W_X (0 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Y (1 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Z (2 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_W (3 << (D3DVS_SWIZZLE_SHIFT + 6))
-
-#define D3DVS_NOSWIZZLE (D3DVS_X_X | D3DVS_Y_Y | D3DVS_Z_Z | D3DVS_W_W)
-
-#define D3DSP_NOSWIZZLE \
- ((0 << (D3DSP_SWIZZLE_SHIFT + 0)) | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | (3 << (D3DSP_SWIZZLE_SHIFT + 6)))
-
-#define D3DSP_SRCMOD_SHIFT 24
-#define D3DSP_SRCMOD_MASK (0xF << D3DSP_SRCMOD_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_SRCMOD_TYPE {
- D3DSPSM_NONE = 0 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_NEG = 1 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIAS = 2 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIASNEG = 3 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGN = 4 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGNNEG = 5 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_COMP = 6 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2 = 7 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2NEG = 8 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DZ = 9 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DW = 10 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_SRCMOD_TYPE;
-
-#define D3DPS_VERSION(major, minor) (0xFFFF0000 | ((major) << 8) | (minor))
-#define D3DVS_VERSION(major, minor) (0xFFFE0000 | ((major) << 8) | (minor))
-#define D3DSHADER_VERSION_MAJOR(version) (((version) >> 8) & 0xFF)
-#define D3DSHADER_VERSION_MINOR(version) (((version) >> 0) & 0xFF)
-
-#define D3DSI_COMMENTSIZE_SHIFT 16
-#define D3DSI_COMMENTSIZE_MASK (0x7FFF << D3DSI_COMMENTSIZE_SHIFT)
-
-#define D3DSHADER_COMMENT(commentSize) \
- ((((commentSize) << D3DSI_COMMENTSIZE_SHIFT) & D3DSI_COMMENTSIZE_MASK) | D3DSIO_COMMENT)
-
-#define D3DPS_END() 0x0000FFFF
-#define D3DVS_END() 0x0000FFFF
-
-
-/*****************************************************************************
- * Direct 3D v8 enumerated types
- */
-typedef enum _D3DBACKBUFFER_TYPE {
- D3DBACKBUFFER_TYPE_MONO = 0,
- D3DBACKBUFFER_TYPE_LEFT = 1,
- D3DBACKBUFFER_TYPE_RIGHT = 2,
-
- D3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
-} D3DBACKBUFFER_TYPE;
-
-typedef enum _D3DBASISTYPE{
- D3DBASIS_BEZIER = 0,
- D3DBASIS_BSPLINE = 1,
- D3DBASIS_INTERPOLATE = 2,
-
- D3DBASIS_FORCE_DWORD = 0x7fffffff
-} D3DBASISTYPE;
-
-typedef enum _D3DBLEND {
- D3DBLEND_ZERO = 1,
- D3DBLEND_ONE = 2,
- D3DBLEND_SRCCOLOR = 3,
- D3DBLEND_INVSRCCOLOR = 4,
- D3DBLEND_SRCALPHA = 5,
- D3DBLEND_INVSRCALPHA = 6,
- D3DBLEND_DESTALPHA = 7,
- D3DBLEND_INVDESTALPHA = 8,
- D3DBLEND_DESTCOLOR = 9,
- D3DBLEND_INVDESTCOLOR = 10,
- D3DBLEND_SRCALPHASAT = 11,
- D3DBLEND_BOTHSRCALPHA = 12,
- D3DBLEND_BOTHINVSRCALPHA = 13,
-
- D3DBLEND_FORCE_DWORD = 0x7fffffff
-} D3DBLEND;
-
-typedef enum _D3DBLENDOP {
- D3DBLENDOP_ADD = 1,
- D3DBLENDOP_SUBTRACT = 2,
- D3DBLENDOP_REVSUBTRACT = 3,
- D3DBLENDOP_MIN = 4,
- D3DBLENDOP_MAX = 5,
-
- D3DBLENDOP_FORCE_DWORD = 0x7fffffff
-} D3DBLENDOP;
-
-typedef enum _D3DCMPFUNC {
- D3DCMP_NEVER = 1,
- D3DCMP_LESS = 2,
- D3DCMP_EQUAL = 3,
- D3DCMP_LESSEQUAL = 4,
- D3DCMP_GREATER = 5,
- D3DCMP_NOTEQUAL = 6,
- D3DCMP_GREATEREQUAL = 7,
- D3DCMP_ALWAYS = 8,
-
- D3DCMP_FORCE_DWORD = 0x7fffffff
-} D3DCMPFUNC;
-
-typedef enum _D3DCUBEMAP_FACES {
- D3DCUBEMAP_FACE_POSITIVE_X = 0,
- D3DCUBEMAP_FACE_NEGATIVE_X = 1,
- D3DCUBEMAP_FACE_POSITIVE_Y = 2,
- D3DCUBEMAP_FACE_NEGATIVE_Y = 3,
- D3DCUBEMAP_FACE_POSITIVE_Z = 4,
- D3DCUBEMAP_FACE_NEGATIVE_Z = 5,
-
- D3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
-} D3DCUBEMAP_FACES;
-
-typedef enum _D3DCULL {
- D3DCULL_NONE = 1,
- D3DCULL_CW = 2,
- D3DCULL_CCW = 3,
-
- D3DCULL_FORCE_DWORD = 0x7fffffff
-} D3DCULL;
-
-typedef enum _D3DDEBUGMONITORTOKENS {
- D3DDMT_ENABLE = 0,
- D3DDMT_DISABLE = 1,
-
- D3DDMT_FORCE_DWORD = 0x7fffffff
-} D3DDEBUGMONITORTOKENS;
-
-typedef enum _D3DDEVTYPE {
- D3DDEVTYPE_HAL = 1,
- D3DDEVTYPE_REF = 2,
- D3DDEVTYPE_SW = 3,
-
- D3DDEVTYPE_FORCE_DWORD = 0xffffffff
-} D3DDEVTYPE;
-
-typedef enum _D3DFILLMODE {
- D3DFILL_POINT = 1,
- D3DFILL_WIREFRAME = 2,
- D3DFILL_SOLID = 3,
-
- D3DFILL_FORCE_DWORD = 0x7fffffff
-} D3DFILLMODE;
-
-typedef enum _D3DFOGMODE {
- D3DFOG_NONE = 0,
- D3DFOG_EXP = 1,
- D3DFOG_EXP2 = 2,
- D3DFOG_LINEAR = 3,
-
- D3DFOG_FORCE_DWORD = 0x7fffffff
-} D3DFOGMODE;
-
-typedef enum _D3DFORMAT {
- D3DFMT_UNKNOWN = 0,
-
- D3DFMT_R8G8B8 = 20,
- D3DFMT_A8R8G8B8 = 21,
- D3DFMT_X8R8G8B8 = 22,
- D3DFMT_R5G6B5 = 23,
- D3DFMT_X1R5G5B5 = 24,
- D3DFMT_A1R5G5B5 = 25,
- D3DFMT_A4R4G4B4 = 26,
- D3DFMT_R3G3B2 = 27,
- D3DFMT_A8 = 28,
- D3DFMT_A8R3G3B2 = 29,
- D3DFMT_X4R4G4B4 = 30,
- D3DFMT_A2B10G10R10 = 31,
- D3DFMT_G16R16 = 34,
-
- D3DFMT_A8P8 = 40,
- D3DFMT_P8 = 41,
-
- D3DFMT_L8 = 50,
- D3DFMT_A8L8 = 51,
- D3DFMT_A4L4 = 52,
-
- D3DFMT_V8U8 = 60,
- D3DFMT_L6V5U5 = 61,
- D3DFMT_X8L8V8U8 = 62,
- D3DFMT_Q8W8V8U8 = 63,
- D3DFMT_V16U16 = 64,
- D3DFMT_W11V11U10 = 65,
- D3DFMT_A2W10V10U10 = 67,
-
- D3DFMT_UYVY = MAKEFOURCC('U', 'Y', 'V', 'Y'),
- D3DFMT_YUY2 = MAKEFOURCC('Y', 'U', 'Y', '2'),
- D3DFMT_DXT1 = MAKEFOURCC('D', 'X', 'T', '1'),
- D3DFMT_DXT2 = MAKEFOURCC('D', 'X', 'T', '2'),
- D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3'),
- D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4'),
- D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5'),
-
- D3DFMT_D16_LOCKABLE = 70,
- D3DFMT_D32 = 71,
- D3DFMT_D15S1 = 73,
- D3DFMT_D24S8 = 75,
- D3DFMT_D16 = 80,
- D3DFMT_D24X8 = 77,
- D3DFMT_D24X4S4 = 79,
-
- D3DFMT_VERTEXDATA = 100,
- D3DFMT_INDEX16 = 101,
- D3DFMT_INDEX32 = 102,
-
- D3DFMT_FORCE_DWORD = 0xFFFFFFFF
-} D3DFORMAT;
-
-typedef enum _D3DLIGHTTYPE {
- D3DLIGHT_POINT = 1,
- D3DLIGHT_SPOT = 2,
- D3DLIGHT_DIRECTIONAL = 3,
-
- D3DLIGHT_FORCE_DWORD = 0x7fffffff
-} D3DLIGHTTYPE;
-
-typedef enum _D3DMATERIALCOLORSOURCE {
- D3DMCS_MATERIAL = 0,
- D3DMCS_COLOR1 = 1,
- D3DMCS_COLOR2 = 2,
-
- D3DMCS_FORCE_DWORD = 0x7fffffff
-} D3DMATERIALCOLORSOURCE;
-
-typedef enum _D3DMULTISAMPLE_TYPE {
- D3DMULTISAMPLE_NONE = 0,
- D3DMULTISAMPLE_2_SAMPLES = 2,
- D3DMULTISAMPLE_3_SAMPLES = 3,
- D3DMULTISAMPLE_4_SAMPLES = 4,
- D3DMULTISAMPLE_5_SAMPLES = 5,
- D3DMULTISAMPLE_6_SAMPLES = 6,
- D3DMULTISAMPLE_7_SAMPLES = 7,
- D3DMULTISAMPLE_8_SAMPLES = 8,
- D3DMULTISAMPLE_9_SAMPLES = 9,
- D3DMULTISAMPLE_10_SAMPLES = 10,
- D3DMULTISAMPLE_11_SAMPLES = 11,
- D3DMULTISAMPLE_12_SAMPLES = 12,
- D3DMULTISAMPLE_13_SAMPLES = 13,
- D3DMULTISAMPLE_14_SAMPLES = 14,
- D3DMULTISAMPLE_15_SAMPLES = 15,
- D3DMULTISAMPLE_16_SAMPLES = 16,
-
- D3DMULTISAMPLE_FORCE_DWORD = 0x7fffffff
-} D3DMULTISAMPLE_TYPE;
-
-typedef enum _D3DORDERTYPE {
- D3DORDER_LINEAR = 1,
- D3DORDER_QUADRATIC = 2,
- D3DORDER_CUBIC = 3,
- D3DORDER_QUINTIC = 5,
-
- D3DORDER_FORCE_DWORD = 0x7fffffff
-} D3DORDERTYPE;
-
-typedef enum _D3DPATCHEDGESTYLE {
- D3DPATCHEDGE_DISCRETE = 0,
- D3DPATCHEDGE_CONTINUOUS = 1,
-
- D3DPATCHEDGE_FORCE_DWORD = 0x7fffffff,
-} D3DPATCHEDGESTYLE;
-
-typedef enum _D3DPOOL {
- D3DPOOL_DEFAULT = 0,
- D3DPOOL_MANAGED = 1,
- D3DPOOL_SYSTEMMEM = 2,
- D3DPOOL_SCRATCH = 3,
-
- D3DPOOL_FORCE_DWORD = 0x7fffffff
-} D3DPOOL;
-
-typedef enum _D3DPRIMITIVETYPE {
- D3DPT_POINTLIST = 1,
- D3DPT_LINELIST = 2,
- D3DPT_LINESTRIP = 3,
- D3DPT_TRIANGLELIST = 4,
- D3DPT_TRIANGLESTRIP = 5,
- D3DPT_TRIANGLEFAN = 6,
-
- D3DPT_FORCE_DWORD = 0x7fffffff
-} D3DPRIMITIVETYPE;
-
-typedef enum _D3DRENDERSTATETYPE {
- D3DRS_ZENABLE = 7,
- D3DRS_FILLMODE = 8,
- D3DRS_SHADEMODE = 9,
- D3DRS_LINEPATTERN = 10,
- D3DRS_ZWRITEENABLE = 14,
- D3DRS_ALPHATESTENABLE = 15,
- D3DRS_LASTPIXEL = 16,
- D3DRS_SRCBLEND = 19,
- D3DRS_DESTBLEND = 20,
- D3DRS_CULLMODE = 22,
- D3DRS_ZFUNC = 23,
- D3DRS_ALPHAREF = 24,
- D3DRS_ALPHAFUNC = 25,
- D3DRS_DITHERENABLE = 26,
- D3DRS_ALPHABLENDENABLE = 27,
- D3DRS_FOGENABLE = 28,
- D3DRS_SPECULARENABLE = 29,
- D3DRS_ZVISIBLE = 30,
- D3DRS_FOGCOLOR = 34,
- D3DRS_FOGTABLEMODE = 35,
- D3DRS_FOGSTART = 36,
- D3DRS_FOGEND = 37,
- D3DRS_FOGDENSITY = 38,
- D3DRS_EDGEANTIALIAS = 40,
- D3DRS_ZBIAS = 47,
- D3DRS_RANGEFOGENABLE = 48,
- D3DRS_STENCILENABLE = 52,
- D3DRS_STENCILFAIL = 53,
- D3DRS_STENCILZFAIL = 54,
- D3DRS_STENCILPASS = 55,
- D3DRS_STENCILFUNC = 56,
- D3DRS_STENCILREF = 57,
- D3DRS_STENCILMASK = 58,
- D3DRS_STENCILWRITEMASK = 59,
- D3DRS_TEXTUREFACTOR = 60,
- D3DRS_WRAP0 = 128,
- D3DRS_WRAP1 = 129,
- D3DRS_WRAP2 = 130,
- D3DRS_WRAP3 = 131,
- D3DRS_WRAP4 = 132,
- D3DRS_WRAP5 = 133,
- D3DRS_WRAP6 = 134,
- D3DRS_WRAP7 = 135,
- D3DRS_CLIPPING = 136,
- D3DRS_LIGHTING = 137,
- D3DRS_AMBIENT = 139,
- D3DRS_FOGVERTEXMODE = 140,
- D3DRS_COLORVERTEX = 141,
- D3DRS_LOCALVIEWER = 142,
- D3DRS_NORMALIZENORMALS = 143,
- D3DRS_DIFFUSEMATERIALSOURCE = 145,
- D3DRS_SPECULARMATERIALSOURCE = 146,
- D3DRS_AMBIENTMATERIALSOURCE = 147,
- D3DRS_EMISSIVEMATERIALSOURCE = 148,
- D3DRS_VERTEXBLEND = 151,
- D3DRS_CLIPPLANEENABLE = 152,
- D3DRS_SOFTWAREVERTEXPROCESSING = 153,
- D3DRS_POINTSIZE = 154,
- D3DRS_POINTSIZE_MIN = 155,
- D3DRS_POINTSPRITEENABLE = 156,
- D3DRS_POINTSCALEENABLE = 157,
- D3DRS_POINTSCALE_A = 158,
- D3DRS_POINTSCALE_B = 159,
- D3DRS_POINTSCALE_C = 160,
- D3DRS_MULTISAMPLEANTIALIAS = 161,
- D3DRS_MULTISAMPLEMASK = 162,
- D3DRS_PATCHEDGESTYLE = 163,
- D3DRS_PATCHSEGMENTS = 164,
- D3DRS_DEBUGMONITORTOKEN = 165,
- D3DRS_POINTSIZE_MAX = 166,
- D3DRS_INDEXEDVERTEXBLENDENABLE = 167,
- D3DRS_COLORWRITEENABLE = 168,
- D3DRS_TWEENFACTOR = 170,
- D3DRS_BLENDOP = 171,
- D3DRS_POSITIONORDER = 172,
- D3DRS_NORMALORDER = 173,
-
- D3DRS_FORCE_DWORD = 0x7fffffff
-} D3DRENDERSTATETYPE;
-
-typedef enum _D3DRESOURCETYPE {
- D3DRTYPE_SURFACE = 1,
- D3DRTYPE_VOLUME = 2,
- D3DRTYPE_TEXTURE = 3,
- D3DRTYPE_VOLUMETEXTURE = 4,
- D3DRTYPE_CUBETEXTURE = 5,
- D3DRTYPE_VERTEXBUFFER = 6,
- D3DRTYPE_INDEXBUFFER = 7,
-
- D3DRTYPE_FORCE_DWORD = 0x7fffffff
-} D3DRESOURCETYPE;
-
-typedef enum _D3DSHADEMODE {
- D3DSHADE_FLAT = 1,
- D3DSHADE_GOURAUD = 2,
- D3DSHADE_PHONG = 3,
-
- D3DSHADE_FORCE_DWORD = 0x7fffffff
-} D3DSHADEMODE;
-
-typedef enum _D3DSTATEBLOCKTYPE {
- D3DSBT_ALL = 1,
- D3DSBT_PIXELSTATE = 2,
- D3DSBT_VERTEXSTATE = 3,
-
- D3DSBT_FORCE_DWORD = 0xffffffff
-} D3DSTATEBLOCKTYPE;
-
-typedef enum _D3DSTENCILOP {
- D3DSTENCILOP_KEEP = 1,
- D3DSTENCILOP_ZERO = 2,
- D3DSTENCILOP_REPLACE = 3,
- D3DSTENCILOP_INCRSAT = 4,
- D3DSTENCILOP_DECRSAT = 5,
- D3DSTENCILOP_INVERT = 6,
- D3DSTENCILOP_INCR = 7,
- D3DSTENCILOP_DECR = 8,
-
- D3DSTENCILOP_FORCE_DWORD = 0x7fffffff
-} D3DSTENCILOP;
-
-typedef enum _D3DSWAPEFFECT {
- D3DSWAPEFFECT_DISCARD = 1,
- D3DSWAPEFFECT_FLIP = 2,
- D3DSWAPEFFECT_COPY = 3,
- D3DSWAPEFFECT_COPY_VSYNC = 4,
-
- D3DSWAPEFFECT_FORCE_DWORD = 0xFFFFFFFF
-} D3DSWAPEFFECT;
-
-typedef enum _D3DTEXTUREADDRESS {
- D3DTADDRESS_WRAP = 1,
- D3DTADDRESS_MIRROR = 2,
- D3DTADDRESS_CLAMP = 3,
- D3DTADDRESS_BORDER = 4,
- D3DTADDRESS_MIRRORONCE = 5,
-
- D3DTADDRESS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREADDRESS;
-
-typedef enum _D3DTEXTUREFILTERTYPE {
- D3DTEXF_NONE = 0,
- D3DTEXF_POINT = 1,
- D3DTEXF_LINEAR = 2,
- D3DTEXF_ANISOTROPIC = 3,
- D3DTEXF_FLATCUBIC = 4,
- D3DTEXF_GAUSSIANCUBIC = 5,
-
- D3DTEXF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREFILTERTYPE;
-
-typedef enum _D3DTEXTUREOP {
- D3DTOP_DISABLE = 1,
- D3DTOP_SELECTARG1 = 2,
- D3DTOP_SELECTARG2 = 3,
- D3DTOP_MODULATE = 4,
- D3DTOP_MODULATE2X = 5,
- D3DTOP_MODULATE4X = 6,
- D3DTOP_ADD = 7,
- D3DTOP_ADDSIGNED = 8,
- D3DTOP_ADDSIGNED2X = 9,
- D3DTOP_SUBTRACT = 10,
- D3DTOP_ADDSMOOTH = 11,
- D3DTOP_BLENDDIFFUSEALPHA = 12,
- D3DTOP_BLENDTEXTUREALPHA = 13,
- D3DTOP_BLENDFACTORALPHA = 14,
- D3DTOP_BLENDTEXTUREALPHAPM = 15,
- D3DTOP_BLENDCURRENTALPHA = 16,
- D3DTOP_PREMODULATE = 17,
- D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
- D3DTOP_MODULATECOLOR_ADDALPHA = 19,
- D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
- D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
- D3DTOP_BUMPENVMAP = 22,
- D3DTOP_BUMPENVMAPLUMINANCE = 23,
- D3DTOP_DOTPRODUCT3 = 24,
- D3DTOP_MULTIPLYADD = 25,
- D3DTOP_LERP = 26,
-
- D3DTOP_FORCE_DWORD = 0x7fffffff,
-} D3DTEXTUREOP;
-
-typedef enum _D3DTEXTURESTAGESTATETYPE {
- D3DTSS_COLOROP = 1,
- D3DTSS_COLORARG1 = 2,
- D3DTSS_COLORARG2 = 3,
- D3DTSS_ALPHAOP = 4,
- D3DTSS_ALPHAARG1 = 5,
- D3DTSS_ALPHAARG2 = 6,
- D3DTSS_BUMPENVMAT00 = 7,
- D3DTSS_BUMPENVMAT01 = 8,
- D3DTSS_BUMPENVMAT10 = 9,
- D3DTSS_BUMPENVMAT11 = 10,
- D3DTSS_TEXCOORDINDEX = 11,
- D3DTSS_ADDRESSU = 13,
- D3DTSS_ADDRESSV = 14,
- D3DTSS_BORDERCOLOR = 15,
- D3DTSS_MAGFILTER = 16,
- D3DTSS_MINFILTER = 17,
- D3DTSS_MIPFILTER = 18,
- D3DTSS_MIPMAPLODBIAS = 19,
- D3DTSS_MAXMIPLEVEL = 20,
- D3DTSS_MAXANISOTROPY = 21,
- D3DTSS_BUMPENVLSCALE = 22,
- D3DTSS_BUMPENVLOFFSET = 23,
- D3DTSS_TEXTURETRANSFORMFLAGS = 24,
- D3DTSS_ADDRESSW = 25,
- D3DTSS_COLORARG0 = 26,
- D3DTSS_ALPHAARG0 = 27,
- D3DTSS_RESULTARG = 28,
-
- D3DTSS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURESTAGESTATETYPE;
-
-typedef enum _D3DTEXTURETRANSFORMFLAGS {
- D3DTTFF_DISABLE = 0,
- D3DTTFF_COUNT1 = 1,
- D3DTTFF_COUNT2 = 2,
- D3DTTFF_COUNT3 = 3,
- D3DTTFF_COUNT4 = 4,
- D3DTTFF_PROJECTED = 256,
-
- D3DTTFF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURETRANSFORMFLAGS;
-
-typedef enum _D3DTRANSFORMSTATETYPE {
- D3DTS_VIEW = 2,
- D3DTS_PROJECTION = 3,
- D3DTS_TEXTURE0 = 16,
- D3DTS_TEXTURE1 = 17,
- D3DTS_TEXTURE2 = 18,
- D3DTS_TEXTURE3 = 19,
- D3DTS_TEXTURE4 = 20,
- D3DTS_TEXTURE5 = 21,
- D3DTS_TEXTURE6 = 22,
- D3DTS_TEXTURE7 = 23,
-
- D3DTS_FORCE_DWORD = 0x7fffffff
-} D3DTRANSFORMSTATETYPE;
-
-typedef enum _D3DVERTEXBLENDFLAGS {
- D3DVBF_DISABLE = 0,
- D3DVBF_1WEIGHTS = 1,
- D3DVBF_2WEIGHTS = 2,
- D3DVBF_3WEIGHTS = 3,
- D3DVBF_TWEENING = 255,
- D3DVBF_0WEIGHTS = 256
-} D3DVERTEXBLENDFLAGS;
-
-typedef enum _D3DZBUFFERTYPE {
- D3DZB_FALSE = 0,
- D3DZB_TRUE = 1,
- D3DZB_USEW = 2,
-
- D3DZB_FORCE_DWORD = 0x7fffffff
-} D3DZBUFFERTYPE;
-
-
-/*****************************************************************************
- * Direct 3D v8 typedefs
- */
-typedef DWORD D3DCOLOR;
-
-/*****************************************************************************
- * Direct 3D v8 structures
- */
-typedef struct _D3DADAPTER_IDENTIFIER8 {
- char Driver[MAX_DEVICE_IDENTIFIER_STRING];
- char Description[MAX_DEVICE_IDENTIFIER_STRING];
-
- LARGE_INTEGER DriverVersion;
- DWORD VendorId;
- DWORD DeviceId;
- DWORD SubSysId;
- DWORD Revision;
-
- GUID DeviceIdentifier;
-
- DWORD WHQLLevel;
-} D3DADAPTER_IDENTIFIER8;
-
-typedef struct _D3DBOX {
- UINT Left;
- UINT Top;
- UINT Right;
- UINT Bottom;
- UINT Front;
- UINT Back;
-} D3DBOX;
-
-typedef struct _D3DCLIPSTATUS8 {
- DWORD ClipUnion;
- DWORD ClipIntersection;
-} D3DCLIPSTATUS8;
-
-typedef struct _D3DCOLORVALUE {
- float r;
- float g;
- float b;
- float a;
-} D3DCOLORVALUE;
-
-typedef struct _D3DDEVICE_CREATION_PARAMETERS {
- UINT AdapterOrdinal;
- D3DDEVTYPE DeviceType;
- HWND hFocusWindow;
- DWORD BehaviorFlags;
-} D3DDEVICE_CREATION_PARAMETERS;
-
-typedef struct _D3DDISPLAYMODE {
- UINT Width;
- UINT Height;
- UINT RefreshRate;
- D3DFORMAT Format;
-} D3DDISPLAYMODE;
-
-typedef struct _D3DGAMMARAMP {
- WORD red [256];
- WORD green[256];
- WORD blue [256];
-} D3DGAMMARAMP;
-
-typedef struct _D3DINDEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
-} D3DINDEXBUFFER_DESC;
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- float x;
- float y;
- float z;
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-
-typedef struct _D3DLIGHT8 {
- D3DLIGHTTYPE Type;
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Ambient;
- D3DVECTOR Position;
- D3DVECTOR Direction;
- float Range;
- float Falloff;
- float Attenuation0;
- float Attenuation1;
- float Attenuation2;
- float Theta;
- float Phi;
-} D3DLIGHT8;
-
-typedef struct _D3DLINEPATTERN {
- WORD wRepeatFactor;
- WORD wLinePattern;
-} D3DLINEPATTERN;
-
-typedef struct _D3DLOCKED_BOX {
- INT RowPitch;
- INT SlicePitch;
- void* pBits;
-} D3DLOCKED_BOX;
-
-typedef struct _D3DLOCKED_RECT {
- INT Pitch;
- void* pBits;
-} D3DLOCKED_RECT;
-
-typedef struct _D3DMATERIAL8 {
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Ambient;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Emissive;
- float Power;
-} D3DMATERIAL8;
-
-typedef struct _D3DMATRIX {
- union {
- struct {
- float _11, _12, _13, _14;
- float _21, _22, _23, _24;
- float _31, _32, _33, _34;
- float _41, _42, _43, _44;
- } DUMMYSTRUCTNAME;
- float m[4][4];
- } DUMMYUNIONNAME;
-} D3DMATRIX;
-
-typedef struct _D3DPRESENT_PARAMETERS_ {
- UINT BackBufferWidth;
- UINT BackBufferHeight;
- D3DFORMAT BackBufferFormat;
- UINT BackBufferCount;
-
- D3DMULTISAMPLE_TYPE MultiSampleType;
-
- D3DSWAPEFFECT SwapEffect;
- HWND hDeviceWindow;
- BOOL Windowed;
- BOOL EnableAutoDepthStencil;
- D3DFORMAT AutoDepthStencilFormat;
- DWORD Flags;
-
- UINT FullScreen_RefreshRateInHz;
- UINT FullScreen_PresentationInterval;
-
-} D3DPRESENT_PARAMETERS;
-
-#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001
-
-typedef struct _D3DRANGE {
- UINT Offset;
- UINT Size;
-} D3DRANGE;
-
-typedef struct _D3DRASTER_STATUS {
- BOOL InVBlank;
- UINT ScanLine;
-} D3DRASTER_STATUS;
-
-typedef struct _D3DRECT {
- LONG x1;
- LONG y1;
- LONG x2;
- LONG y2;
-} D3DRECT;
-
-typedef struct _D3DRECTPATCH_INFO {
- UINT StartVertexOffsetWidth;
- UINT StartVertexOffsetHeight;
- UINT Width;
- UINT Height;
- UINT Stride;
- D3DBASISTYPE Basis;
- D3DORDERTYPE Order;
-} D3DRECTPATCH_INFO;
-
-typedef struct _D3DSURFACE_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- D3DMULTISAMPLE_TYPE MultiSampleType;
- UINT Width;
- UINT Height;
-} D3DSURFACE_DESC;
-
-typedef struct _D3DTRIPATCH_INFO {
- UINT StartVertexOffset;
- UINT NumVertices;
- D3DBASISTYPE Basis;
- D3DORDERTYPE Order;
-} D3DTRIPATCH_INFO;
-
-typedef struct _D3DVERTEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- DWORD FVF;
-} D3DVERTEXBUFFER_DESC;
-
-typedef struct _D3DVIEWPORT8 {
- DWORD X;
- DWORD Y;
- DWORD Width;
- DWORD Height;
- float MinZ;
- float MaxZ;
-} D3DVIEWPORT8;
-
-typedef struct _D3DVOLUME_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- UINT Width;
- UINT Height;
- UINT Depth;
-} D3DVOLUME_DESC;
-
-#endif /* __WINE_D3D8TYPES_H */
+++ /dev/null
-/*
- * Copyright (C) 2002-2003 Jason Edmeades
- * Raphael Junqueira
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D9_H
-#define __WINE_D3D9_H
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0900
-#endif
-
-#include <stdlib.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-
-#ifndef __WINESRC__
-# include <windows.h>
-#endif
-
-#include <d3d9types.h>
-#include <d3d9caps.h>
-
-/*****************************************************************************
- * Behavior Flags for IDirect3D8::CreateDevice
- */
-#define D3DCREATE_FPU_PRESERVE 0x00000002L
-#define D3DCREATE_MULTITHREADED 0x00000004L
-#define D3DCREATE_PUREDEVICE 0x00000010L
-#define D3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020L
-#define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040L
-#define D3DCREATE_MIXED_VERTEXPROCESSING 0x00000080L
-#define D3DCREATE_DISABLE_DRIVER_MANAGEMENT 0x00000100L
-#define D3DCREATE_ADAPTERGROUP_DEVICE 0x00000200L
-
-/*****************************************************************************
- * Flags for SetPrivateData
- */
-#define D3DSPD_IUNKNOWN 0x00000001L
-
-
-/*****************************************************************************
- * #defines and error codes
- */
-#define D3D_SDK_VERSION 32
-#define D3DADAPTER_DEFAULT 0
-#define D3DENUM_NO_WHQL_LEVEL 0x00000002L
-#define D3DPRESENT_BACK_BUFFERS_MAX 3L
-#define D3DSGR_NO_CALIBRATION 0x00000000L
-#define D3DSGR_CALIBRATE 0x00000001L
-
-#define _FACD3D 0x876
-#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
-#define MAKE_D3DSTATUS( code ) MAKE_HRESULT( 0, _FACD3D, code )
-
-/*****************************************************************************
- * Direct3D Errors
- */
-#define D3D_OK S_OK
-#define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072)
-#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073)
-#define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074)
-#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075)
-#define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076)
-#define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077)
-#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078)
-#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
-#define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081)
-#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082)
-#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086)
-#define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087)
-#define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150)
-#define D3DERR_MOREDATA MAKE_D3DHRESULT(2151)
-#define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152)
-#define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153)
-#define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154)
-#define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380)
-#define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155)
-#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
-#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
-#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540)
-#define D3DOK_NOAUTOGEN MAKE_D3DSTATUS(2159)
-
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-DEFINE_GUID(IID_IDirect3D9, 0x81BDCBCA, 0x64D4, 0x426D, 0xAE, 0x8D, 0xAD, 0x1, 0x47, 0xF4, 0x27, 0x5C);
-typedef struct IDirect3D9 *LPDIRECT3D9, *PDIRECT3D9;
-
-DEFINE_GUID(IID_IDirect3D9Ex, 0x02177241, 0x69FC, 0x400C, 0x8F, 0xF1, 0x93, 0xA4, 0x4D, 0xF6, 0x86, 0x1D);
-typedef struct IDirect3D9Ex *LPDIRECT3D9EX, *PDIRECT3D9EX;
-
-DEFINE_GUID(IID_IDirect3DDevice9, 0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb);
-typedef struct IDirect3DDevice9 *LPDIRECT3DDEVICE9;
-
-DEFINE_GUID(IID_IDirect3DDevice9Ex, 0xb18b10ce, 0x2649, 0x405a, 0x87, 0xf, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a);
-typedef struct IDirect3DDevice9Ex *LPDIRECT3DDEVICE9EX, *PDIRECT3DDEVICE9EX;
-
-DEFINE_GUID(IID_IDirect3DResource9, 0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x4);
-typedef struct IDirect3DResource9 *LPDIRECT3DRESOURCE9, *PDIRECT3DRESOURCE9;
-
-DEFINE_GUID(IID_IDirect3DVertexBuffer9, 0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3);
-typedef struct IDirect3DVertexBuffer9 *LPDIRECT3DVERTEXBUFFER9, *PDIRECT3DVERTEXBUFFER9;
-
-DEFINE_GUID(IID_IDirect3DVolume9, 0x24f416e6, 0x1f67, 0x4aa7, 0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1);
-typedef struct IDirect3DVolume9 *LPDIRECT3DVOLUME9, *PDIRECT3DVOLUME9;
-
-DEFINE_GUID(IID_IDirect3DSwapChain9, 0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b);
-typedef struct IDirect3DSwapChain9 *LPDIRECT3DSWAPCHAIN9, *PDIRECT3DSWAPCHAIN9;
-
-DEFINE_GUID(IID_IDirect3DSwapChain9Ex, 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x3);
-typedef struct IDirect3DSwapChain9Ex *LPDIRECT3DSWAPCHAIN9EX, *PDIRECT3DSWAPCHAIN9EX;
-
-DEFINE_GUID(IID_IDirect3DSurface9, 0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b);
-typedef struct IDirect3DSurface9 *LPDIRECT3DSURFACE9, *PDIRECT3DSURFACE9;
-
-DEFINE_GUID(IID_IDirect3DIndexBuffer9, 0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35);
-typedef struct IDirect3DIndexBuffer9 *LPDIRECT3DINDEXBUFFER9, *PDIRECT3DINDEXBUFFER9;
-
-DEFINE_GUID(IID_IDirect3DBaseTexture9, 0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce);
-typedef struct IDirect3DBaseTexture9 *LPDIRECT3DBASETEXTURE9, *PDIRECT3DBASETEXTURE9;
-
-DEFINE_GUID(IID_IDirect3DTexture9, 0x85c31227, 0x3de5, 0x4f00, 0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5);
-typedef struct IDirect3DTexture9 *LPDIRECT3DTEXTURE9, *PDIRECT3DTEXTURE9;
-
-DEFINE_GUID(IID_IDirect3DCubeTexture9, 0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f);
-typedef struct IDirect3DCubeTexture9 *LPDIRECT3DCUBETEXTURE9, *PDIRECT3DCUBETEXTURE9;
-
-DEFINE_GUID(IID_IDirect3DVolumeTexture9, 0x2518526c, 0xe789, 0x4111, 0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6);
-typedef struct IDirect3DVolumeTexture9 *LPDIRECT3DVOLUMETEXTURE9, *PDIRECT3DVOLUMETEXTURE9;
-
-DEFINE_GUID(IID_IDirect3DVertexDeclaration9, 0xdd13c59c, 0x36fa, 0x4098, 0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46);
-typedef struct IDirect3DVertexDeclaration9 *LPDIRECT3DVERTEXDECLARATION9;
-
-DEFINE_GUID(IID_IDirect3DVertexShader9, 0xefc5557e, 0x6265, 0x4613, 0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36);
-typedef struct IDirect3DVertexShader9 *LPDIRECT3DVERTEXSHADER9;
-
-DEFINE_GUID(IID_IDirect3DPixelShader9, 0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89);
-typedef struct IDirect3DPixelShader9 *LPDIRECT3DPIXELSHADER9;
-
-DEFINE_GUID(IID_IDirect3DStateBlock9, 0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, 0x3c, 0x4f, 0xf, 0x20, 0x6f, 0x21, 0x8b);
-typedef struct IDirect3DStateBlock9 *LPDIRECT3DSTATEBLOCK9;
-
-DEFINE_GUID(IID_IDirect3DQuery9, 0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc);
-typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9;
-
-/*****************************************************************************
- * IDirect3D9 interface
- */
-#undef INTERFACE
-#define INTERFACE IDirect3D9
-DECLARE_INTERFACE_(IDirect3D9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D9 methods ***/
- STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
- STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
- STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;
- STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE;
- STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter, D3DDEVTYPE DevType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed) PURE;
- STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE;
- STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels) PURE;
- STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
- STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps) PURE;
- STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
- STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, struct IDirect3DDevice9** ppReturnedDeviceInterface) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D9 methods ***/
-#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
-#define IDirect3D9_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
-#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
-#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b)
-#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
-#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
-#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
-#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
-#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
-#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
-#define IDirect3D9_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
-#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D9_AddRef(p) (p)->AddRef()
-#define IDirect3D9_Release(p) (p)->Release()
-/*** IDirect3D9 methods ***/
-#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
-#define IDirect3D9_GetAdapterCount(p) (p)->GetAdapterCount()
-#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
-#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->GetAdapterModeCount(a,b)
-#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->EnumAdapterModes(a,b,c,d)
-#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
-#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
-#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
-#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->CheckDeviceFormatConversion(a,b,c,d)
-#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
-#define IDirect3D9_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
-#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
-#endif
-
-/*****************************************************************************
- * IDirect3D9Ex interface
- */
-#define INTERFACE IDirect3D9Ex
-DECLARE_INTERFACE_(IDirect3D9Ex,IDirect3D9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3D9 methods ***/
-
- /* Note: Microsoft's d3d9.h does not declare IDirect3D9Ex::RegisterSoftwareDevice . This would mean that
- * the offsets of the other methods in the Vtable change too. This is wrong. In Microsoft's
- * d3d9.dll, the offsets for the other functions are still compatible with IDirect3D9.
- * This is probably because even in MS's header IDirect3D9Ex inherits from IDirect3D9, which makes the
- * C++ inferface compatible, and nobody uses the C interface in Windows world.
- */
- STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
-
- STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
- STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;
- STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE;
- STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter, D3DDEVTYPE DevType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed) PURE;
- STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE;
- STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels) PURE;
- STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
- STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps) PURE;
- STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
- STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, struct IDirect3DDevice9** ppReturnedDeviceInterface) PURE;
- /*** IDirect3D9Ex methods ***/
- STDMETHOD_(UINT, GetAdapterModeCountEx)(THIS_ UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter) PURE;
- STDMETHOD(EnumAdapterModesEx)(THIS_ UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter, UINT Mode, D3DDISPLAYMODEEX* pMode) PURE;
- STDMETHOD(GetAdapterDisplayModeEx)(THIS_ UINT Adapter, D3DDISPLAYMODEEX *pMode, D3DDISPLAYROTATION *pRotation);
- STDMETHOD(CreateDeviceEx)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX* pFullscreenDisplayMode, struct IDirect3DDevice9Ex **ppReturnedDeviceInterface) PURE;
- STDMETHOD(GetAdapterLUID)(THIS_ UINT Adatper, LUID *pLUID) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3D9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D9Ex_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D9Ex_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3D9 methods ***/
-#define IDirect3D9Ex_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
-#define IDirect3D9Ex_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
-#define IDirect3D9Ex_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
-#define IDirect3D9Ex_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b)
-#define IDirect3D9Ex_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
-#define IDirect3D9Ex_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
-#define IDirect3D9Ex_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
-#define IDirect3D9Ex_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
-#define IDirect3D9Ex_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
-#define IDirect3D9Ex_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
-#define IDirect3D9Ex_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
-#define IDirect3D9Ex_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
-#define IDirect3D9Ex_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
-#define IDirect3D9Ex_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
-/*** IDirect3D9Ex methods ***/
-#define IDirect3D9Ex_GetAdapterModeCountEx(p,a,b) (p)->lpVtbl->GetAdapterModeCountEx(p,a,b)
-#define IDirect3D9Ex_EnumAdapterModesEx(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModesEx(p,a,b,c,d)
-#define IDirect3D9Ex_GetAdapterDisplayModeEx(p,a,b,c) (p)->lpVtbl->GetAdapterDisplayModeEx(p,a,b,c)
-#define IDirect3D9Ex_CreateDeviceEx(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateDeviceEx(p,a,b,c,d,e,f,g)
-#define IDirect3D9Ex_GetAdapterLUID(p,a,b) (p)->lpVtbl->GetAdapterLUID(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3D9Ex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D9Ex_AddRef(p) (p)->AddRef()
-#define IDirect3D9Ex_Release(p) (p)->Release()
-/*** IDirect3D9 methods ***/
-#define IDirect3D9Ex_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
-#define IDirect3D9Ex_GetAdapterCount(p) (p)->GetAdapterCount()
-#define IDirect3D9Ex_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
-#define IDirect3D9Ex_GetAdapterModeCount(p,a,b) (p)->GetAdapterModeCount(a,b)
-#define IDirect3D9Ex_EnumAdapterModes(p,a,b,c,d) (p)->EnumAdapterModes(a,b,c,d)
-#define IDirect3D9Ex_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
-#define IDirect3D9Ex_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
-#define IDirect3D9Ex_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
-#define IDirect3D9Ex_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
-#define IDirect3D9Ex_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
-#define IDirect3D9Ex_CheckDeviceFormatConversion(p,a,b,c,d) (p)->CheckDeviceFormatConversion(a,b,c,d)
-#define IDirect3D9Ex_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
-#define IDirect3D9Ex_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
-#define IDirect3D9Ex_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
-#endif
-
-/*****************************************************************************
- * IDirect3DVolume9 interface
- */
-#define INTERFACE IDirect3DVolume9
-DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVolume9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC* pDesc) PURE;
- STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolume9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolume9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVolume9 methods ***/
-#define IDirect3DVolume9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolume9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolume9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DVolume9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
-#define IDirect3DVolume9_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolume9_AddRef(p) (p)->AddRef()
-#define IDirect3DVolume9_Release(p) (p)->Release()
-/*** IDirect3DVolume9 methods ***/
-#define IDirect3DVolume9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolume9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolume9_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DVolume9_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->LockBox(a,b,c)
-#define IDirect3DVolume9_UnlockBox(p) (p)->UnlockBox()
-#endif
-
-/*****************************************************************************
- * IDirect3DSwapChain9 interface
- */
-#define INTERFACE IDirect3DSwapChain9
-DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DSwapChain9 methods ***/
- STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion, DWORD dwFlags) PURE;
- STDMETHOD(GetFrontBufferData)(THIS_ struct IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface9** ppBackBuffer) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS* pRasterStatus) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSwapChain9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSwapChain9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DSwapChain9 methods ***/
-#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->lpVtbl->Present(p,a,b,c,d,e)
-#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->lpVtbl->GetFrontBufferData(p,a)
-#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
-#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
-#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
-#define IDirect3DSwapChain9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->lpVtbl->GetPresentParameters(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSwapChain9_AddRef(p) (p)->AddRef()
-#define IDirect3DSwapChain9_Release(p) (p)->Release()
-/*** IDirect3DSwapChain9 methods ***/
-#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->Present(a,b,c,d,e)
-#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->GetFrontBufferData(a)
-#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
-#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
-#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
-#define IDirect3DSwapChain9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->GetPresentParameters(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DResource9 interface
- */
-#define INTERFACE IDirect3DResource9
-DECLARE_INTERFACE_(IDirect3DResource9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DResource9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DResource9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DResource9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DResource9 methods ***/
-#define IDirect3DResource9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DResource9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DResource9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DResource9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DResource9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DResource9_GetType(p) (p)->lpVtbl->GetType(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DResource9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DResource9_AddRef(p) (p)->AddRef()
-#define IDirect3DResource9_Release(p) (p)->Release()
-/*** IDirect3DResource9 methods ***/
-#define IDirect3DResource9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DResource9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DResource9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DResource9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DResource9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DResource9_GetType(p) (p)->GetType()
-#endif
-
-/*****************************************************************************
- * IDirect3DSurface9 interface
- */
-#define INTERFACE IDirect3DSurface9
-DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DSurface9 methods ***/
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC* pDesc) PURE;
- STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS) PURE;
- STDMETHOD(GetDC)(THIS_ HDC* phdc) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC hdc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSurface9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSurface9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DSurface9 methods: IDirect3DResource9 ***/
-#define IDirect3DSurface9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DSurface9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DSurface9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DSurface9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DSurface9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DSurface9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DSurface9 methods ***/
-#define IDirect3DSurface9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DSurface9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
-#define IDirect3DSurface9_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
-#define IDirect3DSurface9_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirect3DSurface9_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSurface9_AddRef(p) (p)->AddRef()
-#define IDirect3DSurface9_Release(p) (p)->Release()
-/*** IDirect3DSurface9 methods: IDirect3DResource9 ***/
-#define IDirect3DSurface9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DSurface9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DSurface9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DSurface9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DSurface9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DSurface9_GetType(p) (p)->GetType()
-/*** IDirect3DSurface9 methods ***/
-#define IDirect3DSurface9_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DSurface9_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->LockRect(a,b,c)
-#define IDirect3DSurface9_UnlockRect(p) (p)->UnlockRect()
-#define IDirect3DSurface9_GetDC(p,a) (p)->GetDC(a)
-#define IDirect3DSurface9_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexBuffer9 interface
- */
-#define INTERFACE IDirect3DVertexBuffer9
-DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DVertexBuffer9 methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC* pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexBuffer9 methods: IDirect3DResource9 ***/
-#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVertexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVertexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVertexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DVertexBuffer9 methods ***/
-#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DVertexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer9_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer9_Release(p) (p)->Release()
-/*** IDirect3DVertexBuffer9 methods: IDirect3DResource9 ***/
-#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVertexBuffer9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVertexBuffer9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVertexBuffer9_GetType(p) (p)->GetType()
-/*** IDirect3DVertexBuffer9 methods ***/
-#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DVertexBuffer9_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DIndexBuffer9 interface
- */
-#define INTERFACE IDirect3DIndexBuffer9
-DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DIndexBuffer9 methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC* pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DIndexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DIndexBuffer9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DIndexBuffer9 methods: IDirect3DResource9 ***/
-#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DIndexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DIndexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DIndexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DIndexBuffer9 methods ***/
-#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DIndexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DIndexBuffer9_AddRef(p) (p)->AddRef()
-#define IDirect3DIndexBuffer9_Release(p) (p)->Release()
-/*** IDirect3DIndexBuffer9 methods: IDirect3DResource9 ***/
-#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DIndexBuffer9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DIndexBuffer9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DIndexBuffer9_GetType(p) (p)->GetType()
-/*** IDirect3DIndexBuffer9 methods ***/
-#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DIndexBuffer9_Unlock(p) (p)->Unlock()
-#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DBaseTexture9 interface
- */
-#define INTERFACE IDirect3DBaseTexture9
-DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture9 methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DBaseTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DBaseTexture9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DBaseTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DBaseTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DBaseTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DBaseTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DBaseTexture9 methods ***/
-#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DBaseTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DBaseTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DBaseTexture9_Release(p) (p)->Release()
-/*** IDirect3DBaseTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DBaseTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DBaseTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DBaseTexture9_GetType(p) (p)->GetType()
-/*** IDirect3DBaseTexture9 methods ***/
-#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DBaseTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-#endif
-
-/*****************************************************************************
- * IDirect3DCubeTexture9 interface
- */
-#define INTERFACE IDirect3DCubeTexture9
-DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture9 methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- /*** IDirect3DCubeTexture9 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC* pDesc) PURE;
- STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface) PURE;
- STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType, CONST RECT* pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DCubeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DCubeTexture9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DCubeTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DCubeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DCubeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DCubeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DCubeTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DCubeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-/*** IDirect3DCubeTexture9 methods ***/
-#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
-#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
-#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
-#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DCubeTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DCubeTexture9_Release(p) (p)->Release()
-/*** IDirect3DCubeTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DCubeTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DCubeTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DCubeTexture9_GetType(p) (p)->GetType()
-/*** IDirect3DCubeTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DCubeTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-/*** IDirect3DCubeTexture9 methods ***/
-#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c)
-#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e)
-#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->UnlockRect(a,b)
-#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DTexture9 interface
- */
-#define INTERFACE IDirect3DTexture9
-DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture9 methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- /*** IDirect3DTexture9 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DSURFACE_DESC* pDesc) PURE;
- STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level, IDirect3DSurface9** ppSurfaceLevel) PURE;
- STDMETHOD(LockRect)(THIS_ UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-/*** IDirect3DTexture9 methods ***/
-#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b)
-#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d)
-#define IDirect3DTexture9_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a)
-#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture9_Release(p) (p)->Release()
-/*** IDirect3DTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DTexture9_GetType(p) (p)->GetType()
-/*** IDirect3DTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-/*** IDirect3DTexture9 methods ***/
-#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b)
-#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d)
-#define IDirect3DTexture9_UnlockRect(p,a) (p)->UnlockRect(a)
-#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->AddDirtyRect(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DVolumeTexture9 interface
- */
-#define INTERFACE IDirect3DVolumeTexture9
-DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DResource9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
- STDMETHOD_(void, PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IDirect3DBaseTexture9 methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- /*** IDirect3DVolumeTexture9 methods ***/
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DVOLUME_DESC *pDesc) PURE;
- STDMETHOD(GetVolumeLevel)(THIS_ UINT Level, IDirect3DVolume9** ppVolumeLevel) PURE;
- STDMETHOD(LockBox)(THIS_ UINT Level, D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX* pDirtyBox) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolumeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolumeTexture9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVolumeTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVolumeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVolumeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVolumeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IDirect3DVolumeTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DVolumeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-/*** IDirect3DVolumeTexture9 methods ***/
-#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
-#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
-#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
-#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolumeTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DVolumeTexture9_Release(p) (p)->Release()
-/*** IDirect3DVolumeTexture9 methods: IDirect3DResource9 ***/
-#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVolumeTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVolumeTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVolumeTexture9_GetType(p) (p)->GetType()
-/*** IDirect3DVolumeTexture9 methods: IDirect3DBaseTexture9 ***/
-#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DVolumeTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-/*** IDirect3DVolumeTexture9 methods ***/
-#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
-#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
-#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->UnlockBox(a)
-#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexDeclaration9 interface
- */
-#define INTERFACE IDirect3DVertexDeclaration9
-DECLARE_INTERFACE_(IDirect3DVertexDeclaration9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVertexDeclaration9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9*, UINT* pNumElements) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexDeclaration9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexDeclaration9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexShader9 methods ***/
-#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->lpVtbl->GetDeclaration(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexDeclaration9_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexDeclaration9_Release(p) (p)->Release()
-/*** IDirect3DVertexShader9 methods ***/
-#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->GetDeclaration(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DVertexShader9 interface
- */
-#define INTERFACE IDirect3DVertexShader9
-DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DVertexShader9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(GetFunction)(THIS_ void*, UINT* pSizeOfData) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexShader9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DVertexShader9 methods ***/
-#define IDirect3DVertexShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexShader9_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexShader9_Release(p) (p)->Release()
-/*** IDirect3DVertexShader9 methods ***/
-#define IDirect3DVertexShader9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DPixelShader9 interface
- */
-#define INTERFACE IDirect3DPixelShader9
-DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DPixelShader9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(GetFunction)(THIS_ void*, UINT* pSizeOfData) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DPixelShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DPixelShader9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DPixelShader9 methods ***/
-#define IDirect3DPixelShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DPixelShader9_AddRef(p) (p)->AddRef()
-#define IDirect3DPixelShader9_Release(p) (p)->Release()
-/*** IDirect3DPixelShader9 methods ***/
-#define IDirect3DPixelShader9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DStateBlock9 interface
- */
-#define INTERFACE IDirect3DStateBlock9
-DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DStateBlock9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD(Capture)(THIS) PURE;
- STDMETHOD(Apply)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DStateBlock9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DStateBlock9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DStateBlock9 methods ***/
-#define IDirect3DStateBlock9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DStateBlock9_Capture(p) (p)->lpVtbl->Capture(p)
-#define IDirect3DStateBlock9_Apply(p) (p)->lpVtbl->Apply(p)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DStateBlock9_AddRef(p) (p)->AddRef()
-#define IDirect3DStateBlock9_Release(p) (p)->Release()
-/*** IDirect3DStateBlock9 methods ***/
-#define IDirect3DStateBlock9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DStateBlock9_Capture(p) (p)->Capture()
-#define IDirect3DStateBlock9_Apply(p) (p)->Apply()
-#endif
-
-/*****************************************************************************
- * IDirect3DQuery9 interface
- */
-#define INTERFACE IDirect3DQuery9
-DECLARE_INTERFACE_(IDirect3DQuery9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DQuery9 methods ***/
- STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
- STDMETHOD_(D3DQUERYTYPE, GetType)(THIS) PURE;
- STDMETHOD_(DWORD, GetDataSize)(THIS) PURE;
- STDMETHOD(Issue)(THIS_ DWORD dwIssueFlags) PURE;
- STDMETHOD(GetData)(THIS_ void* pData, DWORD dwSize, DWORD dwGetDataFlags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DQuery9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DQuery9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DQuery9 ***/
-#define IDirect3DQuery9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DQuery9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DQuery9_GetDataSize(p) (p)->lpVtbl->GetDataSize(p)
-#define IDirect3DQuery9_Issue(p,a) (p)->lpVtbl->Issue(p,a)
-#define IDirect3DQuery9_GetData(p,a,b,c) (p)->lpVtbl->GetData(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DQuery9_AddRef(p) (p)->AddRef()
-#define IDirect3DQuery9_Release(p) (p)->Release()
-/*** IDirect3DQuery9 ***/
-#define IDirect3DQuery9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DQuery9_GetType(p) (p)->GetType()
-#define IDirect3DQuery9_GetDataSize(p) (p)->GetDataSize()
-#define IDirect3DQuery9_Issue(p,a) (p)->Issue(a)
-#define IDirect3DQuery9_GetData(p,a,b,c) (p)->GetData(a,b,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DDevice9 interface
- */
-#define INTERFACE IDirect3DDevice9
-DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice9 methods ***/
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
- STDMETHOD(EvictManagedResources)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ IDirect3D9** ppD3D9) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9* pCaps) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
- STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap) PURE;
- STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y, DWORD Flags) PURE;
- STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE;
- STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain) PURE;
- STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE;
- STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
- STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE;
- STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
- STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp) PURE;
- STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE;
- STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint) PURE;
- STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE;
- STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter) PURE;
- STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color) PURE;
- STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE;
- STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9* pNewZStencil) PURE;
- STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(Clear)(THIS_ DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE, CONST D3DMATRIX*) PURE;
- STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE;
- STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE;
- STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9*) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD Index, CONST float* pPlane) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD* pValue) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE;
- STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value) PURE;
- STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE;
- STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
- STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
- STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE;
- STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
- STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
- STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
- STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE;
- STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
- STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
- STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
- STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE;
- STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
- STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE;
- STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl) PURE;
- STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE;
- STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE;
- STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
- STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE;
- STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) PURE;
- STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE;
- STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE;
- STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE;
- STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT Divider) PURE;
- STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
- STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE;
- STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE;
- STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader) PURE;
- STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE;
- STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
- STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
- STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
- STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice9_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice9 methods ***/
-#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
-#define IDirect3DDevice9_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
-#define IDirect3DDevice9_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
-#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b)
-#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
-#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
-#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
-#define IDirect3DDevice9_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
-#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
-#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b)
-#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p)
-#define IDirect3DDevice9_Reset(p,a) (p)->lpVtbl->Reset(p,a)
-#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
-#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
-#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b)
-#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a)
-#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c)
-#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b)
-#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
-#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
-#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->lpVtbl->GetRenderTargetData(p,a,b)
-#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b)
-#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
-#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c)
-#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b)
-#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a)
-#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
-#define IDirect3DDevice9_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice9_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice9_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice9_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice9_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice9_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice9_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice9_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice9_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice9_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice9_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice9_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice9_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice9_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice9_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice9_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c)
-#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c)
-#define IDirect3DDevice9_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
-#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
-#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a)
-#define IDirect3DDevice9_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a)
-#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
-#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p)
-#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a)
-#define IDirect3DDevice9_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p)
-#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
-#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
-#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
-#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a)
-#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a)
-#define IDirect3DDevice9_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a)
-#define IDirect3DDevice9_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a)
-#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->lpVtbl->CreateVertexShader(p,a,b)
-#define IDirect3DDevice9_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
-#define IDirect3DDevice9_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
-#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
-#define IDirect3DDevice9_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
-#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
-#define IDirect3DDevice9_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
-#define IDirect3DDevice9_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
-#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
-#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
-#define IDirect3DDevice9_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
-#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->lpVtbl->CreateQuery(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice9_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice9_Release(p) (p)->Release()
-/*** IDirect3DDevice9 methods ***/
-#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
-#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
-#define IDirect3DDevice9_EvictManagedResources(p) (p)->EvictManagedResources()
-#define IDirect3DDevice9_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
-#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->GetDisplayMode(a,b)
-#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
-#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
-#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
-#define IDirect3DDevice9_ShowCursor(p,a) (p)->ShowCursor(a)
-#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
-#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->GetSwapChain(a,b)
-#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->GetNumberOfSwapChains()
-#define IDirect3DDevice9_Reset(p,a) (p)->Reset(a)
-#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
-#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->GetBackBuffer(a,b,c,d)
-#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->GetRasterStatus(a,b)
-#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->SetDialogBoxMode(a)
-#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->SetGammaRamp(a,b,c)
-#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->GetGammaRamp(a,b)
-#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->CreateTexture(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->CreateCubeTexture(a,b,c,d,e,f,g)
-#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->CreateVertexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->CreateIndexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->UpdateSurface(a,b,c,d)
-#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
-#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->GetRenderTargetData(a,b)
-#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->GetFrontBufferData(a,b)
-#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->StretchRect(a,b,c,d,e)
-#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->ColorFill(a,b,c)
-#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
-#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->GetRenderTarget(a,b)
-#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->SetDepthStencilSurface(a)
-#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
-#define IDirect3DDevice9_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice9_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice9_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice9_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice9_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice9_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice9_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice9_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice9_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice9_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice9_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice9_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice9_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice9_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice9_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice9_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice9_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->GetSamplerState(a,b,c)
-#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->SetSamplerState(a,b,c)
-#define IDirect3DDevice9_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
-#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
-#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
-#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
-#define IDirect3DDevice9_SetScissorRect(p,a) (p)->SetScissorRect(a)
-#define IDirect3DDevice9_GetScissorRect(p,a) (p)->GetScissorRect(a)
-#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->SetSoftwareVertexProcessing(a)
-#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->GetSoftwareVertexProcessing()
-#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->SetNPatchMode(a)
-#define IDirect3DDevice9_GetNPatchMode(p) (p)->GetNPatchMode()
-#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
-#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
-#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
-#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->ProcessVertices(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->CreateVertexDeclaration(a,b)
-#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->SetVertexDeclaration(a)
-#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->GetVertexDeclaration(a)
-#define IDirect3DDevice9_SetFVF(p,a) (p)->SetFVF(a)
-#define IDirect3DDevice9_GetFVF(p,a) (p)->GetFVF(a)
-#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->CreateVertexShader(a,b)
-#define IDirect3DDevice9_SetVertexShader(p,a) (p)->SetVertexShader(a)
-#define IDirect3DDevice9_GetVertexShader(p,a) (p)->GetVertexShader(a)
-#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->SetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->GetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->SetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->GetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->SetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->GetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->SetStreamSource(a,b,c,d)
-#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->GetStreamSource(a,b,c,d)
-#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->SetStreamSourceFreq(a,b)
-#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->GetStreamSourceFreq(a,b)
-#define IDirect3DDevice9_SetIndices(p,a) (p)->SetIndices(a)
-#define IDirect3DDevice9_GetIndices(p,a) (p)->GetIndices(a)
-#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
-#define IDirect3DDevice9_SetPixelShader(p,a) (p)->SetPixelShader(a)
-#define IDirect3DDevice9_GetPixelShader(p,a) (p)->GetPixelShader(a)
-#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->SetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->GetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->SetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->GetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->SetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->GetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
-#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
-#define IDirect3DDevice9_DeletePatch(p,a) (p)->DeletePatch(a)
-#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->CreateQuery(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirect3DDevice9Ex interface
- */
-#define INTERFACE IDirect3DDevice9Ex
-DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DDevice9 methods ***/
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
- STDMETHOD(EvictManagedResources)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ IDirect3D9** ppD3D9) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9* pCaps) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, D3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
- STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap) PURE;
- STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y, DWORD Flags) PURE;
- STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE;
- STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain) PURE;
- STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE;
- STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
- STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE;
- STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
- STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp) PURE;
- STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE;
- STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint) PURE;
- STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE;
- STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE;
- STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter) PURE;
- STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color) PURE;
- STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE;
- STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9* pNewZStencil) PURE;
- STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(Clear)(THIS_ DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE, CONST D3DMATRIX*) PURE;
- STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE;
- STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE;
- STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9*) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD Index, CONST float* pPlane) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD* pValue) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE;
- STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value) PURE;
- STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE;
- STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
- STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
- STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE;
- STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
- STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
- STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
- STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE;
- STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
- STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
- STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
- STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE;
- STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
- STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE;
- STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl) PURE;
- STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE;
- STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE;
- STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
- STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE;
- STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) PURE;
- STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE;
- STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE;
- STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE;
- STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT Divider) PURE;
- STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
- STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE;
- STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE;
- STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader) PURE;
- STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE;
- STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
- STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
- STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
- STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery) PURE;
- /* IDirect3DDevice9Ex methods */
- STDMETHOD(SetConvolutionMonoKernel)(THIS_ UINT width, UINT height, float *rows, float *columns) PURE;
- STDMETHOD(ComposeRects)(THIS_ IDirect3DSurface9 *src_surface, IDirect3DSurface9 *dst_surface,
- IDirect3DVertexBuffer9 *src_descs, UINT rect_count, IDirect3DVertexBuffer9 *dst_descs,
- D3DCOMPOSERECTSOP operation, INT offset_x, INT offset_y) PURE;
- STDMETHOD(PresentEx)(THIS_ CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion, DWORD dwFlags) PURE;
- STDMETHOD(GetGPUThreadPriority)(THIS_ INT *pPriority) PURE;
- STDMETHOD(SetGPUThreadPriority)(THIS_ INT Priority) PURE;
- STDMETHOD(WaitForVBlank)(THIS_ UINT iSwapChain) PURE;
- STDMETHOD(CheckResourceResidency)(THIS_ IDirect3DResource9 **resources, UINT32 resource_count) PURE;
- STDMETHOD(SetMaximumFrameLatency)(THIS_ UINT MaxLatency) PURE;
- STDMETHOD(GetMaximumFrameLatency)(THIS_ UINT *pMaxLatenxy) PURE;
- STDMETHOD(CheckDeviceState)(THIS_ HWND dst_window) PURE;
- STDMETHOD(CreateRenderTargetEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultiSampleQuality, BOOL Lockable, IDirect3DSurface9 ** ppSurface, HANDLE *pSharedHandle, DWORD Usage) PURE;
- STDMETHOD(CreateOffscreenPlainSurfaceEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9 **ppSurface, HANDLE *pSharedHandle, DWORD Usage) PURE;
- STDMETHOD(CreateDepthStencilSurfaceEx)(THIS_ UINT width, UINT height, D3DFORMAT format,
- D3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality, BOOL discard,
- IDirect3DSurface9 **surface, HANDLE *shared_handle, DWORD usage) PURE;
- STDMETHOD(ResetEx)(THIS_ D3DPRESENT_PARAMETERS *pPresentationParameters, D3DDISPLAYMODEEX *pFullscreenDisplayMode) PURE;
- STDMETHOD(GetDisplayModeEx)(THIS_ UINT iSwapChain, D3DDISPLAYMODEEX *pMode, D3DDISPLAYROTATION *pRotation) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DDevice9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice9Ex_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice9Ex_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DDevice9 methods ***/
-#define IDirect3DDevice9Ex_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirect3DDevice9Ex_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
-#define IDirect3DDevice9Ex_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
-#define IDirect3DDevice9Ex_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice9Ex_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
-#define IDirect3DDevice9Ex_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b)
-#define IDirect3DDevice9Ex_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
-#define IDirect3DDevice9Ex_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
-#define IDirect3DDevice9Ex_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
-#define IDirect3DDevice9Ex_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
-#define IDirect3DDevice9Ex_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
-#define IDirect3DDevice9Ex_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b)
-#define IDirect3DDevice9Ex_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p)
-#define IDirect3DDevice9Ex_Reset(p,a) (p)->lpVtbl->Reset(p,a)
-#define IDirect3DDevice9Ex_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
-#define IDirect3DDevice9Ex_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
-#define IDirect3DDevice9Ex_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b)
-#define IDirect3DDevice9Ex_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a)
-#define IDirect3DDevice9Ex_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c)
-#define IDirect3DDevice9Ex_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b)
-#define IDirect3DDevice9Ex_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice9Ex_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
-#define IDirect3DDevice9Ex_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
-#define IDirect3DDevice9Ex_GetRenderTargetData(p,a,b) (p)->lpVtbl->GetRenderTargetData(p,a,b)
-#define IDirect3DDevice9Ex_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b)
-#define IDirect3DDevice9Ex_StretchRect(p,a,b,c,d,e) (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
-#define IDirect3DDevice9Ex_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c)
-#define IDirect3DDevice9Ex_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice9Ex_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b)
-#define IDirect3DDevice9Ex_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a)
-#define IDirect3DDevice9Ex_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
-#define IDirect3DDevice9Ex_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice9Ex_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice9Ex_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice9Ex_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice9Ex_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice9Ex_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice9Ex_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice9Ex_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice9Ex_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice9Ex_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice9Ex_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice9Ex_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice9Ex_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice9Ex_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice9Ex_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice9Ex_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice9Ex_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice9Ex_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice9Ex_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice9Ex_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice9Ex_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice9Ex_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice9Ex_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice9Ex_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice9Ex_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9Ex_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9Ex_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c)
-#define IDirect3DDevice9Ex_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c)
-#define IDirect3DDevice9Ex_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice9Ex_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
-#define IDirect3DDevice9Ex_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
-#define IDirect3DDevice9Ex_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9Ex_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9Ex_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a)
-#define IDirect3DDevice9Ex_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a)
-#define IDirect3DDevice9Ex_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
-#define IDirect3DDevice9Ex_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p)
-#define IDirect3DDevice9Ex_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a)
-#define IDirect3DDevice9Ex_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p)
-#define IDirect3DDevice9Ex_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
-#define IDirect3DDevice9Ex_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
-#define IDirect3DDevice9Ex_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateVertexDeclaration(p,a,b) (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
-#define IDirect3DDevice9Ex_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a)
-#define IDirect3DDevice9Ex_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a)
-#define IDirect3DDevice9Ex_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a)
-#define IDirect3DDevice9Ex_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a)
-#define IDirect3DDevice9Ex_CreateVertexShader(p,a,b) (p)->lpVtbl->CreateVertexShader(p,a,b)
-#define IDirect3DDevice9Ex_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
-#define IDirect3DDevice9Ex_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9Ex_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9Ex_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9Ex_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9Ex_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9Ex_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
-#define IDirect3DDevice9Ex_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
-#define IDirect3DDevice9Ex_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
-#define IDirect3DDevice9Ex_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
-#define IDirect3DDevice9Ex_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9Ex_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
-#define IDirect3DDevice9Ex_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
-#define IDirect3DDevice9Ex_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
-#define IDirect3DDevice9Ex_CreateQuery(p,a,b) (p)->lpVtbl->CreateQuery(p,a,b)
-/* IDirect3DDevice9Ex */
-#define IDirect3DDevice9Ex_SetConvolutionMonoKernel(p,a,b,c,d) (p)->lpVtbl->SetConvolutionMonoKernel(p,a,b,c,d)
-#define IDirect3DDevice9Ex_ComposeRects(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ComposeRects(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_PresentEx(p,a,b,c,d,e) (p)->lpVtbl->PresentEx(p,a,b,c,d,e)
-#define IDirect3DDevice9Ex_GetGPUThreadPriority(p,a) (p)->lpVtbl->GetGPUThreadPriority(p,a)
-#define IDirect3DDevice9Ex_SetGPUThreadPriority(p,a) (p)->lpVtbl->SetGPUThreadPriority(p,a)
-#define IDirect3DDevice9Ex_WaitForVBlank(p,a) (p)->lpVtbl->WaitForVBlank(p,a)
-#define IDirect3DDevice9Ex_CheckResourceResidency(p,a,b) (p)->lpVtbl->CheckResourceResidency(p,a,b)
-#define IDirect3DDevice9Ex_SetMaximumFrameLatency(p,a) (p)->lpVtbl->SetMaximumFrameLatency(p,a)
-#define IDirect3DDevice9Ex_GetMaximumFrameLatency(p,a) (p)->lpVtbl->GetMaximumFrameLatency(p,a)
-#define IDirect3DDevice9Ex_CheckDeviceState(p,a) (p)->lpVtbl->CheckDeviceState(p,a)
-#define IDirect3DDevice9Ex_CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)(p)->lpVtbl->CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)(p)->lpVtbl->CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_ResetEx(p,a,b) (p)->lpVtbl->ResetEx(p,a,b)
-#define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c) (p)->lpVtbl->GetDisplayModeEx(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DDevice9Ex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice9Ex_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice9Ex_Release(p) (p)->Release()
-/*** IDirect3DDevice9 methods ***/
-#define IDirect3DDevice9Ex_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
-#define IDirect3DDevice9Ex_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
-#define IDirect3DDevice9Ex_EvictManagedResources(p) (p)->EvictManagedResources()
-#define IDirect3DDevice9Ex_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice9Ex_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
-#define IDirect3DDevice9Ex_GetDisplayMode(p,a,b) (p)->GetDisplayMode(a,b)
-#define IDirect3DDevice9Ex_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
-#define IDirect3DDevice9Ex_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
-#define IDirect3DDevice9Ex_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
-#define IDirect3DDevice9Ex_ShowCursor(p,a) (p)->ShowCursor(a)
-#define IDirect3DDevice9Ex_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
-#define IDirect3DDevice9Ex_GetSwapChain(p,a,b) (p)->GetSwapChain(a,b)
-#define IDirect3DDevice9Ex_GetNumberOfSwapChains(p) (p)->GetNumberOfSwapChains()
-#define IDirect3DDevice9Ex_Reset(p,a) (p)->Reset(a)
-#define IDirect3DDevice9Ex_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
-#define IDirect3DDevice9Ex_GetBackBuffer(p,a,b,c,d) (p)->GetBackBuffer(a,b,c,d)
-#define IDirect3DDevice9Ex_GetRasterStatus(p,a,b) (p)->GetRasterStatus(a,b)
-#define IDirect3DDevice9Ex_SetDialogBoxMode(p,a) (p)->SetDialogBoxMode(a)
-#define IDirect3DDevice9Ex_SetGammaRamp(p,a,b,c) (p)->SetGammaRamp(a,b,c)
-#define IDirect3DDevice9Ex_GetGammaRamp(p,a,b) (p)->GetGammaRamp(a,b)
-#define IDirect3DDevice9Ex_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->CreateTexture(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->CreateCubeTexture(a,b,c,d,e,f,g)
-#define IDirect3DDevice9Ex_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->CreateVertexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->CreateIndexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_UpdateSurface(p,a,b,c,d) (p)->UpdateSurface(a,b,c,d)
-#define IDirect3DDevice9Ex_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
-#define IDirect3DDevice9Ex_GetRenderTargetData(p,a,b) (p)->GetRenderTargetData(a,b)
-#define IDirect3DDevice9Ex_GetFrontBufferData(p,a,b) (p)->GetFrontBufferData(a,b)
-#define IDirect3DDevice9Ex_StretchRect(p,a,b,c,d,e) (p)->StretchRect(a,b,c,d,e)
-#define IDirect3DDevice9Ex_ColorFill(p,a,b,c) (p)->ColorFill(a,b,c)
-#define IDirect3DDevice9Ex_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice9Ex_GetRenderTarget(p,a,b) (p)->GetRenderTarget(a,b)
-#define IDirect3DDevice9Ex_SetDepthStencilSurface(p,a) (p)->SetDepthStencilSurface(a)
-#define IDirect3DDevice9Ex_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
-#define IDirect3DDevice9Ex_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice9Ex_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice9Ex_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice9Ex_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice9Ex_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice9Ex_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice9Ex_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice9Ex_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice9Ex_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice9Ex_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice9Ex_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice9Ex_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice9Ex_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice9Ex_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice9Ex_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice9Ex_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice9Ex_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice9Ex_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice9Ex_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice9Ex_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice9Ex_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice9Ex_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice9Ex_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice9Ex_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice9Ex_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice9Ex_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice9Ex_GetSamplerState(p,a,b,c) (p)->GetSamplerState(a,b,c)
-#define IDirect3DDevice9Ex_SetSamplerState(p,a,b,c) (p)->SetSamplerState(a,b,c)
-#define IDirect3DDevice9Ex_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice9Ex_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
-#define IDirect3DDevice9Ex_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
-#define IDirect3DDevice9Ex_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
-#define IDirect3DDevice9Ex_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
-#define IDirect3DDevice9Ex_SetScissorRect(p,a) (p)->SetScissorRect(a)
-#define IDirect3DDevice9Ex_GetScissorRect(p,a) (p)->GetScissorRect(a)
-#define IDirect3DDevice9Ex_SetSoftwareVertexProcessing(p,a) (p)->SetSoftwareVertexProcessing(a)
-#define IDirect3DDevice9Ex_GetSoftwareVertexProcessing(p) (p)->GetSoftwareVertexProcessing()
-#define IDirect3DDevice9Ex_SetNPatchMode(p,a) (p)->SetNPatchMode(a)
-#define IDirect3DDevice9Ex_GetNPatchMode(p) (p)->GetNPatchMode()
-#define IDirect3DDevice9Ex_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
-#define IDirect3DDevice9Ex_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
-#define IDirect3DDevice9Ex_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_ProcessVertices(p,a,b,c,d,e,f) (p)->ProcessVertices(a,b,c,d,e,f)
-#define IDirect3DDevice9Ex_CreateVertexDeclaration(p,a,b) (p)->CreateVertexDeclaration(a,b)
-#define IDirect3DDevice9Ex_SetVertexDeclaration(p,a) (p)->SetVertexDeclaration(a)
-#define IDirect3DDevice9Ex_GetVertexDeclaration(p,a) (p)->GetVertexDeclaration(a)
-#define IDirect3DDevice9Ex_SetFVF(p,a) (p)->SetFVF(a)
-#define IDirect3DDevice9Ex_GetFVF(p,a) (p)->GetFVF(a)
-#define IDirect3DDevice9Ex_CreateVertexShader(p,a,b) (p)->CreateVertexShader(a,b)
-#define IDirect3DDevice9Ex_SetVertexShader(p,a) (p)->SetVertexShader(a)
-#define IDirect3DDevice9Ex_GetVertexShader(p,a) (p)->GetVertexShader(a)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantF(p,a,b,c) (p)->SetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantF(p,a,b,c) (p)->GetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantI(p,a,b,c) (p)->SetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantI(p,a,b,c) (p)->GetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9Ex_SetVertexShaderConstantB(p,a,b,c) (p)->SetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9Ex_GetVertexShaderConstantB(p,a,b,c) (p)->GetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9Ex_SetStreamSource(p,a,b,c,d) (p)->SetStreamSource(a,b,c,d)
-#define IDirect3DDevice9Ex_GetStreamSource(p,a,b,c,d) (p)->GetStreamSource(a,b,c,d)
-#define IDirect3DDevice9Ex_SetStreamSourceFreq(p,a,b) (p)->SetStreamSourceFreq(a,b)
-#define IDirect3DDevice9Ex_GetStreamSourceFreq(p,a,b) (p)->GetStreamSourceFreq(a,b)
-#define IDirect3DDevice9Ex_SetIndices(p,a) (p)->SetIndices(a)
-#define IDirect3DDevice9Ex_GetIndices(p,a) (p)->GetIndices(a)
-#define IDirect3DDevice9Ex_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
-#define IDirect3DDevice9Ex_SetPixelShader(p,a) (p)->SetPixelShader(a)
-#define IDirect3DDevice9Ex_GetPixelShader(p,a) (p)->GetPixelShader(a)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantF(p,a,b,c) (p)->SetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantF(p,a,b,c) (p)->GetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantI(p,a,b,c) (p)->SetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantI(p,a,b,c) (p)->GetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9Ex_SetPixelShaderConstantB(p,a,b,c) (p)->SetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9Ex_GetPixelShaderConstantB(p,a,b,c) (p)->GetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9Ex_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
-#define IDirect3DDevice9Ex_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
-#define IDirect3DDevice9Ex_DeletePatch(p,a) (p)->DeletePatch(a)
-#define IDirect3DDevice9Ex_CreateQuery(p,a,b) (p)->CreateQuery(a,b)
-/* IDirect3DDevice9Ex */
-#define IDirect3DDevice9Ex_SetConvolutionMonoKernel(p,a,b,c,d) (p)->SetConvolutionMonoKernel(a,b,c,d)
-#define IDirect3DDevice9Ex_ComposeRects(p,a,b,c,d,e,f,g,h) (p)->ComposeRects(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9Ex_PresentEx(p,a,b,c,d,e) (p)->PresentEx(a,b,c,d,e)
-#define IDirect3DDevice9Ex_GetGPUThreadPriority(p,a) (p)->GetGPUThreadPriority(a)
-#define IDirect3DDevice9Ex_SetGPUThreadPriority(p,a) (p)->SetGPUThreadPriority(a)
-#define IDirect3DDevice9Ex_WaitForVBlank(p,a) (p)->WaitForVBlank(a)
-#define IDirect3DDevice9Ex_CheckResourceResidency(p,a,b) (p)->CheckResourceResidency(a,b)
-#define IDirect3DDevice9Ex_SetMaximumFrameLatency(p,a) (p)->SetMaximumFrameLatency(a)
-#define IDirect3DDevice9Ex_GetMaximumFrameLatency(p,a) (p)->GetMaximumFrameLatency(a)
-#define IDirect3DDevice9Ex_CheckDeviceState(p,a) (p)->CheckDeviceState(a)
-#define IDirect3DDevice9Ex_CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i) (p)->CreateRenderTargetEx(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)(p)->CreateOffscreenPlainSurfaceEx(a,b,c,d,e,f,g)
-#define IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)(p)->CreateDepthStencilSurfaceEx(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9Ex_ResetEx(p,a,b) (p)->ResetEx(a,b)
-#define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c) (p)->GetDisplayModeEx(a,b,c)
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
-
-int WINAPI D3DPERF_BeginEvent(D3DCOLOR,LPCWSTR);
-int WINAPI D3DPERF_EndEvent(void);
-DWORD WINAPI D3DPERF_GetStatus(void);
-BOOL WINAPI D3DPERF_QueryRepeatFrame(void);
-void WINAPI D3DPERF_SetMarker(D3DCOLOR,LPCWSTR);
-void WINAPI D3DPERF_SetOptions(DWORD);
-void WINAPI D3DPERF_SetRegion(D3DCOLOR,LPCWSTR);
-
-/* Define the main entrypoint as well */
-IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* defined(__cplusplus) */
-
-
-#endif /* __WINE_D3D9_H */
+++ /dev/null
-/*
- * Copyright (C) 2002-2003 Jason Edmeades
- * Raphael Junqueira
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D9CAPS_H
-#define __WINE_D3D9CAPS_H
-
-/*
- * Definitions
- */
-#define D3DCAPS_READ_SCANLINE 0x20000
-
-#define D3DCURSORCAPS_COLOR 1
-#define D3DCURSORCAPS_LOWRES 2
-
-
-#define D3DDEVCAPS2_STREAMOFFSET 0x00000001L
-#define D3DDEVCAPS2_DMAPNPATCH 0x00000002L
-#define D3DDEVCAPS2_ADAPTIVETESSRTPATCH 0x00000004L
-#define D3DDEVCAPS2_ADAPTIVETESSNPATCH 0x00000008L
-#define D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES 0x00000010L
-#define D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH 0x00000020L
-#define D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET 0x00000040L
-
-#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x0000010
-#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x0000020
-#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x0000040
-#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x0000080
-#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x0000100
-#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x0000200
-#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x0000400
-#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x0000800
-#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x0001000
-#define D3DDEVCAPS_DRAWPRIMITIVES2 0x0002000
-#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x0004000
-#define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x0008000
-#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x0010000
-#define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x0020000
-#define D3DDEVCAPS_HWRASTERIZATION 0x0080000
-#define D3DDEVCAPS_PUREDEVICE 0x0100000
-#define D3DDEVCAPS_QUINTICRTPATCHES 0x0200000
-#define D3DDEVCAPS_RTPATCHES 0x0400000
-#define D3DDEVCAPS_RTPATCHHANDLEZERO 0x0800000
-#define D3DDEVCAPS_NPATCHES 0x1000000
-
-#define D3DFVFCAPS_TEXCOORDCOUNTMASK 0x00FFFF
-#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x080000
-#define D3DFVFCAPS_PSIZE 0x100000
-
-#define D3DLINECAPS_TEXTURE 0x01
-#define D3DLINECAPS_ZTEST 0x02
-#define D3DLINECAPS_BLEND 0x04
-#define D3DLINECAPS_ALPHACMP 0x08
-#define D3DLINECAPS_FOG 0x10
-#define D3DLINECAPS_ANTIALIAS 0x20
-
-#define D3DPBLENDCAPS_ZERO 0x00000001
-#define D3DPBLENDCAPS_ONE 0x00000002
-#define D3DPBLENDCAPS_SRCCOLOR 0x00000004
-#define D3DPBLENDCAPS_INVSRCCOLOR 0x00000008
-#define D3DPBLENDCAPS_SRCALPHA 0x00000010
-#define D3DPBLENDCAPS_INVSRCALPHA 0x00000020
-#define D3DPBLENDCAPS_DESTALPHA 0x00000040
-#define D3DPBLENDCAPS_INVDESTALPHA 0x00000080
-#define D3DPBLENDCAPS_DESTCOLOR 0x00000100
-#define D3DPBLENDCAPS_INVDESTCOLOR 0x00000200
-#define D3DPBLENDCAPS_SRCALPHASAT 0x00000400
-#define D3DPBLENDCAPS_BOTHSRCALPHA 0x00000800
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
-#define D3DPBLENDCAPS_BLENDFACTOR 0x00002000
-
-#define D3DPCMPCAPS_NEVER 0x01
-#define D3DPCMPCAPS_LESS 0x02
-#define D3DPCMPCAPS_EQUAL 0x04
-#define D3DPCMPCAPS_LESSEQUAL 0x08
-#define D3DPCMPCAPS_GREATER 0x10
-#define D3DPCMPCAPS_NOTEQUAL 0x20
-#define D3DPCMPCAPS_GREATEREQUAL 0x40
-#define D3DPCMPCAPS_ALWAYS 0x80
-
-#define D3DPMISCCAPS_MASKZ 0x00000002L
-#define D3DPMISCCAPS_LINEPATTERNREP 0x00000004L
-#define D3DPMISCCAPS_CULLNONE 0x00000010L
-#define D3DPMISCCAPS_CULLCW 0x00000020L
-#define D3DPMISCCAPS_CULLCCW 0x00000040L
-#define D3DPMISCCAPS_COLORWRITEENABLE 0x00000080L
-#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS 0x00000100L
-#define D3DPMISCCAPS_CLIPTLVERTS 0x00000200L
-#define D3DPMISCCAPS_TSSARGTEMP 0x00000400L
-#define D3DPMISCCAPS_BLENDOP 0x00000800L
-#define D3DPMISCCAPS_NULLREFERENCE 0x00001000L
-#define D3DPMISCCAPS_INDEPENDENTWRITEMASKS 0x00004000L
-#define D3DPMISCCAPS_PERSTAGECONSTANT 0x00008000L
-#define D3DPMISCCAPS_FOGANDSPECULARALPHA 0x00010000L
-#define D3DPMISCCAPS_SEPARATEALPHABLEND 0x00020000L
-#define D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS 0x00040000L
-#define D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING 0x00080000L
-#define D3DPMISCCAPS_FOGVERTEXCLAMPED 0x00100000L
-
-
-#define D3DPRASTERCAPS_DITHER 0x00000001L
-#define D3DPRASTERCAPS_PAT 0x00000008L
-#define D3DPRASTERCAPS_ZTEST 0x00000010L
-#define D3DPRASTERCAPS_FOGVERTEX 0x00000080L
-#define D3DPRASTERCAPS_FOGTABLE 0x00000100L
-#define D3DPRASTERCAPS_ANTIALIASEDGES 0x00001000L
-#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000L
-#define D3DPRASTERCAPS_ZBIAS 0x00004000L
-#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000L
-#define D3DPRASTERCAPS_FOGRANGE 0x00010000L
-#define D3DPRASTERCAPS_ANISOTROPY 0x00020000L
-#define D3DPRASTERCAPS_WBUFFER 0x00040000L
-#define D3DPRASTERCAPS_WFOG 0x00100000L
-#define D3DPRASTERCAPS_ZFOG 0x00200000L
-#define D3DPRASTERCAPS_COLORPERSPECTIVE 0x00400000L
-#define D3DPRASTERCAPS_SCISSORTEST 0x01000000L
-#define D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS 0x02000000L
-#define D3DPRASTERCAPS_DEPTHBIAS 0x04000000L
-#define D3DPRASTERCAPS_MULTISAMPLE_TOGGLE 0x08000000L
-
-#define D3DPRESENT_INTERVAL_DEFAULT 0x00000000
-#define D3DPRESENT_INTERVAL_ONE 0x00000001
-#define D3DPRESENT_INTERVAL_TWO 0x00000002
-#define D3DPRESENT_INTERVAL_THREE 0x00000004
-#define D3DPRESENT_INTERVAL_FOUR 0x00000008
-#define D3DPRESENT_INTERVAL_IMMEDIATE 0x80000000
-
-#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00008
-#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00200
-#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x04000
-#define D3DPSHADECAPS_FOGGOURAUD 0x80000
-
-#define D3DPTADDRESSCAPS_WRAP 0x01
-#define D3DPTADDRESSCAPS_MIRROR 0x02
-#define D3DPTADDRESSCAPS_CLAMP 0x04
-#define D3DPTADDRESSCAPS_BORDER 0x08
-#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x10
-#define D3DPTADDRESSCAPS_MIRRORONCE 0x20
-
-#define D3DPTEXTURECAPS_PERSPECTIVE 0x00000001L
-#define D3DPTEXTURECAPS_POW2 0x00000002L
-#define D3DPTEXTURECAPS_ALPHA 0x00000004L
-#define D3DPTEXTURECAPS_SQUAREONLY 0x00000020L
-#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040L
-#define D3DPTEXTURECAPS_ALPHAPALETTE 0x00000080L
-#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100L
-#define D3DPTEXTURECAPS_PROJECTED 0x00000400L
-#define D3DPTEXTURECAPS_CUBEMAP 0x00000800L
-#define D3DPTEXTURECAPS_VOLUMEMAP 0x00002000L
-#define D3DPTEXTURECAPS_MIPMAP 0x00004000L
-#define D3DPTEXTURECAPS_MIPVOLUMEMAP 0x00008000L
-#define D3DPTEXTURECAPS_MIPCUBEMAP 0x00010000L
-#define D3DPTEXTURECAPS_CUBEMAP_POW2 0x00020000L
-#define D3DPTEXTURECAPS_VOLUMEMAP_POW2 0x00040000L
-#define D3DPTEXTURECAPS_NOPROJECTEDBUMPENV 0x00200000L
-
-#define D3DPTFILTERCAPS_MINFPOINT 0x00000100
-#define D3DPTFILTERCAPS_MINFLINEAR 0x00000200
-#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400
-#define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD 0x00000800
-#define D3DPTFILTERCAPS_MINFGAUSSIANQUAD 0x00001000
-#define D3DPTFILTERCAPS_MIPFPOINT 0x00010000
-#define D3DPTFILTERCAPS_MIPFLINEAR 0x00020000
-#define D3DPTFILTERCAPS_MAGFPOINT 0x01000000
-#define D3DPTFILTERCAPS_MAGFLINEAR 0x02000000
-#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000
-#define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD 0x08000000
-#define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD 0x10000000
-
-#define D3DSTENCILCAPS_KEEP 0x01
-#define D3DSTENCILCAPS_ZERO 0x02
-#define D3DSTENCILCAPS_REPLACE 0x04
-#define D3DSTENCILCAPS_INCRSAT 0x08
-#define D3DSTENCILCAPS_DECRSAT 0x10
-#define D3DSTENCILCAPS_INVERT 0x20
-#define D3DSTENCILCAPS_INCR 0x40
-#define D3DSTENCILCAPS_DECR 0x80
-#define D3DSTENCILCAPS_TWOSIDED 0x100
-
-#define D3DTEXOPCAPS_DISABLE 0x0000001
-#define D3DTEXOPCAPS_SELECTARG1 0x0000002
-#define D3DTEXOPCAPS_SELECTARG2 0x0000004
-#define D3DTEXOPCAPS_MODULATE 0x0000008
-#define D3DTEXOPCAPS_MODULATE2X 0x0000010
-#define D3DTEXOPCAPS_MODULATE4X 0x0000020
-#define D3DTEXOPCAPS_ADD 0x0000040
-#define D3DTEXOPCAPS_ADDSIGNED 0x0000080
-#define D3DTEXOPCAPS_ADDSIGNED2X 0x0000100
-#define D3DTEXOPCAPS_SUBTRACT 0x0000200
-#define D3DTEXOPCAPS_ADDSMOOTH 0x0000400
-#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x0000800
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x0001000
-#define D3DTEXOPCAPS_BLENDFACTORALPHA 0x0002000
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x0004000
-#define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x0008000
-#define D3DTEXOPCAPS_PREMODULATE 0x0010000
-#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x0020000
-#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x0040000
-#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x0080000
-#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x0100000
-#define D3DTEXOPCAPS_BUMPENVMAP 0x0200000
-#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x0400000
-#define D3DTEXOPCAPS_DOTPRODUCT3 0x0800000
-#define D3DTEXOPCAPS_MULTIPLYADD 0x1000000
-#define D3DTEXOPCAPS_LERP 0x2000000
-
-#define D3DVTXPCAPS_TEXGEN 0x00000001L
-#define D3DVTXPCAPS_MATERIALSOURCE7 0x00000002L
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008L
-#define D3DVTXPCAPS_POSITIONALLIGHTS 0x00000010L
-#define D3DVTXPCAPS_LOCALVIEWER 0x00000020L
-#define D3DVTXPCAPS_TWEENING 0x00000040L
-#define D3DVTXPCAPS_TEXGEN_SPHEREMAP 0x00000100L
-#define D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER 0x00000200L
-
-#define D3DDTCAPS_UBYTE4 0x00000001L
-#define D3DDTCAPS_UBYTE4N 0x00000002L
-#define D3DDTCAPS_SHORT2N 0x00000004L
-#define D3DDTCAPS_SHORT4N 0x00000008L
-#define D3DDTCAPS_USHORT2N 0x00000010L
-#define D3DDTCAPS_USHORT4N 0x00000020L
-#define D3DDTCAPS_UDEC3 0x00000040L
-#define D3DDTCAPS_DEC3N 0x00000080L
-#define D3DDTCAPS_FLOAT16_2 0x00000100L
-#define D3DDTCAPS_FLOAT16_4 0x00000200L
-
-#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x00000020L
-#define D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION 0x00000080L
-#define D3DCAPS3_COPY_TO_VIDMEM 0x00000100L
-#define D3DCAPS3_COPY_TO_SYSTEMMEM 0x00000200L
-#define D3DCAPS3_RESERVED 0x8000001FL
-
-#define D3DCAPS2_NO2DDURING3DSCENE 0x00000002L
-#define D3DCAPS2_FULLSCREENGAMMA 0x00020000L
-#define D3DCAPS2_CANRENDERWINDOWED 0x00080000L
-#define D3DCAPS2_CANCALIBRATEGAMMA 0x00100000L
-#define D3DCAPS2_RESERVED 0x02000000L
-#define D3DCAPS2_CANMANAGERESOURCE 0x10000000L
-#define D3DCAPS2_DYNAMICTEXTURES 0x20000000L
-#define D3DCAPS2_CANAUTOGENMIPMAP 0x40000000L
-
-
-#define D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
-#define D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
-#define D3DVS20_MAX_NUMTEMPS 32
-#define D3DVS20_MIN_NUMTEMPS 12
-#define D3DVS20_MAX_STATICFLOWCONTROLDEPTH 4
-#define D3DVS20_MIN_STATICFLOWCONTROLDEPTH 1
-
-#define D3DVS20CAPS_PREDICATION (1 << 0)
-
-#define D3DPS20CAPS_ARBITRARYSWIZZLE (1 << 0)
-#define D3DPS20CAPS_GRADIENTINSTRUCTIONS (1 << 1)
-#define D3DPS20CAPS_PREDICATION (1 << 2)
-#define D3DPS20CAPS_NODEPENDENTREADLIMIT (1 << 3)
-#define D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT (1 << 4)
-
-#define D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
-#define D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
-#define D3DPS20_MAX_NUMTEMPS 32
-#define D3DPS20_MIN_NUMTEMPS 12
-#define D3DPS20_MAX_STATICFLOWCONTROLDEPTH 4
-#define D3DPS20_MIN_STATICFLOWCONTROLDEPTH 0
-#define D3DPS20_MAX_NUMINSTRUCTIONSLOTS 512
-#define D3DPS20_MIN_NUMINSTRUCTIONSLOTS 96
-
-#define D3DMIN30SHADERINSTRUCTIONS 512
-#define D3DMAX30SHADERINSTRUCTIONS 32768
-
-
-typedef struct _D3DVSHADERCAPS2_0 {
- DWORD Caps;
- INT DynamicFlowControlDepth;
- INT NumTemps;
- INT StaticFlowControlDepth;
-} D3DVSHADERCAPS2_0;
-
-typedef struct _D3DPSHADERCAPS2_0 {
- DWORD Caps;
- INT DynamicFlowControlDepth;
- INT NumTemps;
- INT StaticFlowControlDepth;
- INT NumInstructionSlots;
-} D3DPSHADERCAPS2_0;
-
-/*
- * The d3dcaps9 structure
- */
-typedef struct _D3DCAPS9 {
- D3DDEVTYPE DeviceType;
- UINT AdapterOrdinal;
-
- DWORD Caps;
- DWORD Caps2;
- DWORD Caps3;
- DWORD PresentationIntervals;
-
- DWORD CursorCaps;
-
- DWORD DevCaps;
-
- DWORD PrimitiveMiscCaps;
- DWORD RasterCaps;
- DWORD ZCmpCaps;
- DWORD SrcBlendCaps;
- DWORD DestBlendCaps;
- DWORD AlphaCmpCaps;
- DWORD ShadeCaps;
- DWORD TextureCaps;
- DWORD TextureFilterCaps;
- DWORD CubeTextureFilterCaps;
- DWORD VolumeTextureFilterCaps;
- DWORD TextureAddressCaps;
- DWORD VolumeTextureAddressCaps;
-
- DWORD LineCaps;
-
- DWORD MaxTextureWidth, MaxTextureHeight;
- DWORD MaxVolumeExtent;
-
- DWORD MaxTextureRepeat;
- DWORD MaxTextureAspectRatio;
- DWORD MaxAnisotropy;
- float MaxVertexW;
-
- float GuardBandLeft;
- float GuardBandTop;
- float GuardBandRight;
- float GuardBandBottom;
-
- float ExtentsAdjust;
- DWORD StencilCaps;
-
- DWORD FVFCaps;
- DWORD TextureOpCaps;
- DWORD MaxTextureBlendStages;
- DWORD MaxSimultaneousTextures;
-
- DWORD VertexProcessingCaps;
- DWORD MaxActiveLights;
- DWORD MaxUserClipPlanes;
- DWORD MaxVertexBlendMatrices;
- DWORD MaxVertexBlendMatrixIndex;
-
- float MaxPointSize;
-
- DWORD MaxPrimitiveCount;
- DWORD MaxVertexIndex;
- DWORD MaxStreams;
- DWORD MaxStreamStride;
-
- DWORD VertexShaderVersion;
- DWORD MaxVertexShaderConst;
-
- DWORD PixelShaderVersion;
- float PixelShader1xMaxValue;
-
- /* DX 9 */
- DWORD DevCaps2;
-
- float MaxNpatchTessellationLevel;
- DWORD Reserved5;
-
- UINT MasterAdapterOrdinal;
- UINT AdapterOrdinalInGroup;
- UINT NumberOfAdaptersInGroup;
- DWORD DeclTypes;
- DWORD NumSimultaneousRTs;
- DWORD StretchRectFilterCaps;
- D3DVSHADERCAPS2_0 VS20Caps;
- D3DPSHADERCAPS2_0 PS20Caps;
- DWORD VertexTextureFilterCaps;
- DWORD MaxVShaderInstructionsExecuted;
- DWORD MaxPShaderInstructionsExecuted;
- DWORD MaxVertexShader30InstructionSlots;
- DWORD MaxPixelShader30InstructionSlots;
-
-} D3DCAPS9;
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2002-2003 Jason Edmeades
- * Copyright (C) 2002-2003 Raphael Junqueira
- * Copyright (C) 2005 Oliver Stieber
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3D9TYPES_H
-#define __WINE_D3D9TYPES_H
-
-#include <_mingw_dxhelper.h>
-
-/*****************************************************************************
- * Direct 3D v9 #defines
- */
-#ifndef D3DCLEAR_TARGET
-#define D3DCLEAR_TARGET 0x00000001L
-#endif
-#ifndef D3DCLEAR_ZBUFFER
-#define D3DCLEAR_ZBUFFER 0x00000002L
-#endif
-#ifndef D3DCLEAR_STENCIL
-#define D3DCLEAR_STENCIL 0x00000004L
-#endif
-
-#define D3DCLIPPLANE0 (1 << 0)
-#define D3DCLIPPLANE1 (1 << 1)
-#define D3DCLIPPLANE2 (1 << 2)
-#define D3DCLIPPLANE3 (1 << 3)
-#define D3DCLIPPLANE4 (1 << 4)
-#define D3DCLIPPLANE5 (1 << 5)
-
-#define D3DCOLOR_ARGB(a,r,g,b) ((D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
-#define D3DCOLOR_COLORVALUE(r,g,b,a) D3DCOLOR_RGBA((DWORD)((r)*255.f),(DWORD)((g)*255.f),(DWORD)((b)*255.f),(DWORD)((a)*255.f))
-#define D3DCOLOR_RGBA(r,g,b,a) D3DCOLOR_ARGB(a,r,g,b)
-#define D3DCOLOR_XRGB(r,g,b) D3DCOLOR_ARGB(0xff,r,g,b)
-#define D3DCOLOR_XYUV(y,u,v) D3DCOLOR_ARGB(0xFF,y,u,v)
-#define D3DCOLOR_AYUV(a,y,u,v) D3DCOLOR_ARGB(a,y,u,v)
-
-#define D3DCS_LEFT 0x001L
-#define D3DCS_RIGHT 0x002L
-#define D3DCS_TOP 0x004L
-#define D3DCS_BOTTOM 0x008L
-#define D3DCS_FRONT 0x010L
-#define D3DCS_BACK 0x020L
-#define D3DCS_PLANE0 0x040L
-#define D3DCS_PLANE1 0x080L
-#define D3DCS_PLANE2 0x100L
-#define D3DCS_PLANE3 0x200L
-#define D3DCS_PLANE4 0x400L
-#define D3DCS_PLANE5 0x800L
-#define D3DCS_ALL 0xFFFL
-
-#define D3DFVF_TEXTUREFORMAT1 3
-#define D3DFVF_TEXTUREFORMAT2 0
-#define D3DFVF_TEXTUREFORMAT3 1
-#define D3DFVF_TEXTUREFORMAT4 2
-#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2)
-#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
-
-#define D3DLOCK_READONLY 0x0010
-#define D3DLOCK_NOSYSLOCK 0x0800
-#define D3DLOCK_NOOVERWRITE 0x1000
-#define D3DLOCK_DISCARD 0x2000
-#define D3DLOCK_DONOTWAIT 0x4000
-#define D3DLOCK_NO_DIRTY_UPDATE 0x8000
-
-#define D3DMAXUSERCLIPPLANES 32
-#define D3DCLIPPLANE0 (1 << 0)
-#define D3DCLIPPLANE1 (1 << 1)
-#define D3DCLIPPLANE2 (1 << 2)
-#define D3DCLIPPLANE3 (1 << 3)
-#define D3DCLIPPLANE4 (1 << 4)
-#define D3DCLIPPLANE5 (1 << 5)
-
-
-#define D3DRENDERSTATE_WRAPBIAS 128UL
-
-/* MSDN has this in d3d9caps.h, but it should be here */
-#define D3DTSS_TCI_PASSTHRU 0x00000
-#define D3DTSS_TCI_CAMERASPACENORMAL 0x10000
-#define D3DTSS_TCI_CAMERASPACEPOSITION 0x20000
-#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x30000
-#define D3DTSS_TCI_SPHEREMAP 0x40000
-
-
-#define D3DTS_WORLD D3DTS_WORLDMATRIX(0)
-#define D3DTS_WORLD1 D3DTS_WORLDMATRIX(1)
-#define D3DTS_WORLD2 D3DTS_WORLDMATRIX(2)
-#define D3DTS_WORLD3 D3DTS_WORLDMATRIX(3)
-#define D3DTS_WORLDMATRIX(index) (D3DTRANSFORMSTATETYPE)(index + 256)
-
-#define D3DUSAGE_RENDERTARGET 0x00000001L
-#define D3DUSAGE_DEPTHSTENCIL 0x00000002L
-#define D3DUSAGE_WRITEONLY 0x00000008L
-#define D3DUSAGE_SOFTWAREPROCESSING 0x00000010L
-#define D3DUSAGE_DONOTCLIP 0x00000020L
-#define D3DUSAGE_POINTS 0x00000040L
-#define D3DUSAGE_RTPATCHES 0x00000080L
-#define D3DUSAGE_NPATCHES 0x00000100L
-#define D3DUSAGE_DYNAMIC 0x00000200L
-#define D3DUSAGE_AUTOGENMIPMAP 0x00000400L
-#define D3DUSAGE_DMAP 0x00004000L
-
-#define D3DUSAGE_QUERY_FILTER 0x00020000L
-#define D3DUSAGE_QUERY_LEGACYBUMPMAP 0x00008000L
-#define D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING 0x00080000L
-#define D3DUSAGE_QUERY_SRGBREAD 0x00010000L
-#define D3DUSAGE_QUERY_SRGBWRITE 0x00040000L
-#define D3DUSAGE_QUERY_VERTEXTEXTURE 0x00100000L
-#define D3DUSAGE_QUERY_WRAPANDMIP 0x00200000L
-
-#define D3DWRAP_U 1
-#define D3DWRAP_V 2
-#define D3DWRAP_W 4
-#define D3DWRAPCOORD_0 1
-#define D3DWRAPCOORD_1 2
-#define D3DWRAPCOORD_2 4
-#define D3DWRAPCOORD_3 8
-
-#define MAX_DEVICE_IDENTIFIER_STRING 512
-
-#define D3DFVF_RESERVED0 0x0001
-#define D3DFVF_POSITION_MASK 0x400E
-#define D3DFVF_XYZ 0x0002
-#define D3DFVF_XYZRHW 0x0004
-#define D3DFVF_XYZB1 0x0006
-#define D3DFVF_XYZB2 0x0008
-#define D3DFVF_XYZB3 0x000a
-#define D3DFVF_XYZB4 0x000c
-#define D3DFVF_XYZB5 0x000e
-#define D3DFVF_XYZW 0x4002
-#define D3DFVF_NORMAL 0x0010
-#define D3DFVF_PSIZE 0x0020
-#define D3DFVF_DIFFUSE 0x0040
-#define D3DFVF_SPECULAR 0x0080
-#define D3DFVF_TEXCOUNT_MASK 0x0f00
-#define D3DFVF_TEXCOUNT_SHIFT 8
-#define D3DFVF_TEX0 0x0000
-#define D3DFVF_TEX1 0x0100
-#define D3DFVF_TEX2 0x0200
-#define D3DFVF_TEX3 0x0300
-#define D3DFVF_TEX4 0x0400
-#define D3DFVF_TEX5 0x0500
-#define D3DFVF_TEX6 0x0600
-#define D3DFVF_TEX7 0x0700
-#define D3DFVF_TEX8 0x0800
-#define D3DFVF_LASTBETA_UBYTE4 0x1000
-#define D3DFVF_LASTBETA_D3DCOLOR 0x8000
-#define D3DFVF_RESERVED2 0x6000
-
-#define D3DTA_SELECTMASK 0x0000000f
-#define D3DTA_DIFFUSE 0x00000000
-#define D3DTA_CURRENT 0x00000001
-#define D3DTA_TEXTURE 0x00000002
-#define D3DTA_TFACTOR 0x00000003
-#define D3DTA_SPECULAR 0x00000004
-#define D3DTA_TEMP 0x00000005
-#define D3DTA_CONSTANT 0x00000006
-#define D3DTA_COMPLEMENT 0x00000010
-#define D3DTA_ALPHAREPLICATE 0x00000020
-
-#define D3DCOLORWRITEENABLE_RED (1L<<0)
-#define D3DCOLORWRITEENABLE_GREEN (1L<<1)
-#define D3DCOLORWRITEENABLE_BLUE (1L<<2)
-#define D3DCOLORWRITEENABLE_ALPHA (1L<<3)
-
-#define D3DPV_DONOTCOPYDATA (1 << 0)
-
-#define D3DSTREAMSOURCE_INDEXEDDATA (1 << 30)
-#define D3DSTREAMSOURCE_INSTANCEDATA (2 << 30)
-
-#define D3D_MAX_SIMULTANEOUS_RENDERTARGETS 4
-
-#define MAXD3DDECLLENGTH 64 /* +end marker */
-#define MAXD3DDECLMETHOD D3DDECLMETHOD_LOOKUPPRESAMPLED
-#define MAXD3DDECLTYPE D3DDECLTYPE_UNUSED
-#define MAXD3DDECLUSAGE D3DDECLUSAGE_SAMPLE
-#define MAXD3DDECLUSAGEINDEX 15
-
-#define D3DDMAPSAMPLER 256
-#define D3DVERTEXTEXTURESAMPLER0 (D3DDMAPSAMPLER+1)
-#define D3DVERTEXTEXTURESAMPLER1 (D3DDMAPSAMPLER+2)
-#define D3DVERTEXTEXTURESAMPLER2 (D3DDMAPSAMPLER+3)
-#define D3DVERTEXTEXTURESAMPLER3 (D3DDMAPSAMPLER+4)
-
-#ifndef MAKEFOURCC
-#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
- ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
- ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
-#endif /* MAKEFOURCC */
-
-/* Constants used by D3DPRESENT_PARAMETERS. when creating a device or swapchain */
-
-#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001 /* Create a lockable backbuffer */
-#define D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 /* Discard Z buffer */
-#define D3DPRESENTFLAG_DEVICECLIP 0x00000004 /* Clip the window blited into the client area 2k + xp only */
-#define D3DPRESENTFLAG_VIDEO 0x00000010 /* backbuffer 'may' contain video data */
-#define D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 /* d3d9ex, ignore display rotation */
-#define D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 /* d3d9ex, specify invalid display modes */
-
-#define D3DPRESENT_BACK_BUFFERS_MAX 3L
-#define D3DPRESENT_RATE_DEFAULT 0x00000000
-
-/****************************
- * Vertex Shaders Declaration
- */
-
-typedef enum _D3DDECLUSAGE {
- D3DDECLUSAGE_POSITION = 0,
- D3DDECLUSAGE_BLENDWEIGHT = 1,
- D3DDECLUSAGE_BLENDINDICES = 2,
- D3DDECLUSAGE_NORMAL = 3,
- D3DDECLUSAGE_PSIZE = 4,
- D3DDECLUSAGE_TEXCOORD = 5,
- D3DDECLUSAGE_TANGENT = 6,
- D3DDECLUSAGE_BINORMAL = 7,
- D3DDECLUSAGE_TESSFACTOR = 8,
- D3DDECLUSAGE_POSITIONT = 9,
- D3DDECLUSAGE_COLOR = 10,
- D3DDECLUSAGE_FOG = 11,
- D3DDECLUSAGE_DEPTH = 12,
- D3DDECLUSAGE_SAMPLE = 13
-} D3DDECLUSAGE;
-
-#define D3DMAXDECLUSAGE D3DDECLUSAGE_SAMPLE
-#define D3DMAXDECLUSAGEINDEX 15
-#define D3DMAXDECLLENGTH 18
-#define D3DMAXDECLUSAGE_DX8 D3DDECLUSAGE_TEXCOORD
-
-typedef enum _D3DDECLMETHOD {
- D3DDECLMETHOD_DEFAULT = 0,
- D3DDECLMETHOD_PARTIALU = 1,
- D3DDECLMETHOD_PARTIALV = 2,
- D3DDECLMETHOD_CROSSUV = 3,
- D3DDECLMETHOD_UV = 4,
- D3DDECLMETHOD_LOOKUP = 5,
- D3DDECLMETHOD_LOOKUPPRESAMPLED = 6
-} D3DDECLMETHOD;
-
-
-#define D3DMAXDECLMETHOD D3DDECLMETHOD_LOOKUPPRESAMPLED
-
-typedef enum _D3DDECLTYPE {
- D3DDECLTYPE_FLOAT1 = 0,
- D3DDECLTYPE_FLOAT2 = 1,
- D3DDECLTYPE_FLOAT3 = 2,
- D3DDECLTYPE_FLOAT4 = 3,
- D3DDECLTYPE_D3DCOLOR = 4,
- D3DDECLTYPE_UBYTE4 = 5,
- D3DDECLTYPE_SHORT2 = 6,
- D3DDECLTYPE_SHORT4 = 7,
- /* VS 2.0 */
- D3DDECLTYPE_UBYTE4N = 8,
- D3DDECLTYPE_SHORT2N = 9,
- D3DDECLTYPE_SHORT4N = 10,
- D3DDECLTYPE_USHORT2N = 11,
- D3DDECLTYPE_USHORT4N = 12,
- D3DDECLTYPE_UDEC3 = 13,
- D3DDECLTYPE_DEC3N = 14,
- D3DDECLTYPE_FLOAT16_2 = 15,
- D3DDECLTYPE_FLOAT16_4 = 16,
- D3DDECLTYPE_UNUSED = 17,
-} D3DDECLTYPE;
-
-#define D3DMAXDECLTYPE D3DDECLTYPE_UNUSED
-
-typedef struct _D3DVERTEXELEMENT9 {
- WORD Stream;
- WORD Offset;
- BYTE Type;
- BYTE Method;
- BYTE Usage;
- BYTE UsageIndex;
-} D3DVERTEXELEMENT9, *LPD3DVERTEXELEMENT9;
-
-
-typedef enum _D3DQUERYTYPE {
- D3DQUERYTYPE_VCACHE = 4,
- D3DQUERYTYPE_RESOURCEMANAGER = 5,
- D3DQUERYTYPE_VERTEXSTATS = 6,
- D3DQUERYTYPE_EVENT = 8,
- D3DQUERYTYPE_OCCLUSION = 9,
- D3DQUERYTYPE_TIMESTAMP = 10,
- D3DQUERYTYPE_TIMESTAMPDISJOINT = 11,
- D3DQUERYTYPE_TIMESTAMPFREQ = 12,
- D3DQUERYTYPE_PIPELINETIMINGS = 13,
- D3DQUERYTYPE_INTERFACETIMINGS = 14,
- D3DQUERYTYPE_VERTEXTIMINGS = 15,
- D3DQUERYTYPE_PIXELTIMINGS = 16,
- D3DQUERYTYPE_BANDWIDTHTIMINGS = 17,
- D3DQUERYTYPE_CACHEUTILIZATION = 18
-} D3DQUERYTYPE;
-
-#define D3DISSUE_BEGIN (1 << 1)
-#define D3DISSUE_END (1 << 0)
-#define D3DGETDATA_FLUSH (1 << 0)
-
-
-#define D3DDECL_END() {0xFF,0,D3DDECLTYPE_UNUSED,0,0,0}
-#define D3DDP_MAXTEXCOORD 8
-
-
-#define D3DVSD_MAKETOKENTYPE(TokenType) \
- ((TokenType << D3DVSD_TOKENTYPESHIFT) & D3DVSD_TOKENTYPEMASK)
-
-#define D3DVSD_CONST(ConstantAddress, Count) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_CONSTMEM) | ((Count) << D3DVSD_CONSTCOUNTSHIFT) | (ConstantAddress))
-
-#define D3DVSD_END() 0xFFFFFFFF
-
-#define D3DVSD_NOP() 0x00000000
-
-#define D3DVSD_REG(VertexRegister, Type) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | ((Type) << D3DVSD_DATATYPESHIFT) | (VertexRegister))
-
-#define D3DVSD_SKIP(Count) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAMDATA) | 0x10000000 | ((Count) << D3DVSD_SKIPCOUNTSHIFT))
-
-#define D3DVSD_STREAM(StreamNumber) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (StreamNumber))
-
-#define D3DVSD_STREAM_TESS() \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_STREAM) | (D3DVSD_STREAMTESSMASK))
-
-#define D3DVSD_TESSNORMAL(RegisterIn, RegisterOut) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | ((RegisterIn) << D3DVSD_VERTEXREGINSHIFT) | ((0x02) << D3DVSD_DATATYPESHIFT) | (RegisterOut))
-
-#define D3DVSD_TESSUV(Register) \
- (D3DVSD_MAKETOKENTYPE(D3DVSD_TOKEN_TESSELLATOR) | 0x10000000 | ((0x01) << D3DVSD_DATATYPESHIFT) | (Register))
-
-
-/********************************
- * Pixel/Vertex Shaders Functions
- */
-
-/** Maximum number of supported texture coordinates sets operation */
-#define D3DDP_MAXTEXCOORD 8
-
-/** opcode token mask */
-#define D3DSI_OPCODE_MASK 0x0000FFFF
-#define D3DSI_INSTLENGTH_MASK 0x0F000000
-#define D3DSI_INSTLENGTH_SHIFT 24
-
-/** opcodes types for PS and VS */
-typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE {
- D3DSIO_NOP = 0,
- D3DSIO_MOV = 1,
- D3DSIO_ADD = 2,
- D3DSIO_SUB = 3,
- D3DSIO_MAD = 4,
- D3DSIO_MUL = 5,
- D3DSIO_RCP = 6,
- D3DSIO_RSQ = 7,
- D3DSIO_DP3 = 8,
- D3DSIO_DP4 = 9,
- D3DSIO_MIN = 10,
- D3DSIO_MAX = 11,
- D3DSIO_SLT = 12,
- D3DSIO_SGE = 13,
- D3DSIO_EXP = 14,
- D3DSIO_LOG = 15,
- D3DSIO_LIT = 16,
- D3DSIO_DST = 17,
- D3DSIO_LRP = 18,
- D3DSIO_FRC = 19,
- D3DSIO_M4x4 = 20,
- D3DSIO_M4x3 = 21,
- D3DSIO_M3x4 = 22,
- D3DSIO_M3x3 = 23,
- D3DSIO_M3x2 = 24,
- D3DSIO_CALL = 25,
- D3DSIO_CALLNZ = 26,
- D3DSIO_LOOP = 27,
- D3DSIO_RET = 28,
- D3DSIO_ENDLOOP = 29,
- D3DSIO_LABEL = 30,
- D3DSIO_DCL = 31,
- D3DSIO_POW = 32,
- D3DSIO_CRS = 33,
- D3DSIO_SGN = 34,
- D3DSIO_ABS = 35,
- D3DSIO_NRM = 36,
- D3DSIO_SINCOS = 37,
- D3DSIO_REP = 38,
- D3DSIO_ENDREP = 39,
- D3DSIO_IF = 40,
- D3DSIO_IFC = 41,
- D3DSIO_ELSE = 42,
- D3DSIO_ENDIF = 43,
- D3DSIO_BREAK = 44,
- D3DSIO_BREAKC = 45,
- D3DSIO_MOVA = 46,
- D3DSIO_DEFB = 47,
- D3DSIO_DEFI = 48,
-
- D3DSIO_TEXCOORD = 64,
- D3DSIO_TEXKILL = 65,
- D3DSIO_TEX = 66,
- D3DSIO_TEXBEM = 67,
- D3DSIO_TEXBEML = 68,
- D3DSIO_TEXREG2AR = 69,
- D3DSIO_TEXREG2GB = 70,
- D3DSIO_TEXM3x2PAD = 71,
- D3DSIO_TEXM3x2TEX = 72,
- D3DSIO_TEXM3x3PAD = 73,
- D3DSIO_TEXM3x3TEX = 74,
- D3DSIO_TEXM3x3DIFF = 75,
- D3DSIO_TEXM3x3SPEC = 76,
- D3DSIO_TEXM3x3VSPEC = 77,
- D3DSIO_EXPP = 78,
- D3DSIO_LOGP = 79,
- D3DSIO_CND = 80,
- D3DSIO_DEF = 81,
- D3DSIO_TEXREG2RGB = 82,
- D3DSIO_TEXDP3TEX = 83,
- D3DSIO_TEXM3x2DEPTH = 84,
- D3DSIO_TEXDP3 = 85,
- D3DSIO_TEXM3x3 = 86,
- D3DSIO_TEXDEPTH = 87,
- D3DSIO_CMP = 88,
- D3DSIO_BEM = 89,
- D3DSIO_DP2ADD = 90,
- D3DSIO_DSX = 91,
- D3DSIO_DSY = 92,
- D3DSIO_TEXLDD = 93,
- D3DSIO_SETP = 94,
- D3DSIO_TEXLDL = 95,
- D3DSIO_BREAKP = 96,
-
- D3DSIO_PHASE = 0xFFFD,
- D3DSIO_COMMENT = 0xFFFE,
- D3DSIO_END = 0XFFFF,
-
- D3DSIO_FORCE_DWORD = 0X7FFFFFFF /** for 32-bit alignment */
-} D3DSHADER_INSTRUCTION_OPCODE_TYPE;
-
-#define D3DSINCOSCONST1 -1.5500992e-006f, -2.1701389e-005f, 0.0026041667f, 0.00026041668f
-#define D3DSINCOSCONST2 -0.020833334f, -0.12500000f, 1.0f, 0.50000000f
-
-#define D3DSHADER_INSTRUCTION_PREDICATED (1 << 28)
-
-#define D3DSI_TEXLD_PROJECT 0x00010000
-#define D3DSI_TEXLD_BIAS 0x00020000
-
-/** for parallelism */
-#define D3DSI_COISSUE 0x40000000
-
-#define D3DSP_DCL_USAGE_SHIFT 0
-#define D3DSP_DCL_USAGE_MASK 0x0000000f
-
-#define D3DSP_DCL_USAGEINDEX_SHIFT 16
-#define D3DSP_DCL_USAGEINDEX_MASK 0x000f0000
-
-#define D3DSP_TEXTURETYPE_SHIFT 27
-#define D3DSP_TEXTURETYPE_MASK 0x78000000
-
-typedef enum _D3DSAMPLER_TEXTURE_TYPE {
- D3DSTT_UNKNOWN = 0 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_1D = 1 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_2D = 2 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_CUBE = 3 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_VOLUME = 4 << D3DSP_TEXTURETYPE_SHIFT,
-
- D3DSTT_FORCE_DWORD = 0x7FFFFFFF
-} D3DSAMPLER_TEXTURE_TYPE;
-
-#define D3DSP_REGNUM_MASK 0x000007FF
-
-/** destination parameter modifiers (.xyzw) */
-#define D3DSP_WRITEMASK_0 0x00010000 /* .x r */
-#define D3DSP_WRITEMASK_1 0x00020000 /* .y g */
-#define D3DSP_WRITEMASK_2 0x00040000 /* .z b */
-#define D3DSP_WRITEMASK_3 0x00080000 /* .w a */
-#define D3DSP_WRITEMASK_ALL 0x000F0000 /* all */
-
-#define D3DSP_DSTMOD_SHIFT 20
-#define D3DSP_DSTMOD_MASK (0xF << D3DSP_DSTMOD_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_DSTMOD_TYPE {
- D3DSPDM_NONE = 0 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_SATURATE = 1 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_PARTIALPRECISION = 2 << D3DSP_DSTMOD_SHIFT,
- D3DSPDM_MSAMPCENTROID = 4 << D3DSP_DSTMOD_SHIFT,
-
- D3DSPDM_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_DSTMOD_TYPE;
-
-/** destination param */
-#define D3DSP_DSTSHIFT_SHIFT 24
-#define D3DSP_DSTSHIFT_MASK (0xF << D3DSP_DSTSHIFT_SHIFT)
-
-/** destination/source reg type */
-#define D3DSP_REGTYPE_SHIFT 28
-#define D3DSP_REGTYPE_SHIFT2 8
-#define D3DSP_REGTYPE_MASK (0x7 << D3DSP_REGTYPE_SHIFT)
-#define D3DSP_REGTYPE_MASK2 0x00001800
-
-typedef enum _D3DSHADER_PARAM_REGISTER_TYPE {
- D3DSPR_TEMP = 0,
- D3DSPR_INPUT = 1,
- D3DSPR_CONST = 2,
- D3DSPR_ADDR = 3,
- D3DSPR_TEXTURE = 3,
- D3DSPR_RASTOUT = 4,
- D3DSPR_ATTROUT = 5,
- D3DSPR_TEXCRDOUT = 6,
- D3DSPR_OUTPUT = 6,
- D3DSPR_CONSTINT = 7,
- D3DSPR_COLOROUT = 8,
- D3DSPR_DEPTHOUT = 9,
- D3DSPR_SAMPLER = 10,
- D3DSPR_CONST2 = 11,
- D3DSPR_CONST3 = 12,
- D3DSPR_CONST4 = 13,
- D3DSPR_CONSTBOOL = 14,
- D3DSPR_LOOP = 15,
- D3DSPR_TEMPFLOAT16 = 16,
- D3DSPR_MISCTYPE = 17,
- D3DSPR_LABEL = 18,
- D3DSPR_PREDICATE = 19,
-
- D3DSPR_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_REGISTER_TYPE;
-
-typedef enum _D3DSHADER_MISCTYPE_OFFSETS {
- D3DSMO_POSITION = 0,
- D3DSMO_FACE = 1
-} D3DSHADER_MISCTYPE_OFFSETS;
-
-typedef enum _D3DVS_RASTOUT_OFFSETS {
- D3DSRO_POSITION = 0,
- D3DSRO_FOG = 1,
- D3DSRO_POINT_SIZE = 2,
-
- D3DSRO_FORCE_DWORD = 0x7FFFFFFF
-} D3DVS_RASTOUT_OFFSETS;
-
-#define D3DVS_ADDRESSMODE_SHIFT 13
-#define D3DVS_ADDRESSMODE_MASK (0x1 << D3DVS_ADDRESSMODE_SHIFT)
-
-typedef enum _D3DVS_ADDRESSMODE_TYPE {
- D3DVS_ADDRMODE_ABSOLUTE = 0 << D3DVS_ADDRESSMODE_SHIFT,
- D3DVS_ADDRMODE_RELATIVE = 1 << D3DVS_ADDRESSMODE_SHIFT,
-
- D3DVS_ADDRMODE_FORCE_DWORD = 0x7FFFFFFF
-} D3DVS_ADDRESSMODE_TYPE;
-
-#define D3DSHADER_ADDRESSMODE_SHIFT 13
-#define D3DSHADER_ADDRESSMODE_MASK (1 << D3DSHADER_ADDRESSMODE_SHIFT)
-
-typedef enum _D3DSHADER_ADDRESSMODE_TYPE {
- D3DSHADER_ADDRMODE_ABSOLUTE = 0 << D3DSHADER_ADDRESSMODE_SHIFT,
- D3DSHADER_ADDRMODE_RELATIVE = 1 << D3DSHADER_ADDRESSMODE_SHIFT,
-
- D3DSHADER_ADDRMODE_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_ADDRESSMODE_TYPE;
-
-
-#define D3DVS_SWIZZLE_SHIFT 16
-#define D3DVS_SWIZZLE_MASK (0xFF << D3DVS_SWIZZLE_SHIFT)
-
-#define D3DSP_SWIZZLE_SHIFT 16
-#define D3DSP_SWIZZLE_MASK (0xFF << D3DSP_SWIZZLE_SHIFT)
-
-#define D3DVS_X_X (0 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Y (1 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Z (2 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_W (3 << D3DVS_SWIZZLE_SHIFT)
-
-#define D3DVS_Y_X (0 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Y (1 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Z (2 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_W (3 << (D3DVS_SWIZZLE_SHIFT + 2))
-
-#define D3DVS_Z_X (0 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Y (1 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Z (2 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_W (3 << (D3DVS_SWIZZLE_SHIFT + 4))
-
-#define D3DVS_W_X (0 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Y (1 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Z (2 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_W (3 << (D3DVS_SWIZZLE_SHIFT + 6))
-
-#define D3DVS_NOSWIZZLE (D3DVS_X_X | D3DVS_Y_Y | D3DVS_Z_Z | D3DVS_W_W)
-
-#define D3DSP_NOSWIZZLE \
- ((0 << (D3DSP_SWIZZLE_SHIFT + 0)) | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | (3 << (D3DSP_SWIZZLE_SHIFT + 6)))
-
-#define D3DSP_SRCMOD_SHIFT 24
-#define D3DSP_SRCMOD_MASK (0xF << D3DSP_SRCMOD_SHIFT)
-
-typedef enum _D3DSHADER_PARAM_SRCMOD_TYPE {
- D3DSPSM_NONE = 0 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_NEG = 1 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIAS = 2 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIASNEG = 3 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGN = 4 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGNNEG = 5 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_COMP = 6 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2 = 7 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2NEG = 8 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DZ = 9 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DW = 10 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_ABS = 11 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_ABSNEG = 12 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_NOT = 13 << D3DSP_SRCMOD_SHIFT,
-
- D3DSPSM_FORCE_DWORD = 0x7FFFFFFF
-} D3DSHADER_PARAM_SRCMOD_TYPE;
-
-#define D3DPS_VERSION(major, minor) (0xFFFF0000 | ((major) << 8) | (minor))
-#define D3DVS_VERSION(major, minor) (0xFFFE0000 | ((major) << 8) | (minor))
-#define D3DSHADER_VERSION_MAJOR(version) (((version) >> 8) & 0xFF)
-#define D3DSHADER_VERSION_MINOR(version) (((version) >> 0) & 0xFF)
-
-#define D3DSI_COMMENTSIZE_SHIFT 16
-#define D3DSI_COMMENTSIZE_MASK (0x7FFF << D3DSI_COMMENTSIZE_SHIFT)
-
-#define D3DSHADER_COMMENT(commentSize) \
- ((((commentSize) << D3DSI_COMMENTSIZE_SHIFT) & D3DSI_COMMENTSIZE_MASK) | D3DSIO_COMMENT)
-
-#define D3DPS_END() 0x0000FFFF
-#define D3DVS_END() 0x0000FFFF
-
-
-/*****************************************************************************
- * Direct 3D v8 enumerated types
- */
-typedef enum _D3DBACKBUFFER_TYPE {
- D3DBACKBUFFER_TYPE_MONO = 0,
- D3DBACKBUFFER_TYPE_LEFT = 1,
- D3DBACKBUFFER_TYPE_RIGHT = 2,
-
- D3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
-} D3DBACKBUFFER_TYPE;
-
-#define D3DPRESENT_BACK_BUFFER_MAX 3L
-
-typedef enum _D3DBASISTYPE {
- D3DBASIS_BEZIER = 0,
- D3DBASIS_BSPLINE = 1,
- D3DBASIS_INTERPOLATE = 2,
-
- D3DBASIS_FORCE_DWORD = 0x7fffffff
-} D3DBASISTYPE;
-
-typedef enum _D3DBLEND {
- D3DBLEND_ZERO = 1,
- D3DBLEND_ONE = 2,
- D3DBLEND_SRCCOLOR = 3,
- D3DBLEND_INVSRCCOLOR = 4,
- D3DBLEND_SRCALPHA = 5,
- D3DBLEND_INVSRCALPHA = 6,
- D3DBLEND_DESTALPHA = 7,
- D3DBLEND_INVDESTALPHA = 8,
- D3DBLEND_DESTCOLOR = 9,
- D3DBLEND_INVDESTCOLOR = 10,
- D3DBLEND_SRCALPHASAT = 11,
- D3DBLEND_BOTHSRCALPHA = 12,
- D3DBLEND_BOTHINVSRCALPHA = 13,
- D3DBLEND_BLENDFACTOR = 14,
- D3DBLEND_INVBLENDFACTOR = 15,
- D3DBLEND_FORCE_DWORD = 0x7fffffff
-} D3DBLEND;
-
-typedef enum _D3DBLENDOP {
- D3DBLENDOP_ADD = 1,
- D3DBLENDOP_SUBTRACT = 2,
- D3DBLENDOP_REVSUBTRACT = 3,
- D3DBLENDOP_MIN = 4,
- D3DBLENDOP_MAX = 5,
-
- D3DBLENDOP_FORCE_DWORD = 0x7fffffff
-} D3DBLENDOP;
-
-typedef enum _D3DCMPFUNC {
- D3DCMP_NEVER = 1,
- D3DCMP_LESS = 2,
- D3DCMP_EQUAL = 3,
- D3DCMP_LESSEQUAL = 4,
- D3DCMP_GREATER = 5,
- D3DCMP_NOTEQUAL = 6,
- D3DCMP_GREATEREQUAL = 7,
- D3DCMP_ALWAYS = 8,
-
- D3DCMP_FORCE_DWORD = 0x7fffffff
-} D3DCMPFUNC;
-
-typedef enum _D3DCUBEMAP_FACES {
- D3DCUBEMAP_FACE_POSITIVE_X = 0,
- D3DCUBEMAP_FACE_NEGATIVE_X = 1,
- D3DCUBEMAP_FACE_POSITIVE_Y = 2,
- D3DCUBEMAP_FACE_NEGATIVE_Y = 3,
- D3DCUBEMAP_FACE_POSITIVE_Z = 4,
- D3DCUBEMAP_FACE_NEGATIVE_Z = 5,
-
- D3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
-} D3DCUBEMAP_FACES;
-
-typedef enum _D3DCULL {
- D3DCULL_NONE = 1,
- D3DCULL_CW = 2,
- D3DCULL_CCW = 3,
-
- D3DCULL_FORCE_DWORD = 0x7fffffff
-} D3DCULL;
-
-typedef enum _D3DDEBUGMONITORTOKENS {
- D3DDMT_ENABLE = 0,
- D3DDMT_DISABLE = 1,
-
- D3DDMT_FORCE_DWORD = 0x7fffffff
-} D3DDEBUGMONITORTOKENS;
-
-typedef enum _D3DDEGREETYPE {
- D3DDEGREE_LINEAR = 1,
- D3DDEGREE_QUADRATIC = 2,
- D3DDEGREE_CUBIC = 3,
- D3DDEGREE_QUINTIC = 5,
-
- D3DDEGREE_FORCE_DWORD = 0x7fffffff
-} D3DDEGREETYPE;
-
-typedef enum _D3DDEVTYPE {
- D3DDEVTYPE_HAL = 1,
- D3DDEVTYPE_REF = 2,
- D3DDEVTYPE_SW = 3,
- D3DDEVTYPE_NULLREF = 4,
-
- D3DDEVTYPE_FORCE_DWORD = 0xffffffff
-} D3DDEVTYPE;
-
-typedef enum _D3DFILLMODE {
- D3DFILL_POINT = 1,
- D3DFILL_WIREFRAME = 2,
- D3DFILL_SOLID = 3,
-
- D3DFILL_FORCE_DWORD = 0x7fffffff
-} D3DFILLMODE;
-
-typedef enum _D3DFOGMODE {
- D3DFOG_NONE = 0,
- D3DFOG_EXP = 1,
- D3DFOG_EXP2 = 2,
- D3DFOG_LINEAR = 3,
-
- D3DFOG_FORCE_DWORD = 0x7fffffff
-} D3DFOGMODE;
-
-typedef enum _D3DFORMAT {
- D3DFMT_UNKNOWN = 0,
-
- D3DFMT_R8G8B8 = 20,
- D3DFMT_A8R8G8B8 = 21,
- D3DFMT_X8R8G8B8 = 22,
- D3DFMT_R5G6B5 = 23,
- D3DFMT_X1R5G5B5 = 24,
- D3DFMT_A1R5G5B5 = 25,
- D3DFMT_A4R4G4B4 = 26,
- D3DFMT_R3G3B2 = 27,
- D3DFMT_A8 = 28,
- D3DFMT_A8R3G3B2 = 29,
- D3DFMT_X4R4G4B4 = 30,
- D3DFMT_A2B10G10R10 = 31,
- D3DFMT_A8B8G8R8 = 32,
- D3DFMT_X8B8G8R8 = 33,
- D3DFMT_G16R16 = 34,
- D3DFMT_A2R10G10B10 = 35,
- D3DFMT_A16B16G16R16 = 36,
-
-
- D3DFMT_A8P8 = 40,
- D3DFMT_P8 = 41,
-
- D3DFMT_L8 = 50,
- D3DFMT_A8L8 = 51,
- D3DFMT_A4L4 = 52,
-
- D3DFMT_V8U8 = 60,
- D3DFMT_L6V5U5 = 61,
- D3DFMT_X8L8V8U8 = 62,
- D3DFMT_Q8W8V8U8 = 63,
- D3DFMT_V16U16 = 64,
- D3DFMT_A2W10V10U10 = 67,
-
- D3DFMT_UYVY = MAKEFOURCC('U', 'Y', 'V', 'Y'),
- D3DFMT_YUY2 = MAKEFOURCC('Y', 'U', 'Y', '2'),
- D3DFMT_DXT1 = MAKEFOURCC('D', 'X', 'T', '1'),
- D3DFMT_DXT2 = MAKEFOURCC('D', 'X', 'T', '2'),
- D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3'),
- D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4'),
- D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5'),
- D3DFMT_MULTI2_ARGB8 = MAKEFOURCC('M', 'E', 'T', '1'),
- D3DFMT_G8R8_G8B8 = MAKEFOURCC('G', 'R', 'G', 'B'),
- D3DFMT_R8G8_B8G8 = MAKEFOURCC('R', 'G', 'B', 'G'),
-
- D3DFMT_D16_LOCKABLE = 70,
- D3DFMT_D32 = 71,
- D3DFMT_D15S1 = 73,
- D3DFMT_D24S8 = 75,
- D3DFMT_D24X8 = 77,
- D3DFMT_D24X4S4 = 79,
- D3DFMT_D16 = 80,
- D3DFMT_L16 = 81,
- D3DFMT_D32F_LOCKABLE = 82,
- D3DFMT_D24FS8 = 83,
-
- D3DFMT_VERTEXDATA = 100,
- D3DFMT_INDEX16 = 101,
- D3DFMT_INDEX32 = 102,
- D3DFMT_Q16W16V16U16 = 110,
- /* Floating point formats */
- D3DFMT_R16F = 111,
- D3DFMT_G16R16F = 112,
- D3DFMT_A16B16G16R16F = 113,
-
- /* IEEE formats */
- D3DFMT_R32F = 114,
- D3DFMT_G32R32F = 115,
- D3DFMT_A32B32G32R32F = 116,
-
- D3DFMT_CxV8U8 = 117,
-
-
- D3DFMT_FORCE_DWORD = 0xFFFFFFFF
-} D3DFORMAT;
-
-typedef enum _D3DLIGHTTYPE {
- D3DLIGHT_POINT = 1,
- D3DLIGHT_SPOT = 2,
- D3DLIGHT_DIRECTIONAL = 3,
-
- D3DLIGHT_FORCE_DWORD = 0x7fffffff
-} D3DLIGHTTYPE;
-
-typedef enum _D3DMATERIALCOLORSOURCE {
- D3DMCS_MATERIAL = 0,
- D3DMCS_COLOR1 = 1,
- D3DMCS_COLOR2 = 2,
-
- D3DMCS_FORCE_DWORD = 0x7fffffff
-} D3DMATERIALCOLORSOURCE;
-
-typedef enum _D3DMULTISAMPLE_TYPE {
- D3DMULTISAMPLE_NONE = 0,
- D3DMULTISAMPLE_NONMASKABLE = 1,
- D3DMULTISAMPLE_2_SAMPLES = 2,
- D3DMULTISAMPLE_3_SAMPLES = 3,
- D3DMULTISAMPLE_4_SAMPLES = 4,
- D3DMULTISAMPLE_5_SAMPLES = 5,
- D3DMULTISAMPLE_6_SAMPLES = 6,
- D3DMULTISAMPLE_7_SAMPLES = 7,
- D3DMULTISAMPLE_8_SAMPLES = 8,
- D3DMULTISAMPLE_9_SAMPLES = 9,
- D3DMULTISAMPLE_10_SAMPLES = 10,
- D3DMULTISAMPLE_11_SAMPLES = 11,
- D3DMULTISAMPLE_12_SAMPLES = 12,
- D3DMULTISAMPLE_13_SAMPLES = 13,
- D3DMULTISAMPLE_14_SAMPLES = 14,
- D3DMULTISAMPLE_15_SAMPLES = 15,
- D3DMULTISAMPLE_16_SAMPLES = 16,
-
- D3DMULTISAMPLE_FORCE_DWORD = 0x7fffffff
-} D3DMULTISAMPLE_TYPE;
-
-#if 0
-typedef enum _D3DORDERTYPE {
- D3DORDER_LINEAR = 1,
- D3DORDER_QUADRATIC = 2,
- D3DORDER_CUBIC = 3,
- D3DORDER_QUINTIC = 5,
-
- D3DORDER_FORCE_DWORD = 0x7fffffff
-} D3DORDERTYPE;
-#endif
-typedef enum _D3DPATCHEDGESTYLE {
- D3DPATCHEDGE_DISCRETE = 0,
- D3DPATCHEDGE_CONTINUOUS = 1,
-
- D3DPATCHEDGE_FORCE_DWORD = 0x7fffffff,
-} D3DPATCHEDGESTYLE;
-
-typedef enum _D3DPOOL {
- D3DPOOL_DEFAULT = 0,
- D3DPOOL_MANAGED = 1,
- D3DPOOL_SYSTEMMEM = 2,
- D3DPOOL_SCRATCH = 3,
-
- D3DPOOL_FORCE_DWORD = 0x7fffffff
-} D3DPOOL;
-
-typedef enum _D3DPRIMITIVETYPE {
- D3DPT_POINTLIST = 1,
- D3DPT_LINELIST = 2,
- D3DPT_LINESTRIP = 3,
- D3DPT_TRIANGLELIST = 4,
- D3DPT_TRIANGLESTRIP = 5,
- D3DPT_TRIANGLEFAN = 6,
-
- D3DPT_FORCE_DWORD = 0x7fffffff
-} D3DPRIMITIVETYPE;
-
-typedef enum _D3DRENDERSTATETYPE {
- D3DRS_ZENABLE = 7,
- D3DRS_FILLMODE = 8,
- D3DRS_SHADEMODE = 9,
- D3DRS_ZWRITEENABLE = 14,
- D3DRS_ALPHATESTENABLE = 15,
- D3DRS_LASTPIXEL = 16,
- D3DRS_SRCBLEND = 19,
- D3DRS_DESTBLEND = 20,
- D3DRS_CULLMODE = 22,
- D3DRS_ZFUNC = 23,
- D3DRS_ALPHAREF = 24,
- D3DRS_ALPHAFUNC = 25,
- D3DRS_DITHERENABLE = 26,
- D3DRS_ALPHABLENDENABLE = 27,
- D3DRS_FOGENABLE = 28,
- D3DRS_SPECULARENABLE = 29,
- D3DRS_FOGCOLOR = 34,
- D3DRS_FOGTABLEMODE = 35,
- D3DRS_FOGSTART = 36,
- D3DRS_FOGEND = 37,
- D3DRS_FOGDENSITY = 38,
- D3DRS_RANGEFOGENABLE = 48,
- D3DRS_STENCILENABLE = 52,
- D3DRS_STENCILFAIL = 53,
- D3DRS_STENCILZFAIL = 54,
- D3DRS_STENCILPASS = 55,
- D3DRS_STENCILFUNC = 56,
- D3DRS_STENCILREF = 57,
- D3DRS_STENCILMASK = 58,
- D3DRS_STENCILWRITEMASK = 59,
- D3DRS_TEXTUREFACTOR = 60,
- D3DRS_WRAP0 = 128,
- D3DRS_WRAP1 = 129,
- D3DRS_WRAP2 = 130,
- D3DRS_WRAP3 = 131,
- D3DRS_WRAP4 = 132,
- D3DRS_WRAP5 = 133,
- D3DRS_WRAP6 = 134,
- D3DRS_WRAP7 = 135,
- D3DRS_CLIPPING = 136,
- D3DRS_LIGHTING = 137,
- D3DRS_AMBIENT = 139,
- D3DRS_FOGVERTEXMODE = 140,
- D3DRS_COLORVERTEX = 141,
- D3DRS_LOCALVIEWER = 142,
- D3DRS_NORMALIZENORMALS = 143,
- D3DRS_DIFFUSEMATERIALSOURCE = 145,
- D3DRS_SPECULARMATERIALSOURCE = 146,
- D3DRS_AMBIENTMATERIALSOURCE = 147,
- D3DRS_EMISSIVEMATERIALSOURCE = 148,
- D3DRS_VERTEXBLEND = 151,
- D3DRS_CLIPPLANEENABLE = 152,
- D3DRS_POINTSIZE = 154,
- D3DRS_POINTSIZE_MIN = 155,
- D3DRS_POINTSPRITEENABLE = 156,
- D3DRS_POINTSCALEENABLE = 157,
- D3DRS_POINTSCALE_A = 158,
- D3DRS_POINTSCALE_B = 159,
- D3DRS_POINTSCALE_C = 160,
- D3DRS_MULTISAMPLEANTIALIAS = 161,
- D3DRS_MULTISAMPLEMASK = 162,
- D3DRS_PATCHEDGESTYLE = 163,
- D3DRS_DEBUGMONITORTOKEN = 165,
- D3DRS_POINTSIZE_MAX = 166,
- D3DRS_INDEXEDVERTEXBLENDENABLE = 167,
- D3DRS_COLORWRITEENABLE = 168,
- D3DRS_TWEENFACTOR = 170,
- D3DRS_BLENDOP = 171,
- D3DRS_POSITIONDEGREE = 172,
- D3DRS_NORMALDEGREE = 173,
- D3DRS_SCISSORTESTENABLE = 174,
- D3DRS_SLOPESCALEDEPTHBIAS = 175,
- D3DRS_ANTIALIASEDLINEENABLE = 176,
- D3DRS_MINTESSELLATIONLEVEL = 178,
- D3DRS_MAXTESSELLATIONLEVEL = 179,
- D3DRS_ADAPTIVETESS_X = 180,
- D3DRS_ADAPTIVETESS_Y = 181,
- D3DRS_ADAPTIVETESS_Z = 182,
- D3DRS_ADAPTIVETESS_W = 183,
- D3DRS_ENABLEADAPTIVETESSELLATION= 184,
- D3DRS_TWOSIDEDSTENCILMODE = 185,
- D3DRS_CCW_STENCILFAIL = 186,
- D3DRS_CCW_STENCILZFAIL = 187,
- D3DRS_CCW_STENCILPASS = 188,
- D3DRS_CCW_STENCILFUNC = 189,
- D3DRS_COLORWRITEENABLE1 = 190,
- D3DRS_COLORWRITEENABLE2 = 191,
- D3DRS_COLORWRITEENABLE3 = 192,
- D3DRS_BLENDFACTOR = 193,
- D3DRS_SRGBWRITEENABLE = 194,
- D3DRS_DEPTHBIAS = 195,
- D3DRS_WRAP8 = 198,
- D3DRS_WRAP9 = 199,
- D3DRS_WRAP10 = 200,
- D3DRS_WRAP11 = 201,
- D3DRS_WRAP12 = 202,
- D3DRS_WRAP13 = 203,
- D3DRS_WRAP14 = 204,
- D3DRS_WRAP15 = 205,
- D3DRS_SEPARATEALPHABLENDENABLE = 206,
- D3DRS_SRCBLENDALPHA = 207,
- D3DRS_DESTBLENDALPHA = 208,
- D3DRS_BLENDOPALPHA = 209,
-
- D3DRS_FORCE_DWORD = 0x7fffffff
-} D3DRENDERSTATETYPE;
-
-typedef enum _D3DRESOURCETYPE {
- D3DRTYPE_SURFACE = 1,
- D3DRTYPE_VOLUME = 2,
- D3DRTYPE_TEXTURE = 3,
- D3DRTYPE_VOLUMETEXTURE = 4,
- D3DRTYPE_CUBETEXTURE = 5,
- D3DRTYPE_VERTEXBUFFER = 6,
- D3DRTYPE_INDEXBUFFER = 7,
-
- D3DRTYPE_FORCE_DWORD = 0x7fffffff
-} D3DRESOURCETYPE;
-
-#define D3DRTYPECOUNT (D3DRTYPE_INDEXBUFFER+1)
-
-typedef enum _D3DSHADEMODE {
- D3DSHADE_FLAT = 1,
- D3DSHADE_GOURAUD = 2,
- D3DSHADE_PHONG = 3,
-
- D3DSHADE_FORCE_DWORD = 0x7fffffff
-} D3DSHADEMODE;
-
-typedef enum _D3DSTATEBLOCKTYPE {
- D3DSBT_ALL = 1,
- D3DSBT_PIXELSTATE = 2,
- D3DSBT_VERTEXSTATE = 3,
-
- D3DSBT_FORCE_DWORD = 0xffffffff
-} D3DSTATEBLOCKTYPE;
-
-typedef enum _D3DSTENCILOP {
- D3DSTENCILOP_KEEP = 1,
- D3DSTENCILOP_ZERO = 2,
- D3DSTENCILOP_REPLACE = 3,
- D3DSTENCILOP_INCRSAT = 4,
- D3DSTENCILOP_DECRSAT = 5,
- D3DSTENCILOP_INVERT = 6,
- D3DSTENCILOP_INCR = 7,
- D3DSTENCILOP_DECR = 8,
-
- D3DSTENCILOP_FORCE_DWORD = 0x7fffffff
-} D3DSTENCILOP;
-
-typedef enum _D3DSWAPEFFECT {
- D3DSWAPEFFECT_DISCARD = 1,
- D3DSWAPEFFECT_FLIP = 2,
- D3DSWAPEFFECT_COPY = 3,
- D3DSWAPEFFECT_FORCE_DWORD = 0xFFFFFFFF
-} D3DSWAPEFFECT;
-
-typedef enum _D3DTEXTUREADDRESS {
- D3DTADDRESS_WRAP = 1,
- D3DTADDRESS_MIRROR = 2,
- D3DTADDRESS_CLAMP = 3,
- D3DTADDRESS_BORDER = 4,
- D3DTADDRESS_MIRRORONCE = 5,
-
- D3DTADDRESS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREADDRESS;
-
-typedef enum _D3DTEXTUREFILTERTYPE {
- D3DTEXF_NONE = 0,
- D3DTEXF_POINT = 1,
- D3DTEXF_LINEAR = 2,
- D3DTEXF_ANISOTROPIC = 3,
- D3DTEXF_FLATCUBIC = 4,
- D3DTEXF_GAUSSIANCUBIC = 5,
- D3DTEXF_PYRAMIDALQUAD = 6,
- D3DTEXF_GAUSSIANQUAD = 7,
- D3DTEXF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREFILTERTYPE;
-
-typedef enum _D3DTEXTUREOP {
- D3DTOP_DISABLE = 1,
- D3DTOP_SELECTARG1 = 2,
- D3DTOP_SELECTARG2 = 3,
- D3DTOP_MODULATE = 4,
- D3DTOP_MODULATE2X = 5,
- D3DTOP_MODULATE4X = 6,
- D3DTOP_ADD = 7,
- D3DTOP_ADDSIGNED = 8,
- D3DTOP_ADDSIGNED2X = 9,
- D3DTOP_SUBTRACT = 10,
- D3DTOP_ADDSMOOTH = 11,
- D3DTOP_BLENDDIFFUSEALPHA = 12,
- D3DTOP_BLENDTEXTUREALPHA = 13,
- D3DTOP_BLENDFACTORALPHA = 14,
- D3DTOP_BLENDTEXTUREALPHAPM = 15,
- D3DTOP_BLENDCURRENTALPHA = 16,
- D3DTOP_PREMODULATE = 17,
- D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
- D3DTOP_MODULATECOLOR_ADDALPHA = 19,
- D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
- D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
- D3DTOP_BUMPENVMAP = 22,
- D3DTOP_BUMPENVMAPLUMINANCE = 23,
- D3DTOP_DOTPRODUCT3 = 24,
- D3DTOP_MULTIPLYADD = 25,
- D3DTOP_LERP = 26,
-
- D3DTOP_FORCE_DWORD = 0x7fffffff,
-} D3DTEXTUREOP;
-
-typedef enum _D3DTEXTURESTAGESTATETYPE {
- D3DTSS_COLOROP = 1,
- D3DTSS_COLORARG1 = 2,
- D3DTSS_COLORARG2 = 3,
- D3DTSS_ALPHAOP = 4,
- D3DTSS_ALPHAARG1 = 5,
- D3DTSS_ALPHAARG2 = 6,
- D3DTSS_BUMPENVMAT00 = 7,
- D3DTSS_BUMPENVMAT01 = 8,
- D3DTSS_BUMPENVMAT10 = 9,
- D3DTSS_BUMPENVMAT11 = 10,
- D3DTSS_TEXCOORDINDEX = 11,
- D3DTSS_BUMPENVLSCALE = 22,
- D3DTSS_BUMPENVLOFFSET = 23,
- D3DTSS_TEXTURETRANSFORMFLAGS = 24,
- D3DTSS_COLORARG0 = 26,
- D3DTSS_ALPHAARG0 = 27,
- D3DTSS_RESULTARG = 28,
- D3DTSS_CONSTANT = 32,
-
- D3DTSS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURESTAGESTATETYPE;
-
-typedef enum _D3DTEXTURETRANSFORMFLAGS {
- D3DTTFF_DISABLE = 0,
- D3DTTFF_COUNT1 = 1,
- D3DTTFF_COUNT2 = 2,
- D3DTTFF_COUNT3 = 3,
- D3DTTFF_COUNT4 = 4,
- D3DTTFF_PROJECTED = 256,
-
- D3DTTFF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURETRANSFORMFLAGS;
-
-typedef enum _D3DTRANSFORMSTATETYPE {
- D3DTS_VIEW = 2,
- D3DTS_PROJECTION = 3,
- D3DTS_TEXTURE0 = 16,
- D3DTS_TEXTURE1 = 17,
- D3DTS_TEXTURE2 = 18,
- D3DTS_TEXTURE3 = 19,
- D3DTS_TEXTURE4 = 20,
- D3DTS_TEXTURE5 = 21,
- D3DTS_TEXTURE6 = 22,
- D3DTS_TEXTURE7 = 23,
-
- D3DTS_FORCE_DWORD = 0x7fffffff
-} D3DTRANSFORMSTATETYPE;
-
-typedef enum _D3DVERTEXBLENDFLAGS {
- D3DVBF_DISABLE = 0,
- D3DVBF_1WEIGHTS = 1,
- D3DVBF_2WEIGHTS = 2,
- D3DVBF_3WEIGHTS = 3,
- D3DVBF_TWEENING = 255,
- D3DVBF_0WEIGHTS = 256
-} D3DVERTEXBLENDFLAGS;
-
-typedef enum _D3DZBUFFERTYPE {
- D3DZB_FALSE = 0,
- D3DZB_TRUE = 1,
- D3DZB_USEW = 2,
-
- D3DZB_FORCE_DWORD = 0x7fffffff
-} D3DZBUFFERTYPE;
-
-typedef enum _D3DSAMPLERSTATETYPE {
- D3DSAMP_ADDRESSU = 1,
- D3DSAMP_ADDRESSV = 2,
- D3DSAMP_ADDRESSW = 3,
- D3DSAMP_BORDERCOLOR = 4,
- D3DSAMP_MAGFILTER = 5,
- D3DSAMP_MINFILTER = 6,
- D3DSAMP_MIPFILTER = 7,
- D3DSAMP_MIPMAPLODBIAS = 8,
- D3DSAMP_MAXMIPLEVEL = 9,
- D3DSAMP_MAXANISOTROPY = 10,
- D3DSAMP_SRGBTEXTURE = 11,
- D3DSAMP_ELEMENTINDEX = 12,
- D3DSAMP_DMAPOFFSET = 13,
-
- D3DSAMP_FORCE_DWORD = 0x7fffffff,
-} D3DSAMPLERSTATETYPE;
-
-
-/*****************************************************************************
- * Direct 3D v9 typedefs
- */
-#ifndef D3DCOLOR_DEFINED
-typedef DWORD D3DCOLOR;
-#define D3DCOLOR_DEFINED
-#endif
-
-/*****************************************************************************
- * Direct 3D v9 structures
- */
-typedef struct _D3DADAPTER_IDENTIFIER9 {
- char Driver[MAX_DEVICE_IDENTIFIER_STRING];
- char Description[MAX_DEVICE_IDENTIFIER_STRING];
- char DeviceName[32];
- LARGE_INTEGER DriverVersion;
-
- DWORD VendorId;
- DWORD DeviceId;
- DWORD SubSysId;
- DWORD Revision;
-
- GUID DeviceIdentifier;
-
- DWORD WHQLLevel;
-} D3DADAPTER_IDENTIFIER9;
-
-typedef struct _D3DBOX {
- UINT Left;
- UINT Top;
- UINT Right;
- UINT Bottom;
- UINT Front;
- UINT Back;
-} D3DBOX;
-
-typedef struct _D3DCLIPSTATUS9 {
- DWORD ClipUnion;
- DWORD ClipIntersection;
-} D3DCLIPSTATUS9;
-
-#ifndef D3DCOLORVALUE_DEFINED
-typedef struct _D3DCOLORVALUE {
- float r;
- float g;
- float b;
- float a;
-} D3DCOLORVALUE;
-#define D3DCOLORVALUE_DEFINED
-#endif
-
-typedef struct _D3DDEVICE_CREATION_PARAMETERS {
- UINT AdapterOrdinal;
- D3DDEVTYPE DeviceType;
- HWND hFocusWindow;
- DWORD BehaviorFlags;
-} D3DDEVICE_CREATION_PARAMETERS;
-
-typedef struct _D3DDEVINFO_D3D9BANDWIDTHTIMINGS {
- float MaxBandwidthUtilized;
- float FrontEndUploadMemoryUtilizedPercent;
- float VertexRateUtilizedPercent;
- float TriangleSetupRateUtilizedPercent;
- float FillRateUtilizedPercent;
-} D3DDEVINFO_D3D9BANDWIDTHTIMINGS;
-
-typedef struct _D3DDEVINFO_D3D9CACHEUTILIZATION {
- float TextureCacheHitRate;
- float PostTransformVertexCacheHitRate;
-} D3DDEVINFO_D3D9CACHEUTILIZATION;
-
-typedef struct _D3DDEVINFO_D3D9INTERFACETIMINGS {
- float WaitingForGPUToUseApplicationResourceTimePercent;
- float WaitingForGPUToAcceptMoreCommandsTimePercent;
- float WaitingForGPUToStayWithinLatencyTimePercent;
- float WaitingForGPUExclusiveResourceTimePercent;
- float WaitingForGPUOtherTimePercent;
-} D3DDEVINFO_D3D9INTERFACETIMINGS;
-
-typedef struct _D3DDEVINFO_D3D9PIPELINETIMINGS {
- float VertexProcessingTimePercent;
- float PixelProcessingTimePercent;
- float OtherGPUProcessingTimePercent;
- float GPUIdleTimePercent;
-} D3DDEVINFO_D3D9PIPELINETIMINGS;
-
-typedef struct _D3DDEVINFO_D3D9STAGETIMINGS {
- float MemoryProcessingPercent;
- float ComputationProcessingPercent;
-} D3DDEVINFO_D3D9STAGETIMINGS;
-
-
-/* Vertex cache optimization hints. */
-typedef struct D3DDEVINFO_VCACHE {
- /* Must be a 4 char code FOURCC (e.g. CACH) */
- DWORD Pattern;
- /* 0 to get the longest strips, 1 vertex cache */
- DWORD OptMethod;
- /* Cache size to use (only valid if OptMethod==1) */
- DWORD CacheSize;
- /* internal for deciding when to restart strips, non user modifyable (only valid if OptMethod==1) */
- DWORD MagicNumber;
-} D3DDEVINFO_VCACHE;
-
-typedef struct D3DRESOURCESTATS {
- BOOL bThrashing;
- DWORD ApproxBytesDownloaded;
- DWORD NumEvicts;
- DWORD NumVidCreates;
- DWORD LastPri;
- DWORD NumUsed;
- DWORD NumUsedInVidMem;
- DWORD WorkingSet;
- DWORD WorkingSetBytes;
- DWORD TotalManaged;
- DWORD TotalBytes;
-} D3DRESOURCESTATS;
-
-typedef struct _D3DDEVINFO_D3DRESOURCEMANAGER {
- D3DRESOURCESTATS stats[D3DRTYPECOUNT];
-} D3DDEVINFO_D3DRESOURCEMANAGER;
-
-typedef struct _D3DDEVINFO_D3DVERTEXSTATS {
- DWORD NumRenderedTriangles;
- DWORD NumExtraClippingTriangles;
-} D3DDEVINFO_D3DVERTEXSTATS;
-
-typedef struct _D3DDISPLAYMODE {
- UINT Width;
- UINT Height;
- UINT RefreshRate;
- D3DFORMAT Format;
-} D3DDISPLAYMODE;
-
-typedef struct _D3DGAMMARAMP {
- WORD red [256];
- WORD green[256];
- WORD blue [256];
-} D3DGAMMARAMP;
-
-typedef struct _D3DINDEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
-} D3DINDEXBUFFER_DESC;
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- float x;
- float y;
- float z;
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-
-typedef struct _D3DLIGHT9 {
- D3DLIGHTTYPE Type;
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Ambient;
- D3DVECTOR Position;
- D3DVECTOR Direction;
- float Range;
- float Falloff;
- float Attenuation0;
- float Attenuation1;
- float Attenuation2;
- float Theta;
- float Phi;
-} D3DLIGHT9;
-
-typedef struct _D3DLINEPATTERN {
- WORD wRepeatFactor;
- WORD wLinePattern;
-} D3DLINEPATTERN;
-
-typedef struct _D3DLOCKED_BOX {
- INT RowPitch;
- INT SlicePitch;
- void* pBits;
-} D3DLOCKED_BOX;
-
-typedef struct _D3DLOCKED_RECT {
- INT Pitch;
- void* pBits;
-} D3DLOCKED_RECT;
-
-typedef struct _D3DMATERIAL9 {
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Ambient;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Emissive;
- float Power;
-} D3DMATERIAL9;
-
-#ifndef D3DMATRIX_DEFINED
-typedef struct _D3DMATRIX {
- union {
- struct {
- float _11, _12, _13, _14;
- float _21, _22, _23, _24;
- float _31, _32, _33, _34;
- float _41, _42, _43, _44;
- } DUMMYSTRUCTNAME;
- float m[4][4];
- } DUMMYUNIONNAME;
-} D3DMATRIX;
-#define D3DMATRIX_DEFINED
-#endif
-
-typedef struct _D3DPRESENT_PARAMETERS_ {
- UINT BackBufferWidth;
- UINT BackBufferHeight;
- D3DFORMAT BackBufferFormat;
- UINT BackBufferCount;
-
- D3DMULTISAMPLE_TYPE MultiSampleType;
- DWORD MultiSampleQuality;
-
- D3DSWAPEFFECT SwapEffect;
- HWND hDeviceWindow;
- BOOL Windowed;
- BOOL EnableAutoDepthStencil;
- D3DFORMAT AutoDepthStencilFormat;
- DWORD Flags;
-
- UINT FullScreen_RefreshRateInHz;
- UINT PresentationInterval;
-
-} D3DPRESENT_PARAMETERS;
-
-typedef struct _D3DRANGE {
- UINT Offset;
- UINT Size;
-} D3DRANGE;
-
-typedef struct _D3DRASTER_STATUS {
- BOOL InVBlank;
- UINT ScanLine;
-} D3DRASTER_STATUS;
-
-#ifndef D3DRECT_DEFINED
-typedef struct _D3DRECT {
- LONG x1;
- LONG y1;
- LONG x2;
- LONG y2;
-} D3DRECT;
-#define D3DRECT_DEFINED
-#endif
-
-typedef struct _D3DRECTPATCH_INFO {
- UINT StartVertexOffsetWidth;
- UINT StartVertexOffsetHeight;
- UINT Width;
- UINT Height;
- UINT Stride;
- D3DBASISTYPE Basis;
- D3DDEGREETYPE Degree;
-} D3DRECTPATCH_INFO;
-
-typedef struct _D3DSURFACE_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- D3DMULTISAMPLE_TYPE MultiSampleType;
- DWORD MultiSampleQuality;
- UINT Width;
- UINT Height;
-} D3DSURFACE_DESC;
-
-typedef struct _D3DTRIPATCH_INFO {
- UINT StartVertexOffset;
- UINT NumVertices;
- D3DBASISTYPE Basis;
- D3DDEGREETYPE Degree;
-} D3DTRIPATCH_INFO;
-
-typedef struct _D3DVERTEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- DWORD FVF;
-} D3DVERTEXBUFFER_DESC;
-
-typedef struct _D3DVIEWPORT9 {
- DWORD X;
- DWORD Y;
- DWORD Width;
- DWORD Height;
- float MinZ;
- float MaxZ;
-} D3DVIEWPORT9;
-
-typedef struct _D3DVOLUME_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
-
- UINT Width;
- UINT Height;
- UINT Depth;
-} D3DVOLUME_DESC;
-
-/* Parts added with d3d9ex */
-#if !defined(D3D_DISABLE_9EX)
-typedef enum D3DSCANLINEORDERING
-{
- D3DSCANLINEORDERING_UNKNOWN,
- D3DSCANLINEORDERING_PROGRESSIVE,
- D3DSCANLINEORDERING_INTERLACED,
-} D3DSCANLINEORDERING;
-
-
-typedef struct D3DDISPLAYMODEFILTER
-{
- UINT Size;
- D3DFORMAT Format;
- D3DSCANLINEORDERING ScanLineOrdering;
-} D3DDISPLAYMODEFILTER;
-
-typedef struct D3DDISPLAYMODEEX
-{
- UINT Size;
- UINT Width;
- UINT Height;
- UINT RefreshRate;
- D3DFORMAT Format;
- D3DSCANLINEORDERING ScanLineOrdering;
-} D3DDISPLAYMODEEX;
-
-typedef enum D3DDISPLAYROTATION
-{
- D3DDISPLAYROTATION_IDENTITY = 1,
- D3DDISPLAYROTATION_90,
- D3DDISPLAYROTATION_180,
- D3DDISPLAYROTATION_270
-} D3DDISPLAYROTATION;
-
-typedef enum _D3DCOMPOSERECTSOP{
- D3DCOMPOSERECTS_COPY = 1,
- D3DCOMPOSERECTS_OR,
- D3DCOMPOSERECTS_AND,
- D3DCOMPOSERECTS_NEG,
- D3DCOMPOSERECTS_FORCE_DWORD = 0x7fffffff
-} D3DCOMPOSERECTSOP;
-#endif /* D3D_DISABLE_9EX */
-
-typedef enum _D3DSHADER_COMPARISON
-{
- D3DSPC_RESERVED0 = 0,
- D3DSPC_GT,
- D3DSPC_EQ,
- D3DSPC_GE,
- D3DSPC_LT,
- D3DSPC_NE,
- D3DSPC_LE,
- D3DSPC_RESERVED1,
-} D3DSHADER_COMPARISON;
-
-#endif /* __WINE_D3D9TYPES_H */
+++ /dev/null
-/*
- * Copyright (C) 2000 Peter Hunnisett
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3DCAPS_H
-#define __WINE_D3DCAPS_H
-
-#include <ddraw.h>
-
-typedef struct _D3DTRANSFORMCAPS {
- DWORD dwSize;
- DWORD dwCaps;
-} D3DTRANSFORMCAPS, *LPD3DTRANSFORMCAPS;
-
-#define D3DTRANSFORMCAPS_CLIP 0x00000001L
-
-typedef struct _D3DLIGHTINGCAPS {
- DWORD dwSize;
- DWORD dwCaps;
- DWORD dwLightingModel;
- DWORD dwNumLights;
-} D3DLIGHTINGCAPS, *LPD3DLIGHTINGCAPS;
-
-#define D3DLIGHTINGMODEL_RGB 0x00000001
-#define D3DLIGHTINGMODEL_MONO 0x00000002
-
-#define D3DLIGHTCAPS_POINT 0x00000001
-#define D3DLIGHTCAPS_SPOT 0x00000002
-#define D3DLIGHTCAPS_DIRECTIONAL 0x00000004
-#define D3DLIGHTCAPS_PARALLELPOINT 0x00000008
-#define D3DLIGHTCAPS_GLSPOT 0x00000010
-
-typedef struct _D3dPrimCaps {
- DWORD dwSize;
- DWORD dwMiscCaps;
- DWORD dwRasterCaps;
- DWORD dwZCmpCaps;
- DWORD dwSrcBlendCaps;
- DWORD dwDestBlendCaps;
- DWORD dwAlphaCmpCaps;
- DWORD dwShadeCaps;
- DWORD dwTextureCaps;
- DWORD dwTextureFilterCaps;
- DWORD dwTextureBlendCaps;
- DWORD dwTextureAddressCaps;
- DWORD dwStippleWidth;
- DWORD dwStippleHeight;
-} D3DPRIMCAPS, *LPD3DPRIMCAPS;
-
-#define D3DPMISCCAPS_MASKPLANES 0x00000001
-#define D3DPMISCCAPS_MASKZ 0x00000002
-#define D3DPMISCCAPS_LINEPATTERNREP 0x00000004
-#define D3DPMISCCAPS_CONFORMANT 0x00000008
-#define D3DPMISCCAPS_CULLNONE 0x00000010
-#define D3DPMISCCAPS_CULLCW 0x00000020
-#define D3DPMISCCAPS_CULLCCW 0x00000040
-
-#define D3DPRASTERCAPS_DITHER 0x00000001
-#define D3DPRASTERCAPS_ROP2 0x00000002
-#define D3DPRASTERCAPS_XOR 0x00000004
-#define D3DPRASTERCAPS_PAT 0x00000008
-#define D3DPRASTERCAPS_ZTEST 0x00000010
-#define D3DPRASTERCAPS_SUBPIXEL 0x00000020
-#define D3DPRASTERCAPS_SUBPIXELX 0x00000040
-#define D3DPRASTERCAPS_FOGVERTEX 0x00000080
-#define D3DPRASTERCAPS_FOGTABLE 0x00000100
-#define D3DPRASTERCAPS_STIPPLE 0x00000200
-#define D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT 0x00000400
-#define D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT 0x00000800
-#define D3DPRASTERCAPS_ANTIALIASEDGES 0x00001000
-#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000
-#define D3DPRASTERCAPS_ZBIAS 0x00004000
-#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000
-#define D3DPRASTERCAPS_FOGRANGE 0x00010000
-#define D3DPRASTERCAPS_ANISOTROPY 0x00020000
-#define D3DPRASTERCAPS_WBUFFER 0x00040000
-#define D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT 0x00080000
-#define D3DPRASTERCAPS_WFOG 0x00100000
-#define D3DPRASTERCAPS_ZFOG 0x00200000
-
-#define D3DPCMPCAPS_NEVER 0x00000001
-#define D3DPCMPCAPS_LESS 0x00000002
-#define D3DPCMPCAPS_EQUAL 0x00000004
-#define D3DPCMPCAPS_LESSEQUAL 0x00000008
-#define D3DPCMPCAPS_GREATER 0x00000010
-#define D3DPCMPCAPS_NOTEQUAL 0x00000020
-#define D3DPCMPCAPS_GREATEREQUAL 0x00000040
-#define D3DPCMPCAPS_ALWAYS 0x00000080
-
-#define D3DPBLENDCAPS_ZERO 0x00000001
-#define D3DPBLENDCAPS_ONE 0x00000002
-#define D3DPBLENDCAPS_SRCCOLOR 0x00000004
-#define D3DPBLENDCAPS_INVSRCCOLOR 0x00000008
-#define D3DPBLENDCAPS_SRCALPHA 0x00000010
-#define D3DPBLENDCAPS_INVSRCALPHA 0x00000020
-#define D3DPBLENDCAPS_DESTALPHA 0x00000040
-#define D3DPBLENDCAPS_INVDESTALPHA 0x00000080
-#define D3DPBLENDCAPS_DESTCOLOR 0x00000100
-#define D3DPBLENDCAPS_INVDESTCOLOR 0x00000200
-#define D3DPBLENDCAPS_SRCALPHASAT 0x00000400
-#define D3DPBLENDCAPS_BOTHSRCALPHA 0x00000800
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
-
-#define D3DPSHADECAPS_COLORFLATMONO 0x00000001
-#define D3DPSHADECAPS_COLORFLATRGB 0x00000002
-#define D3DPSHADECAPS_COLORGOURAUDMONO 0x00000004
-#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00000008
-#define D3DPSHADECAPS_COLORPHONGMONO 0x00000010
-#define D3DPSHADECAPS_COLORPHONGRGB 0x00000020
-
-#define D3DPSHADECAPS_SPECULARFLATMONO 0x00000040
-#define D3DPSHADECAPS_SPECULARFLATRGB 0x00000080
-#define D3DPSHADECAPS_SPECULARGOURAUDMONO 0x00000100
-#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200
-#define D3DPSHADECAPS_SPECULARPHONGMONO 0x00000400
-#define D3DPSHADECAPS_SPECULARPHONGRGB 0x00000800
-
-#define D3DPSHADECAPS_ALPHAFLATBLEND 0x00001000
-#define D3DPSHADECAPS_ALPHAFLATSTIPPLED 0x00002000
-#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x00004000
-#define D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x00008000
-#define D3DPSHADECAPS_ALPHAPHONGBLEND 0x00010000
-#define D3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x00020000
-
-#define D3DPSHADECAPS_FOGFLAT 0x00040000
-#define D3DPSHADECAPS_FOGGOURAUD 0x00080000
-#define D3DPSHADECAPS_FOGPHONG 0x00100000
-
-#define D3DPTEXTURECAPS_PERSPECTIVE 0x00000001
-#define D3DPTEXTURECAPS_POW2 0x00000002
-#define D3DPTEXTURECAPS_ALPHA 0x00000004
-#define D3DPTEXTURECAPS_TRANSPARENCY 0x00000008
-#define D3DPTEXTURECAPS_BORDER 0x00000010
-#define D3DPTEXTURECAPS_SQUAREONLY 0x00000020
-#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040
-#define D3DPTEXTURECAPS_ALPHAPALETTE 0x00000080
-#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100L
-/* yes actually 0x00000200 is unused - or at least unreleased */
-#define D3DPTEXTURECAPS_PROJECTED 0x00000400
-#define D3DPTEXTURECAPS_CUBEMAP 0x00000800
-#define D3DPTEXTURECAPS_COLORKEYBLEND 0x00001000
-
-#define D3DPTFILTERCAPS_NEAREST 0x00000001
-#define D3DPTFILTERCAPS_LINEAR 0x00000002
-#define D3DPTFILTERCAPS_MIPNEAREST 0x00000004
-#define D3DPTFILTERCAPS_MIPLINEAR 0x00000008
-#define D3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010
-#define D3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020
-/* yes - missing numbers */
-#define D3DPTFILTERCAPS_MINFPOINT 0x00000100
-#define D3DPTFILTERCAPS_MINFLINEAR 0x00000200
-#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400
-/* yes - missing numbers */
-#define D3DPTFILTERCAPS_MIPFPOINT 0x00010000
-#define D3DPTFILTERCAPS_MIPFLINEAR 0x00020000
-/* yes - missing numbers */
-#define D3DPTFILTERCAPS_MAGFPOINT 0x01000000
-#define D3DPTFILTERCAPS_MAGFLINEAR 0x02000000
-#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000
-#define D3DPTFILTERCAPS_MAGFAFLATCUBIC 0x08000000
-#define D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC 0x10000000
-
-#define D3DPTBLENDCAPS_DECAL 0x00000001
-#define D3DPTBLENDCAPS_MODULATE 0x00000002
-#define D3DPTBLENDCAPS_DECALALPHA 0x00000004
-#define D3DPTBLENDCAPS_MODULATEALPHA 0x00000008
-#define D3DPTBLENDCAPS_DECALMASK 0x00000010
-#define D3DPTBLENDCAPS_MODULATEMASK 0x00000020
-#define D3DPTBLENDCAPS_COPY 0x00000040
-#define D3DPTBLENDCAPS_ADD 0x00000080
-
-#define D3DPTADDRESSCAPS_WRAP 0x00000001
-#define D3DPTADDRESSCAPS_MIRROR 0x00000002
-#define D3DPTADDRESSCAPS_CLAMP 0x00000004
-#define D3DPTADDRESSCAPS_BORDER 0x00000008
-#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x00000010
-
-
-typedef struct _D3DDeviceDesc {
- DWORD dwSize;
- DWORD dwFlags;
- D3DCOLORMODEL dcmColorModel;
- DWORD dwDevCaps;
- D3DTRANSFORMCAPS dtcTransformCaps;
- BOOL bClipping;
- D3DLIGHTINGCAPS dlcLightingCaps;
- D3DPRIMCAPS dpcLineCaps;
- D3DPRIMCAPS dpcTriCaps;
- DWORD dwDeviceRenderBitDepth;
- DWORD dwDeviceZBufferBitDepth;
- DWORD dwMaxBufferSize;
- DWORD dwMaxVertexCount;
-
- DWORD dwMinTextureWidth,dwMinTextureHeight;
- DWORD dwMaxTextureWidth,dwMaxTextureHeight;
- DWORD dwMinStippleWidth,dwMaxStippleWidth;
- DWORD dwMinStippleHeight,dwMaxStippleHeight;
-
- DWORD dwMaxTextureRepeat;
- DWORD dwMaxTextureAspectRatio;
- DWORD dwMaxAnisotropy;
-
- D3DVALUE dvGuardBandLeft;
- D3DVALUE dvGuardBandTop;
- D3DVALUE dvGuardBandRight;
- D3DVALUE dvGuardBandBottom;
-
- D3DVALUE dvExtentsAdjust;
- DWORD dwStencilCaps;
-
- DWORD dwFVFCaps;
- DWORD dwTextureOpCaps;
- WORD wMaxTextureBlendStages;
- WORD wMaxSimultaneousTextures;
-} D3DDEVICEDESC,*LPD3DDEVICEDESC;
-#define D3DDEVICEDESCSIZE (sizeof(D3DDEVICEDESC))
-
-typedef struct _D3DDeviceDesc7 {
- DWORD dwDevCaps;
- D3DPRIMCAPS dpcLineCaps;
- D3DPRIMCAPS dpcTriCaps;
- DWORD dwDeviceRenderBitDepth;
- DWORD dwDeviceZBufferBitDepth;
-
- DWORD dwMinTextureWidth, dwMinTextureHeight;
- DWORD dwMaxTextureWidth, dwMaxTextureHeight;
-
- DWORD dwMaxTextureRepeat;
- DWORD dwMaxTextureAspectRatio;
- DWORD dwMaxAnisotropy;
-
- D3DVALUE dvGuardBandLeft;
- D3DVALUE dvGuardBandTop;
- D3DVALUE dvGuardBandRight;
- D3DVALUE dvGuardBandBottom;
-
- D3DVALUE dvExtentsAdjust;
- DWORD dwStencilCaps;
- DWORD dwFVFCaps;
- DWORD dwTextureOpCaps;
- WORD wMaxTextureBlendStages;
- WORD wMaxSimultaneousTextures;
-
- DWORD dwMaxActiveLights;
- D3DVALUE dvMaxVertexW;
- GUID deviceGUID;
-
- WORD wMaxUserClipPlanes;
- WORD wMaxVertexBlendMatrices;
-
- DWORD dwVertexProcessingCaps;
-
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwReserved4;
-} D3DDEVICEDESC7, *LPD3DDEVICEDESC7;
-#define D3DDEVICEDESC7SIZE (sizeof(D3DDEVICEDESC7))
-
-#define D3DDD_COLORMODEL 0x00000001
-#define D3DDD_DEVCAPS 0x00000002
-#define D3DDD_TRANSFORMCAPS 0x00000004
-#define D3DDD_LIGHTINGCAPS 0x00000008
-#define D3DDD_BCLIPPING 0x00000010
-#define D3DDD_LINECAPS 0x00000020
-#define D3DDD_TRICAPS 0x00000040
-#define D3DDD_DEVICERENDERBITDEPTH 0x00000080
-#define D3DDD_DEVICEZBUFFERBITDEPTH 0x00000100
-#define D3DDD_MAXBUFFERSIZE 0x00000200
-#define D3DDD_MAXVERTEXCOUNT 0x00000400
-
-#define D3DDEVCAPS_FLOATTLVERTEX 0x00000001
-#define D3DDEVCAPS_SORTINCREASINGZ 0x00000002
-#define D3DDEVCAPS_SORTDECREASINGZ 0X00000004
-#define D3DDEVCAPS_SORTEXACT 0x00000008
-#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x00000010
-#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x00000020
-#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x00000040
-#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x00000080
-#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x00000100
-#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x00000200
-#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x00000400
-#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x00000800
-#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x00001000
-#define D3DDEVCAPS_DRAWPRIMITIVES2 0x00002000
-#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x00004000
-#define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x00008000
-#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x00010000
-#define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x00020000
-#define D3DDEVCAPS_HWRASTERIZATION 0x00080000
-
-#define D3DSTENCILCAPS_KEEP 0x00000001
-#define D3DSTENCILCAPS_ZERO 0x00000002
-#define D3DSTENCILCAPS_REPLACE 0x00000004
-#define D3DSTENCILCAPS_INCRSAT 0x00000008
-#define D3DSTENCILCAPS_DECRSAT 0x00000010
-#define D3DSTENCILCAPS_INVERT 0x00000020
-#define D3DSTENCILCAPS_INCR 0x00000040
-#define D3DSTENCILCAPS_DECR 0x00000080
-
-#define D3DTEXOPCAPS_DISABLE 0x00000001
-#define D3DTEXOPCAPS_SELECTARG1 0x00000002
-#define D3DTEXOPCAPS_SELECTARG2 0x00000004
-#define D3DTEXOPCAPS_MODULATE 0x00000008
-#define D3DTEXOPCAPS_MODULATE2X 0x00000010
-#define D3DTEXOPCAPS_MODULATE4X 0x00000020
-#define D3DTEXOPCAPS_ADD 0x00000040
-#define D3DTEXOPCAPS_ADDSIGNED 0x00000080
-#define D3DTEXOPCAPS_ADDSIGNED2X 0x00000100
-#define D3DTEXOPCAPS_SUBTRACT 0x00000200
-#define D3DTEXOPCAPS_ADDSMOOTH 0x00000400
-#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x00000800
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x00001000
-#define D3DTEXOPCAPS_BLENDFACTORALPHA 0x00002000
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x00004000
-#define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x00008000
-#define D3DTEXOPCAPS_PREMODULATE 0x00010000
-#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x00020000
-#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x00040000
-#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x00080000
-#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x00100000
-#define D3DTEXOPCAPS_BUMPENVMAP 0x00200000
-#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x00400000
-#define D3DTEXOPCAPS_DOTPRODUCT3 0x00800000
-
-#define D3DFVFCAPS_TEXCOORDCOUNTMASK 0x0000FFFF
-#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x00080000
-
-#define D3DVTXPCAPS_TEXGEN 0x00000001
-#define D3DVTXPCAPS_MATERIALSOURCE7 0x00000002
-#define D3DVTXPCAPS_VERTEXFOG 0x00000004
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008
-#define D3DVTXPCAPS_POSITIONALLIGHTS 0x00000010
-#define D3DVTXPCAPS_LOCALVIEWER 0x00000020
-
-typedef HRESULT (CALLBACK *LPD3DENUMDEVICESCALLBACK)(LPGUID lpGuid,LPSTR lpDeviceDescription,LPSTR lpDeviceName,LPD3DDEVICEDESC,LPD3DDEVICEDESC,LPVOID);
-typedef HRESULT (CALLBACK *LPD3DENUMDEVICESCALLBACK7)(LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC7, LPVOID);
-
-#define D3DFDS_COLORMODEL 0x00000001
-#define D3DFDS_GUID 0x00000002
-#define D3DFDS_HARDWARE 0x00000004
-#define D3DFDS_TRIANGLES 0x00000008
-#define D3DFDS_LINES 0x00000010
-#define D3DFDS_MISCCAPS 0x00000020
-#define D3DFDS_RASTERCAPS 0x00000040
-#define D3DFDS_ZCMPCAPS 0x00000080
-#define D3DFDS_ALPHACMPCAPS 0x00000100
-#define D3DFDS_SRCBLENDCAPS 0x00000200
-#define D3DFDS_DSTBLENDCAPS 0x00000400
-#define D3DFDS_SHADECAPS 0x00000800
-#define D3DFDS_TEXTURECAPS 0x00001000
-#define D3DFDS_TEXTUREFILTERCAPS 0x00002000
-#define D3DFDS_TEXTUREBLENDCAPS 0x00004000
-#define D3DFDS_TEXTUREADDRESSCAPS 0x00008000
-
-typedef struct _D3DFINDDEVICESEARCH {
- DWORD dwSize;
- DWORD dwFlags;
- BOOL bHardware;
- D3DCOLORMODEL dcmColorModel;
- GUID guid;
- DWORD dwCaps;
- D3DPRIMCAPS dpcPrimCaps;
-} D3DFINDDEVICESEARCH,*LPD3DFINDDEVICESEARCH;
-
-typedef struct _D3DFINDDEVICERESULT {
- DWORD dwSize;
- GUID guid;
- D3DDEVICEDESC ddHwDesc;
- D3DDEVICEDESC ddSwDesc;
-} D3DFINDDEVICERESULT,*LPD3DFINDDEVICERESULT;
-
-typedef struct _D3DExecuteBufferDesc {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwCaps;
- DWORD dwBufferSize;
- LPVOID lpData;
-} D3DEXECUTEBUFFERDESC, *LPD3DEXECUTEBUFFERDESC;
-
-#define D3DDEB_BUFSIZE 0x00000001
-#define D3DDEB_CAPS 0x00000002
-#define D3DDEB_LPDATA 0x00000004
-
-#define D3DDEBCAPS_SYSTEMMEMORY 0x00000001
-#define D3DDEBCAPS_VIDEOMEMORY 0x00000002
-#define D3DDEBCAPS_MEM (D3DDEBCAPS_SYSTEMMEMORY|D3DDEBCAPS_VIDEOMEMORY) /* = 0x3 */
-
-typedef struct _D3DDEVINFO_TEXTUREMANAGER {
- BOOL bThrashing;
- DWORD dwApproxBytesDownloaded;
- DWORD dwNumEvicts;
- DWORD dwNumVidCreates;
- DWORD dwNumTexturesUsed;
- DWORD dwNumUsedTexInVid;
- DWORD dwWorkingSet;
- DWORD dwWorkingSetBytes;
- DWORD dwTotalManaged;
- DWORD dwTotalBytes;
- DWORD dwLastPri;
-} D3DDEVINFO_TEXTUREMANAGER, *LPD3DDEVINFO_TEXTUREMANAGER;
-
-typedef struct _D3DDEVINFO_TEXTURING {
- DWORD dwNumLoads;
- DWORD dwApproxBytesLoaded;
- DWORD dwNumPreLoads;
- DWORD dwNumSet;
- DWORD dwNumCreates;
- DWORD dwNumDestroys;
- DWORD dwNumSetPriorities;
- DWORD dwNumSetLODs;
- DWORD dwNumLocks;
- DWORD dwNumGetDCs;
-} D3DDEVINFO_TEXTURING, *LPD3DDEVINFO_TEXTURING;
-
-
-
-#endif
+++ /dev/null
-/*
- * Direct3D driver interface
- * (DirectX 7 version)
- *
- * Copyright (C) 2001 Ove Kaaven
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef _D3DHAL_H_
-#define _D3DHAL_H_
-
-#include <_mingw_dxhelper.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <d3d.h>
-
-/*****************************************************************************
- * device info structures
- */
-typedef struct _D3DDeviceDesc_V1 {
- DWORD dwSize;
- DWORD dwFlags;
- D3DCOLORMODEL dcmColorModel;
- DWORD dwDevCaps;
- D3DTRANSFORMCAPS dtcTransformCaps;
- WINBOOL bClipping;
- D3DLIGHTINGCAPS dlcLightingCaps;
- D3DPRIMCAPS dpcLineCaps;
- D3DPRIMCAPS dpcTriCaps;
- DWORD dwDeviceRenderBitDepth;
- DWORD dwDeviceZBufferBitDepth;
- DWORD dwMaxBufferSize;
- DWORD dwMaxVertexCount;
-} D3DDEVICEDESC_V1,*LPD3DDEVICEDESC_V1;
-
-/* this is to allow keeping the bulk of our OpenGL code out of x11drv */
-#define D3DDD_WINE_OPENGL_DEVICE 0x00008000
-
-typedef struct _D3DHAL_GLOBALDRIVERDATA {
- DWORD dwSize;
- D3DDEVICEDESC_V1 hwCaps;
- DWORD dwNumVertices;
- DWORD dwNumClipVertices;
- DWORD dwNumTextureFormats;
- LPDDSURFACEDESC lpTextureFormats;
-} D3DHAL_GLOBALDRIVERDATA;
-
-#ifndef D3DHAL_GLOBALDRIVERDATA_DEFINED
-typedef D3DHAL_GLOBALDRIVERDATA *LPD3DHAL_GLOBALDRIVERDATA;
-#define D3DHAL_GLOBALDRIVERDATA_DEFINED
-#endif
-
-typedef struct _D3DHAL_D3DEXTENDEDCAPS {
- DWORD dwSize;
- /* DirectX 5 */
- DWORD dwMinTextureWidth, dwMaxTextureWidth;
- DWORD dwMinTextureHeight, dwMaxTextureHeight;
- DWORD dwMinStippleWidth, dwMaxStippleWidth;
- DWORD dwMinStippleHeight, dwMaxStippleHeight;
- /* DirectX 6 */
- DWORD dwMaxTextureRepeat;
- DWORD dwMaxTextureAspectRatio;
- DWORD dwMaxAnisotropy;
- D3DVALUE dvGuardBandLeft;
- D3DVALUE dvGuardBandTop;
- D3DVALUE dvGuardBandRight;
- D3DVALUE dvGuardBandBottom;
- D3DVALUE dvExtentsAdjust;
- DWORD dwStencilCaps;
- DWORD dwFVFCaps;
- DWORD dwTextureOpCaps;
- WORD wMaxTextureBlendStages;
- WORD wMaxSimultaneousTextures;
- /* DirectX 7 */
- DWORD dwMaxActiveLights;
- D3DVALUE dvMaxVertexW;
- WORD wMaxUserClipPlanes;
- WORD wMaxVertexBlendMatrices;
- DWORD dwVertexProcessingCaps;
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwReserved4;
-} D3DHAL_D3DEXTENDEDCAPS,*LPD3DHAL_D3DEXTENDEDCAPS;
-
-/*****************************************************************************
- * d3d->driver callbacks
- */
-typedef struct _D3DHAL_CONTEXTCREATEDATA *LPD3DHAL_CONTEXTCREATEDATA;
-typedef struct _D3DHAL_CONTEXTDESTROYDATA *LPD3DHAL_CONTEXTDESTROYDATA;
-typedef struct _D3DHAL_CONTEXTDESTROYALLDATA *LPD3DHAL_CONTEXTDESTROYALLDATA;
-typedef struct _D3DHAL_SCENECAPTUREDATA *LPD3DHAL_SCENECAPTUREDATA;
-typedef struct _D3DHAL_RENDERSTATEDATA *LPD3DHAL_RENDERSTATEDATA;
-typedef struct _D3DHAL_RENDERPRIMITIVEDATA *LPD3DHAL_RENDERPRIMITIVEDATA;
-typedef struct _D3DHAL_TEXTURECREATEDATA *LPD3DHAL_TEXTURECREATEDATA;
-typedef struct _D3DHAL_TEXTUREDESTROYDATA *LPD3DHAL_TEXTUREDESTROYDATA;
-typedef struct _D3DHAL_TEXTURESWAPDATA *LPD3DHAL_TEXTURESWAPDATA;
-typedef struct _D3DHAL_TEXTUREGETSURFDATA *LPD3DHAL_TEXTUREGETSURFDATA;
-typedef struct _D3DHAL_GETSTATEDATA *LPD3DHAL_GETSTATEDATA;
-
-typedef DWORD (PASCAL *LPD3DHAL_CONTEXTCREATECB) (LPD3DHAL_CONTEXTCREATEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYCB) (LPD3DHAL_CONTEXTDESTROYDATA);
-typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYALLCB)(LPD3DHAL_CONTEXTDESTROYALLDATA);
-typedef DWORD (PASCAL *LPD3DHAL_SCENECAPTURECB) (LPD3DHAL_SCENECAPTUREDATA);
-typedef DWORD (PASCAL *LPD3DHAL_RENDERSTATECB) (LPD3DHAL_RENDERSTATEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_RENDERPRIMITIVECB) (LPD3DHAL_RENDERPRIMITIVEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_TEXTURECREATECB) (LPD3DHAL_TEXTURECREATEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_TEXTUREDESTROYCB) (LPD3DHAL_TEXTUREDESTROYDATA);
-typedef DWORD (PASCAL *LPD3DHAL_TEXTURESWAPCB) (LPD3DHAL_TEXTURESWAPDATA);
-typedef DWORD (PASCAL *LPD3DHAL_TEXTUREGETSURFCB) (LPD3DHAL_TEXTUREGETSURFDATA);
-typedef DWORD (PASCAL *LPD3DHAL_GETSTATECB) (LPD3DHAL_GETSTATEDATA);
-
-typedef struct _D3DHAL_CALLBACKS {
- DWORD dwSize;
- LPD3DHAL_CONTEXTCREATECB ContextCreate;
- LPD3DHAL_CONTEXTDESTROYCB ContextDestroy;
- LPD3DHAL_CONTEXTDESTROYALLCB ContextDestroyAll;
- LPD3DHAL_SCENECAPTURECB SceneCapture;
- LPVOID lpReserved10;
- LPVOID lpReserved11;
- LPD3DHAL_RENDERSTATECB RenderState;
- LPD3DHAL_RENDERPRIMITIVECB RenderPrimitive;
- DWORD dwReserved;
- LPD3DHAL_TEXTURECREATECB TextureCreate;
- LPD3DHAL_TEXTUREDESTROYCB TextureDestroy;
- LPD3DHAL_TEXTURESWAPCB TextureSwap;
- LPD3DHAL_TEXTUREGETSURFCB TextureGetSurf;
- /* now why did MS create CALLBACKS2 and CALLBACKS3 structures if
- * all these reserved fields were available? we may never know */
- LPVOID lpReserved12;
- LPVOID lpReserved13;
- LPVOID lpReserved14;
- LPVOID lpReserved15;
- LPVOID lpReserved16;
- LPVOID lpReserved17;
- LPVOID lpReserved18;
- LPVOID lpReserved19;
- LPVOID lpReserved20;
- LPVOID lpReserved21;
- LPD3DHAL_GETSTATECB GetState;
- DWORD dwReserved0;
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwReserved4;
- DWORD dwReserved5;
- DWORD dwReserved6;
- DWORD dwReserved7;
- DWORD dwReserved8;
- DWORD dwReserved9;
-} D3DHAL_CALLBACKS;
-
-#ifndef D3DHAL_CALLBACKS_DEFINED
-typedef D3DHAL_CALLBACKS *LPD3DHAL_CALLBACKS;
-#define D3DHAL_CALLBACKS_DEFINED
-#endif
-
-typedef struct _D3DHAL_SETRENDERTARGETDATA *LPD3DHAL_SETRENDERTARGETDATA;
-typedef struct _D3DHAL_CLEARDATA *LPD3DHAL_CLEARDATA;
-typedef struct _D3DHAL_DRAWONEPRIMITIVEDATA *LPD3DHAL_DRAWONEPRIMITIVEDATA;
-typedef struct _D3DHAL_DRAWONEINDEXEDPRIMITIVEDATA *LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA;
-typedef struct _D3DHAL_DRAWPRIMITIVESDATA *LPD3DHAL_DRAWPRIMITIVESDATA;
-
-typedef DWORD (PASCAL *LPD3DHAL_SETRENDERTARGETCB) (LPD3DHAL_SETRENDERTARGETDATA);
-typedef DWORD (PASCAL *LPD3DHAL_CLEARCB) (LPD3DHAL_CLEARDATA);
-typedef DWORD (PASCAL *LPD3DHAL_DRAWONEPRIMITIVECB) (LPD3DHAL_DRAWONEPRIMITIVEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB)(LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVESCB) (LPD3DHAL_DRAWPRIMITIVESDATA);
-
-typedef struct _D3DHAL_CALLBACKS2 {
- DWORD dwSize;
- DWORD dwFlags;
- LPD3DHAL_SETRENDERTARGETCB SetRenderTarget;
- LPD3DHAL_CLEARCB Clear;
- LPD3DHAL_DRAWONEPRIMITIVECB DrawOnePrimitive;
- LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB DrawOneIndexedPrimitive;
- LPD3DHAL_DRAWPRIMITIVESCB DrawPrimitives;
-} D3DHAL_CALLBACKS2,*LPD3DHAL_CALLBACKS2;
-
-typedef struct _D3DHAL_CLEAR2DATA *LPD3DHAL_CLEAR2DATA;
-typedef struct _D3DHAL_VALIDATETEXTURESTAGESTATEDATA *LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA;
-typedef struct _D3DHAL_DRAWPRIMITIVES2DATA *LPD3DHAL_DRAWPRIMITIVES2DATA;
-
-typedef DWORD (PASCAL *LPD3DHAL_CLEAR2CB) (LPD3DHAL_CLEAR2DATA);
-typedef DWORD (PASCAL *LPD3DHAL_VALIDATETEXTURESTAGESTATECB)(LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA);
-typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVES2CB) (LPD3DHAL_DRAWPRIMITIVES2DATA);
-
-typedef struct _D3DHAL_CALLBACKS3 {
- DWORD dwSize;
- DWORD dwFlags;
- LPD3DHAL_CLEAR2CB Clear2;
- LPVOID lpvReserved;
- LPD3DHAL_VALIDATETEXTURESTAGESTATECB ValidateTextureStageState;
- LPD3DHAL_DRAWPRIMITIVES2CB DrawPrimitives2;
-} D3DHAL_CALLBACKS3,*LPD3DHAL_CALLBACKS3;
-
-/*****************************************************************************
- * parameter structures
- */
-typedef struct _D3DHAL_CONTEXTCREATEDATA {
- union {
- LPDDRAWI_DIRECTDRAW_GBL lpDDGbl; /* pre-DirectX 7 */
- LPDDRAWI_DIRECTDRAW_LCL lpDDLcl; /* DirectX 7 */
- } DUMMYUNIONNAME1;
- union {
- LPDIRECTDRAWSURFACE lpDDS;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl; /* DirectX 7 */
- } DUMMYUNIONNAME2;
- union {
- LPDIRECTDRAWSURFACE lpDDSZ;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl; /* DirectX 7 */
- } DUMMYUNIONNAME3;
- union {
- DWORD dwPID;
- ULONG_PTR dwrstates;
- } DUMMYUNIONNAME4;
- ULONG_PTR dwhContext;
- HRESULT ddrval;
-} D3DHAL_CONTEXTCREATEDATA;
-
-typedef struct _D3DHAL_CONTEXTDESTROYDATA {
- ULONG_PTR dwhContext;
- HRESULT ddrval;
-} D3DHAL_CONTEXTDESTROYDATA;
-
-typedef struct _D3DHAL_CONTEXTDESTROYALLDATA {
- DWORD dwPID;
- HRESULT ddrval;
-} D3DHAL_CONTEXTDESTROYALLDATA;
-
-typedef struct _D3DHAL_SCENECAPTUREDATA {
- ULONG_PTR dwhContext;
- DWORD dwFlag;
- HRESULT ddrval;
-} D3DHAL_SCENECAPTUREDATA;
-
-#define D3DHAL_SCENE_CAPTURE_START 0x00000000
-#define D3DHAL_SCENE_CAPTURE_END 0x00000001
-
-typedef struct _D3DHAL_SETRENDERTARGETDATA {
- ULONG_PTR dwhContext;
- union {
- LPDIRECTDRAWSURFACE lpDDS;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl;
- } DUMMYUNIONNAME1;
- union {
- LPDIRECTDRAWSURFACE lpDDSZ;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl;
- } DUMMYUNIONNAME2;
- HRESULT ddrval;
-} D3DHAL_SETRENDERTARGETDATA;
-
-typedef struct _D3DHAL_DRAWPRIMITIVES2DATA {
- ULONG_PTR dwhContext;
- DWORD dwFlags;
- DWORD dwVertexType;
- LPDDRAWI_DDRAWSURFACE_LCL lpDDCommands;
- DWORD dwCommandOffset;
- DWORD dwCommandLength;
- union {
- LPDDRAWI_DDRAWSURFACE_LCL lpDDVertex;
- LPVOID lpVertices;
- } DUMMYUNIONNAME1;
- DWORD dwVertexOffset;
- DWORD dwVertexLength;
- DWORD dwReqVertexBufSize;
- DWORD dwReqCommandBufSize;
- LPDWORD lpdwRStates;
- union {
- DWORD dwVertexSize;
- HRESULT ddrval;
- } DUMMYUNIONNAME2;
- DWORD dwErrorOffset;
-} D3DHAL_DRAWPRIMITIVES2DATA;
-
-#define D3DHALDP2_USERMEMVERTICES 0x00000001
-#define D3DHALDP2_EXECUTEBUFFER 0x00000002
-#define D3DHALDP2_SWAPVERTEXBUFFER 0x00000004
-#define D3DHALDP2_SWAPCOMMANDBUFFER 0x00000008
-#define D3DHALDP2_REQVERTEXBUFSIZE 0x00000010
-#define D3DHALDP2_REQCOMMANDBUFSIZE 0x00000020
-#define D3DHALDP2_VIDMEMVERTEXBUF 0x00000040
-#define D3DHALDP2_VIDMEMCOMMANDBUF 0x00000080
-
-/*****************************************************************************
- * DrawPrimitives2 command structures
- */
-typedef struct _D3DHAL_DP2COMMAND {
- BYTE bCommand;
- BYTE bReserved;
- union {
- WORD wPrimitiveCount;
- WORD wStateCount;
- } DUMMYUNIONNAME;
-} D3DHAL_DP2COMMAND,*LPD3DHAL_DP2COMMAND;
-
-typedef enum _D3DHAL_DP2OPERATION {
- D3DDP2OP_POINTS = 1,
- D3DDP2OP_INDEXEDLINELIST = 2,
- D3DDP2OP_INDEXEDTRIANGLELIST = 3,
- D3DDP2OP_RENDERSTATE = 8,
- D3DDP2OP_LINELIST = 15,
- D3DDP2OP_LINESTRIP = 16,
- D3DDP2OP_INDEXEDLINESTRIP = 17,
- D3DDP2OP_TRIANGLELIST = 18,
- D3DDP2OP_TRIANGLESTRIP = 19,
- D3DDP2OP_INDEXEDTRIANGLESTRIP = 20,
- D3DDP2OP_TRIANGLEFAN = 21,
- D3DDP2OP_INDEXEDTRIANGLEFAN = 22,
- D3DDP2OP_TRIANGLEFAN_IMM = 23,
- D3DDP2OP_LINELIST_IMM = 24,
- D3DDP2OP_TEXTURESTAGESTATE = 25,
- D3DDP2OP_INDEXEDTRIANGLELIST2 = 26,
- D3DDP2OP_INDEXEDLINELIST2 = 27,
- D3DDP2OP_VIEWPORTINFO = 28,
- D3DDP2OP_WINFO = 29,
- /* pre-DirectX 7 interfaces */
- D3DDP2OP_SETPALETTE = 30,
- D3DDP2OP_UPDATEPALETTE = 31,
- /* DirectX 7 interfaces */
- D3DDP2OP_ZRANGE = 32,
- D3DDP2OP_SETMATERIAL = 33,
- D3DDP2OP_SETLIGHT = 34,
- D3DDP2OP_CREATELIGHT = 35,
- D3DDP2OP_SETTRANSFORM = 36,
- D3DDP2OP_TEXBLT = 38,
- D3DDP2OP_STATESET = 39,
- D3DDP2OP_SETPRIORITY = 40,
- /* all interfaces */
- D3DDP2OP_SETRENDERTARGET = 41,
- D3DDP2OP_CLEAR = 42,
- /* DirectX 7 interfaces */
- D3DDP2OP_SETTEXLOD = 43,
- D3DPP2OP_SETCLIPPLANE = 44,
-} D3DHAL_DP2OPERATION;
-
-/* point primitives */
-
-typedef struct _D3DHAL_POINTS {
- WORD wCount;
- WORD wVStart;
-} D3DHAL_DP2POINTS,*LPD3DHAL_DP2POINTS;
-
-/* line primitives */
-
-typedef struct _D3DHAL_DP2STARTVERTEX {
- WORD wVStart;
-} D3DHAL_DP2STARTVERTEX,*LPD3DHAL_DP2STARTVERTEX;
-
-typedef struct _D3DHAL_DP2LINELIST {
- WORD wVStart;
-} D3DHAL_DP2LINELIST,*LPD3DHAL_DP2LINELIST;
-
-typedef struct _D3DHAL_DP2INDEXEDLINELIST {
- WORD wV1;
- WORD wV2;
-} D3DHAL_DP2INDEXEDLINELIST,*LPD3DHAL_DP2INDEXEDLINELIST;
-
-typedef struct _D3DHAL_DP2LINESTRIP {
- WORD wVStart;
-} D3DHAL_DP2LINESTRIP,*LPD3DHAL_DP2LINESTRIP;
-
-typedef struct _D3DHAL_DP2INDEXEDLINESTRIP {
- WORD wV[2];
-} D3DHAL_DP2INDEXEDLINESTRIP,*LPD3DHAL_DP2INDEXEDLINESTRIP;
-
-/* triangle primitives */
-
-typedef struct _D3DHAL_DP2TRIANGLELIST {
- WORD wVStart;
-} D3DHAL_DP2TRIANGLELIST,*LPD3DHAL_DP2TRIANGLELIST;
-
-typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST {
- WORD wV1;
- WORD wV2;
- WORD wV3;
- WORD wFlags;
-} D3DHAL_DP2INDEXEDTRIANGLELIST,*LPD3DHAL_DP2INDEXEDTRIANGLELIST;
-
-typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST2 {
- WORD wV1;
- WORD wV2;
- WORD wV3;
-} D3DHAL_DP2INDEXEDTRIANGLELIST2,*LPD3DHAL_DP2INDEXEDTRIANGLELIST2;
-
-typedef struct _D3DHAL_DP2TRIANGLESTRIP {
- WORD wVStart;
-} D3DHAL_DP2TRIANGLESTRIP,*LPD3DHAL_DP2TRIANGLESTRIP;
-
-typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
- WORD wV[3];
-} D3DHAL_DP2INDEXEDTRIANGLESTRIP,*LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;
-
-typedef struct _D3DHAL_DP2TRIANGLEFAN {
- WORD wVStart;
-} D3DHAL_DP2TRIANGLEFAN,*LPD3DHAL_DP2TRIANGLEFAN;
-
-typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
- WORD wV[3];
-} D3DHAL_DP2INDEXEDTRIANGLEFAN,*LPD3DHAL_DP2INDEXEDTRIANGLEFAN;
-
-typedef struct _D3DHAL_DP2TRIANGLEFAN_IMM {
- DWORD dwEdgeFlags;
-} D3DHAL_DP2TRIANGLEFAN_IMM,*LPD3DHAL_DP2TRIANGLEFAN_IMM;
-
-/* render states */
-typedef struct _D3DHAL_DP2RENDERSTATE {
- D3DRENDERSTATETYPE RenderState;
- union {
- D3DVALUE dvState;
- DWORD dwState;
- } DUMMYUNIONNAME;
-} D3DHAL_DP2RENDERSTATE,*LPD3DHAL_DP2RENDERSTATE;
-
-typedef struct _D3DHAL_DP2TEXTURESTAGESTATE {
- WORD wStage;
- WORD TSState;
- DWORD dwValue;
-} D3DHAL_DP2TEXTURESTAGESTATE,*LPD3DHAL_DP2TEXTURESTAGESTATE;
-
-#define D3DTSS_TEXTUREMAP 0
-
-typedef struct _D3DHAL_DP2VIEWPORTINFO {
- DWORD dwX;
- DWORD dwY;
- DWORD dwWidth;
- DWORD dwHeight;
-} D3DHAL_DP2VIEWPORTINFO,*LPD3DHAL_DP2VIEWPORTINFO;
-
-typedef struct _D3DHAL_DP2WINFO {
- D3DVALUE dwWNear;
- D3DVALUE dwWFar;
-} D3DHAL_DP2WINFO,*LPD3DHAL_DP2WINFO;
-
-typedef struct _D3DHAL_DP2SETPALETTE {
- DWORD dwPaletteHandle;
- DWORD dwPaletteFlags;
- DWORD dwSurfaceHandle;
-} D3DHAL_DP2SETPALETTE,*LPD3DHAL_DP2SETPALETTE;
-
-typedef struct _D3DHAL_DP2UPDATEPALETTE {
- DWORD dwPaletteHandle;
- WORD wStartIndex;
- WORD wNumEntries;
-} D3DHAL_DP2UPDATEPALETTE,*LPD3DHAL_DP2UPDATEPALETTE;
-
-typedef struct _D3DHAL_DP2ZRANGE {
- D3DVALUE dvMinZ;
- D3DVALUE dvMaxZ;
-} D3DHAL_DP2ZRANGE,*LPD3DHAL_DP2ZRANGE;
-
-typedef D3DMATERIAL7 D3DHAL_DP2SETMATERIAL,*LPD3DHAL_DP2SETMATERIAL;
-
-typedef struct _D3DHAL_DP2SETLIGHT {
- DWORD dwIndex;
- DWORD dwDataType;
-} D3DHAL_DP2SETLIGHT,*LPD3DHAL_DP2SETLIGHT;
-
-#define D3DHAL_SETLIGHT_ENABLE 0
-#define D3DHAL_SETLIGHT_DISABLE 1
-#define D3DHAL_SETLIGHT_DATA 2
-
-typedef struct _D3DHAL_DP2CREATELIGHT {
- DWORD dwIndex;
-} D3DHAL_DP2CREATELIGHT,*LPD3DHAL_DP2CREATELIGHT;
-
-typedef struct _D3DHAL_DP2SETTRANSFORM {
- D3DTRANSFORMSTATETYPE xfrmType;
- D3DMATRIX matrix;
-} D3DHAL_DP2SETTRANSFORM,*LPD3DHAL_DP2SETTRANSFORM;
-
-typedef struct _D3DHAL_DP2TEXBLT {
- DWORD dwDDDestSurface;
- DWORD dwDDSrcSurface;
- POINT pDest;
- RECTL rSrc;
- DWORD dwFlags;
-} D3DHAL_DP2TEXBLT,*LPD3DHAL_DP2TEXBLT;
-
-typedef struct _D3DHAL_DP2STATESET {
- DWORD dwOperation;
- DWORD dwParam;
- D3DSTATEBLOCKTYPE sbType;
-} D3DHAL_DP2STATESET,*LPD3DHAL_DP2STATESET;
-
-#define D3DHAL_STATESETBEGIN 0
-#define D3DHAL_STATESETEND 1
-#define D3DHAL_STATESETDELETE 2
-#define D3DHAL_STATESETEXECUTE 3
-#define D3DHAL_STATESETCAPTURE 4
-
-typedef struct _D3DHAL_DP2SETPRIORITY {
- DWORD dwDDSurface;
- DWORD dwPriority;
-} D3DHAL_DP2SETPRIORITY,*LPD3DHAL_DP2SETPRIORITY;
-
-typedef struct _D3DHAL_DP2SETRENDERTARGET {
- DWORD hRenderTarget;
- DWORD hZBuffer;
-} D3DHAL_DP2SETRENDERTARGET,*LPD3DHAL_DP2SETRENDERTARGET;
-
-typedef struct _D3DHAL_DP2CLEAR {
- DWORD dwFlags;
- DWORD dwFillColor;
- D3DVALUE dvFillDepth;
- DWORD dwFillStencil;
- RECT Rects[1];
-} D3DHAL_DP2CLEAR,*LPD3DHAL_DP2CLEAR;
-
-typedef struct _D3DHAL_DP2SETTEXLOD {
- DWORD dwDDSurface;
- DWORD dwLOD;
-} D3DHAL_DP2SETTEXLOD,*LPD3DHAL_DP2SETTEXLOD;
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* _D3DHAL_H_ */
+++ /dev/null
-/*
- * Copyright (C) 2005 Peter Berg Larsen
- * Copyright (C) 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DRM_H__
-#define __D3DRM_H__
-
-#include <ddraw.h>
-
-typedef struct IDirect3DRM *LPDIRECT3DRM;
-
-#include <d3drmobj.h>
-
-
-/* Direct3DRM Object CLSID */
-DEFINE_GUID(CLSID_CDirect3DRM, 0x4516ec41, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-
-/* Direct3DRM Interface GUIDs */
-DEFINE_GUID(IID_IDirect3DRM, 0x2bc49361, 0x8327, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRM2, 0x4516ecc8, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRM3, 0x4516ec83, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-
-HRESULT WINAPI Direct3DRMCreate(LPDIRECT3DRM* ppDirect3DRM);
-
-/*****************************************************************************
- * IDirect3DRMObject interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRM
-DECLARE_INTERFACE_(IDirect3DRM,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRM methods ***/
- STDMETHOD(CreateObject)(THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(CreateFrame)(THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH *) PURE;
- STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER *) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE *) PURE;
- STDMETHOD(CreateAnimation)(THIS_ LPDIRECT3DRMANIMATION *) PURE;
- STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET *) PURE;
- STDMETHOD(CreateTexture)(THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(CreateLight)(THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateLightRGB)(THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateMaterial)(THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL *) PURE;
- STDMETHOD(CreateDevice)(THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(CreateDeviceFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack,
- LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(CreateDeviceFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev, LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(CreateDeviceFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height,
- LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(CreateShadow)(THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT, D3DVALUE px, D3DVALUE py, D3DVALUE pz,
- D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, LPDIRECT3DRMVISUAL *) PURE;
- STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE pDDS, LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD, DWORD, DWORD,
- LPDIRECT3DRMVIEWPORT *) PURE;
- STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
- D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov,
- D3DVALUE su, D3DVALUE sv, LPDIRECT3DRMWRAP *) PURE;
- STDMETHOD(CreateUserVisual)(THIS_ D3DRMUSERVISUALCALLBACK, LPVOID pArg, LPDIRECT3DRMUSERVISUAL *) PURE;
- STDMETHOD(LoadTexture)(THIS_ const char *, LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(LoadTextureFromResource)(THIS_ HRSRC rs, LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(SetSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(AddSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetSearchPath)(THIS_ DWORD *size_return, LPSTR path_return) PURE;
- STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
- STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
- STDMETHOD(GetDevices)(THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
- STDMETHOD(GetNamedObject)(THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
- STDMETHOD(EnumerateObjects)(THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
- STDMETHOD(Load)(THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS, D3DRMLOADCALLBACK, LPVOID,
- D3DRMLOADTEXTURECALLBACK, LPVOID, LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRM_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRM_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRM_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRM methods ***/
-#define IDirect3DRM_CreateObject(p,a,b,c,d) (p)->lpVtbl->CreateObject(p,a,b,d)
-#define IDirect3DRM_CreateFrame(p,a,b) (p)->lpVtbl->CreateFrame(p,a,b)
-#define IDirect3DRM_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRM_CreateMeshBuilder(p,a) (p)->lpVtbl->CreateMeshBuilder(p,a)
-#define IDirect3DRM_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRM_CreateAnimation(p,a) (p)->lpVtbl->CreateAnimation(p,a)
-#define IDirect3DRM_CreateAnimationSet(p,a) (p)->lpVtbl->CreateAnimationSet(p,a)
-#define IDirect3DRM_CreateTexture(p,a,b) (p)->lpVtbl->CreateTexture(p,a,b)
-#define IDirect3DRM_CreateLight(p,a,b,c) (p)->lpVtbl->CreateLight(p,a,b,c)
-#define IDirect3DRM_CreateLightRGB(p,a,b,c,d,e) (p)->lpVtbl->CreateLightRGB(p,a,b,c,d,e)
-#define IDirect3DRM_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3DRM_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirect3DRM_CreateDeviceFromSurface(p,a,b,c,d) (p)->lpVtbl->CreateDeviceFromSurface(p,a,b,c,d)
-#define IDirect3DRM_CreateDeviceFromD3D(p,a,b,c) (p)->lpVtbl->CreateDeviceFromD3D(p,a,b,c)
-#define IDirect3DRM_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->lpVtbl->CreateDeviceFromClipper(p,a,b,c,d,e)
-#define IDirect3DRM_CreateTextureFromSurface(p,a,b) (p)->lpVtbl->CreateTextureFromSurface(p,a,b)
-#define IDirect3DRM_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateShadow(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM_CreateViewport(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateViewport(p,a,b,c,d,e,f,g)
-#define IDirect3DRM_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->lpVtbl->CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
-#define IDirect3DRM_CreateUserVisual(p,a,b,c) (p)->lpVtbl->CreateUserVisual(p,a,b,c)
-#define IDirect3DRM_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
-#define IDirect3DRM_LoadTextureFromResource(p,a,b) (p)->lpVtbl->LoadTextureFromResource(p,a,b)
-#define IDirect3DRM_SetSearchPath(p,a) (p)->lpVtbl->SetSearchPath(p,a)
-#define IDirect3DRM_AddSearchPath(p,a) (p)->lpVtbl->AddSearchPath(p,a)
-#define IDirect3DRM_GetSearchPath(p,a,b) (p)->lpVtbl->GetSearchPath(p,a,b)
-#define IDirect3DRM_SetDefaultTextureColors(p,a) (p)->lpVtbl->SetDefaultTextureColors(p,a)
-#define IDirect3DRM_SetDefaultTextureShades(p,a) (p)->lpVtbl->SetDefaultTextureShades(p,a)
-#define IDirect3DRM_GetDevices(p,a) (p)->lpVtbl->GetDevices(p,a)
-#define IDirect3DRM_GetNamedObject(p,a,b) (p)->lpVtbl->GetNamedObject(p,a,b)
-#define IDirect3DRM_EnumerateObjects(p,a,b) (p)->lpVtbl->EnumerateObjects(p,a,b)
-#define IDirect3DRM_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM_Tick(p,a) (p)->lpVtbl->Tick(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRM_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRM_AddRef(p) (p)->AddRef()
-#define IDirect3DRM_Release(p) (p)->Release()
-/*** IDirect3DRM methods ***/
-#define IDirect3DRM_CreateObject(p,a,b,c,d) (p)->CreateObject(a,b,d)
-#define IDirect3DRM_CreateFrame(p,a,b) (p)->CreateFrame(a,b)
-#define IDirect3DRM_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRM_CreateMeshBuilder(p,a) (p)->CreateMeshBuilder(a)
-#define IDirect3DRM_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRM_CreateAnimation(p,a) (p)->CreateAnimation(a)
-#define IDirect3DRM_CreateAnimationSet(p,a) (p)->CreateAnimationSet(a)
-#define IDirect3DRM_CreateTexture(p,a,b) (p)->CreateTexture(a,b)
-#define IDirect3DRM_CreateLight(p,a,b,c) (p)->CreateLight(a,b,c)
-#define IDirect3DRM_CreateLightRGB(p,a,b,c,d,e) (p)->CreateLightRGB(a,b,c,d,e)
-#define IDirect3DRM_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3DRM_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirect3DRM_CreateDeviceFromSurface(p,a,b,c,d) (p)->CreateDeviceFromSurface(a,b,c,d)
-#define IDirect3DRM_CreateDeviceFromD3D(p,a,b,c) (p)->CreateDeviceFromD3D(a,b,c)
-#define IDirect3DRM_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->CreateDeviceFromClipper(a,b,c,d,e)
-#define IDirect3DRM_CreateTextureFromSurface(p,a,b) (p)->CreateTextureFromSurface(a,b)
-#define IDirect3DRM_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->CreateShadow(a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM_CreateViewport(p,a,b,c,d,e,f,g) (p)->CreateViewport(a,b,c,d,e,f,g)
-#define IDirect3DRM_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) (p)->CreateWrap(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
-#define IDirect3DRM_CreateUserVisual(p,a,b,c) (p)->CreateUserVisual(a,b,c)
-#define IDirect3DRM_LoadTexture(p,a,b) (p)->LoadTexture(a,b)
-#define IDirect3DRM_LoadTextureFromResource(p,a,b) (p)->LoadTextureFromResource(a,b)
-#define IDirect3DRM_SetSearchPath(p,a) (p)->SetSearchPath(a)
-#define IDirect3DRM_AddSearchPath(p,a) (p)->AddSearchPath(a)
-#define IDirect3DRM_GetSearchPath(p,a,b) (p)->GetSearchPath(a,b)
-#define IDirect3DRM_SetDefaultTextureColors(p,a) (p)->SetDefaultTextureColors(a)
-#define IDirect3DRM_SetDefaultTextureShades(p,a) (p)->SetDefaultTextureShades(a)
-#define IDirect3DRM_GetDevices(p,a) (p)->GetDevices(a)
-#define IDirect3DRM_GetNamedObject(p,a,b) (p)->GetNamedObject(a,b)
-#define IDirect3DRM_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
-#define IDirect3DRM_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM_Tick(p,a) (p)->Tick(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRM2 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRM2
-DECLARE_INTERFACE_(IDirect3DRM2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRM2 methods ***/
- STDMETHOD(CreateObject)(THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(CreateFrame)(THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME2 *) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH *) PURE;
- STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER2 *) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE *) PURE;
- STDMETHOD(CreateAnimation)(THIS_ LPDIRECT3DRMANIMATION *) PURE;
- STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET *) PURE;
- STDMETHOD(CreateTexture)(THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE2 *) PURE;
- STDMETHOD(CreateLight)(THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateLightRGB)(THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateMaterial)(THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL *) PURE;
- STDMETHOD(CreateDevice)(THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE2 *) PURE;
- STDMETHOD(CreateDeviceFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack,
- LPDIRECT3DRMDEVICE2 *) PURE;
- STDMETHOD(CreateDeviceFromD3D)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev, LPDIRECT3DRMDEVICE2 *) PURE;
- STDMETHOD(CreateDeviceFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height,
- LPDIRECT3DRMDEVICE2 *) PURE;
- STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE pDDS, LPDIRECT3DRMTEXTURE2 *) PURE;
- STDMETHOD(CreateShadow)(THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT, D3DVALUE px, D3DVALUE py, D3DVALUE pz,
- D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, LPDIRECT3DRMVISUAL *) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD, DWORD, DWORD,
- LPDIRECT3DRMVIEWPORT *) PURE;
- STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
- D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov,
- D3DVALUE su, D3DVALUE sv, LPDIRECT3DRMWRAP *) PURE;
- STDMETHOD(CreateUserVisual)(THIS_ D3DRMUSERVISUALCALLBACK, LPVOID pArg, LPDIRECT3DRMUSERVISUAL *) PURE;
- STDMETHOD(LoadTexture)(THIS_ const char *, LPDIRECT3DRMTEXTURE2 *) PURE;
- STDMETHOD(LoadTextureFromResource)(THIS_ HMODULE hModule, LPCSTR /* LPCTSTR */ strName, LPCSTR /* LPCTSTR */ strType, LPDIRECT3DRMTEXTURE2 *) PURE;
- STDMETHOD(SetSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(AddSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetSearchPath)(THIS_ DWORD *size_return, LPSTR path_return) PURE;
- STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
- STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
- STDMETHOD(GetDevices)(THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
- STDMETHOD(GetNamedObject)(THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
- STDMETHOD(EnumerateObjects)(THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
- STDMETHOD(Load)(THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS, D3DRMLOADCALLBACK, LPVOID,
- D3DRMLOADTEXTURECALLBACK, LPVOID, LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
- STDMETHOD(CreateProgressiveMesh)(THIS_ LPDIRECT3DRMPROGRESSIVEMESH) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRM2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRM2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRM2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRM2 methods ***/
-#define IDirect3DRM2_CreateObject(p,a,b,c,d) (p)->lpVtbl->CreateObject(p,a,b,d)
-#define IDirect3DRM2_CreateFrame(p,a,b) (p)->lpVtbl->CreateFrame(p,a,b)
-#define IDirect3DRM2_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRM2_CreateMeshBuilder(p,a) (p)->lpVtbl->CreateMeshBuilder(p,a)
-#define IDirect3DRM2_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRM2_CreateAnimation(p,a) (p)->lpVtbl->CreateAnimation(p,a)
-#define IDirect3DRM2_CreateAnimationSet(p,a) (p)->lpVtbl->CreateAnimationSet(p,a)
-#define IDirect3DRM2_CreateTexture(p,a,b) (p)->lpVtbl->CreateTexture(p,a,b)
-#define IDirect3DRM2_CreateLight(p,a,b,c) (p)->lpVtbl->CreateLight(p,a,b,c)
-#define IDirect3DRM2_CreateLightRGB(p,a,b,c,d,e) (p)->lpVtbl->CreateLightRGB(p,a,b,c,d,e)
-#define IDirect3DRM2_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3DRM2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirect3DRM2_CreateDeviceFromSurface(p,a,b,c,d) (p)->lpVtbl->CreateDeviceFromSurface(p,a,b,c,d)
-#define IDirect3DRM2_CreateDeviceFromD3D(p,a,b,c) (p)->lpVtbl->CreateDeviceFromD3D(p,a,b,c)
-#define IDirect3DRM2_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->lpVtbl->CreateDeviceFromClipper(p,a,b,c,d,e)
-#define IDirect3DRM2_CreateTextureFromSurface(p,a,b) (p)->lpVtbl->CreateTextureFromSurface(p,a,b)
-#define IDirect3DRM2_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateShadow(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM2_CreateViewport(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateViewport(p,a,b,c,d,e,f,g)
-#define IDirect3DRM2_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->lpVtbl->CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
-#define IDirect3DRM2_CreateUserVisual(p,a,b,c) (p)->lpVtbl->CreateUserVisual(p,a,b,c)
-#define IDirect3DRM2_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
-#define IDirect3DRM2_LoadTextureFromResource(p,a,b,c,d) (p)->lpVtbl->LoadTextureFromResource(p,a,b,c,d)
-#define IDirect3DRM2_SetSearchPath(p,a) (p)->lpVtbl->SetSearchPath(p,a)
-#define IDirect3DRM2_AddSearchPath(p,a) (p)->lpVtbl->AddSearchPath(p,a)
-#define IDirect3DRM2_GetSearchPath(p,a,b) (p)->lpVtbl->GetSearchPath(p,a,b)
-#define IDirect3DRM2_SetDefaultTextureColors(p,a) (p)->lpVtbl->SetDefaultTextureColors(p,a)
-#define IDirect3DRM2_SetDefaultTextureShades(p,a) (p)->lpVtbl->SetDefaultTextureShades(p,a)
-#define IDirect3DRM2_GetDevices(p,a) (p)->lpVtbl->GetDevices(p,a)
-#define IDirect3DRM2_GetNamedObject(p,a,b) (p)->lpVtbl->GetNamedObject(p,a,b)
-#define IDirect3DRM2_EnumerateObjects(p,a,b) (p)->lpVtbl->EnumerateObjects(p,a,b)
-#define IDirect3DRM2_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM2_Tick(p,a) (p)->lpVtbl->Tick(p,a)
-#define IDirect3DRM2_CreateProgressiveMesh(p,a) (p)->lpVtbl->CreateProgressiveMesh(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRM2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRM2_AddRef(p) (p)->AddRef()
-#define IDirect3DRM2_Release(p) (p)->Release()
-/*** IDirect3DRM2 methods ***/
-#define IDirect3DRM2_CreateObject(p,a,b,c,d) (p)->CreateObject(a,b,d)
-#define IDirect3DRM2_CreateFrame(p,a,b) (p)->CreateFrame(a,b)
-#define IDirect3DRM2_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRM2_CreateMeshBuilder(p,a) (p)->CreateMeshBuilder(a)
-#define IDirect3DRM2_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRM2_CreateAnimation(p,a) (p)->CreateAnimation(a)
-#define IDirect3DRM2_CreateAnimationSet(p,a) (p)->CreateAnimationSet(a)
-#define IDirect3DRM2_CreateTexture(p,a,b) (p)->CreateTexture(a,b)
-#define IDirect3DRM2_CreateLight(p,a,b,c) (p)->CreateLight(a,b,c)
-#define IDirect3DRM2_CreateLightRGB(p,a,b,c,d,e) (p)->CreateLightRGB(a,b,c,d,e)
-#define IDirect3DRM2_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3DRM2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirect3DRM2_CreateDeviceFromSurface(p,a,b,c,d) (p)->CreateDeviceFromSurface(a,b,c,d)
-#define IDirect3DRM2_CreateDeviceFromD3D(p,a,b,c) (p)->CreateDeviceFromD3D(a,b,c)
-#define IDirect3DRM2_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->CreateDeviceFromClipper(a,b,c,d,e)
-#define IDirect3DRM2_CreateTextureFromSurface(p,a,b) (p)->CreateTextureFromSurface(a,b)
-#define IDirect3DRM2_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->CreateShadow(a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM2_CreateViewport(p,a,b,c,d,e,f,g) (p)->CreateViewport(a,b,c,d,e,f,g)
-#define IDirect3DRM2_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) (p)->CreateWrap(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
-#define IDirect3DRM2_CreateUserVisual(p,a,b,c) (p)->CreateUserVisual(a,b,c)
-#define IDirect3DRM2_LoadTexture(p,a,b) (p)->LoadTexture(a,b)
-#define IDirect3DRM2_LoadTextureFromResource(p,a,b) (p)->LoadTextureFromResource(a,b)
-#define IDirect3DRM2_SetSearchPath(p,a) (p)->SetSearchPath(a)
-#define IDirect3DRM2_AddSearchPath(p,a) (p)->AddSearchPath(a)
-#define IDirect3DRM2_GetSearchPath(p,a,b) (p)->GetSearchPath(a,b)
-#define IDirect3DRM2_SetDefaultTextureColors(p,a) (p)->SetDefaultTextureColors(a)
-#define IDirect3DRM2_SetDefaultTextureShades(p,a) (p)->SetDefaultTextureShades(a)
-#define IDirect3DRM2_GetDevices(p,a) (p)->GetDevices(a)
-#define IDirect3DRM2_GetNamedObject(p,a,b) (p)->GetNamedObject(a,b)
-#define IDirect3DRM2_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
-#define IDirect3DRM2_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM2_Tick(p,a) (p)->Tick(a)
-#define IDirect3DRM2_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(p,a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRM3 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRM3
-DECLARE_INTERFACE_(IDirect3DRM3,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRM2 methods ***/
- STDMETHOD(CreateObject)(THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(CreateFrame)(THIS_ LPDIRECT3DRMFRAME3, LPDIRECT3DRMFRAME3 *) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH *) PURE;
- STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3 *) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE2 *) PURE;
- STDMETHOD(CreateAnimation)(THIS_ LPDIRECT3DRMANIMATION2 *) PURE;
- STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET2 *) PURE;
- STDMETHOD(CreateTexture)(THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(CreateLight)(THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateLightRGB)(THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(CreateMaterial)(THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL2 *) PURE;
- STDMETHOD(CreateDevice)(THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(CreateDeviceFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack,
- LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(CreateDeviceFromD3D)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev, LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(CreateDeviceFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height,
- LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE pDDS, LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(CreateShadow)(THIS_ LPUNKNOWN, LPDIRECT3DRMLIGHT, D3DVALUE px, D3DVALUE py, D3DVALUE pz,
- D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, LPDIRECT3DRMSHADOW2 *) PURE;
- STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DRMDEVICE3, LPDIRECT3DRMFRAME3, DWORD, DWORD, DWORD, DWORD,
- LPDIRECT3DRMVIEWPORT2 *) PURE;
- STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME3, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
- D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov,
- D3DVALUE su, D3DVALUE sv, LPDIRECT3DRMWRAP *) PURE;
- STDMETHOD(CreateUserVisual)(THIS_ D3DRMUSERVISUALCALLBACK, LPVOID pArg, LPDIRECT3DRMUSERVISUAL *) PURE;
- STDMETHOD(LoadTexture)(THIS_ const char *, LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(LoadTextureFromResource)(THIS_ HMODULE hModule, LPCSTR /* LPCTSTR */ strName, LPCSTR /* LPCTSTR */ strType, LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(SetSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(AddSearchPath)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetSearchPath)(THIS_ DWORD *size_return, LPSTR path_return) PURE;
- STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
- STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
- STDMETHOD(GetDevices)(THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
- STDMETHOD(GetNamedObject)(THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
- STDMETHOD(EnumerateObjects)(THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
- STDMETHOD(Load)(THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS, D3DRMLOADCALLBACK, LPVOID,
- D3DRMLOADTEXTURECALLBACK, LPVOID, LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
- STDMETHOD(CreateProgressiveMesh)(THIS_ LPDIRECT3DRMPROGRESSIVEMESH) PURE;
- STDMETHOD(RegisterClient)(THIS_ REFGUID rguid, LPDWORD lpdwID) PURE;
- STDMETHOD(UnregisterClient)(THIS_ REFGUID rguid) PURE;
- STDMETHOD(CreateClippedVisual)(THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMCLIPPEDVISUAL *) PURE;
- STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
- STDMETHOD(GetOptions)(THIS_ LPDWORD) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRM3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRM3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRM3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRM3 methods ***/
-#define IDirect3DRM3_CreateObject(p,a,b,c,d) (p)->lpVtbl->CreateObject(p,a,b,d)
-#define IDirect3DRM3_CreateFrame(p,a,b) (p)->lpVtbl->CreateFrame(p,a,b)
-#define IDirect3DRM3_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRM3_CreateMeshBuilder(p,a) (p)->lpVtbl->CreateMeshBuilder(p,a)
-#define IDirect3DRM3_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRM3_CreateAnimation(p,a) (p)->lpVtbl->CreateAnimation(p,a)
-#define IDirect3DRM3_CreateAnimationSet(p,a) (p)->lpVtbl->CreateAnimationSet(p,a)
-#define IDirect3DRM3_CreateTexture(p,a,b) (p)->lpVtbl->CreateTexture(p,a,b)
-#define IDirect3DRM3_CreateLight(p,a,b,c) (p)->lpVtbl->CreateLight(p,a,b,c)
-#define IDirect3DRM3_CreateLightRGB(p,a,b,c,d,e) (p)->lpVtbl->CreateLightRGB(p,a,b,c,d,e)
-#define IDirect3DRM3_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
-#define IDirect3DRM3_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirect3DRM3_CreateDeviceFromSurface(p,a,b,c,d) (p)->lpVtbl->CreateDeviceFromSurface(p,a,b,c,d)
-#define IDirect3DRM3_CreateDeviceFromD3D(p,a,b,c) (p)->lpVtbl->CreateDeviceFromD3D(p,a,b,c)
-#define IDirect3DRM3_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->lpVtbl->CreateDeviceFromClipper(p,a,b,c,d,e)
-#define IDirect3DRM3_CreateTextureFromSurface(p,a,b) (p)->lpVtbl->CreateTextureFromSurface(p,a,b)
-#define IDirect3DRM3_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateShadow(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM3_CreateViewport(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateViewport(p,a,b,c,d,e,f,g)
-#define IDirect3DRM3_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q) (p)->lpVtbl->CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q)
-#define IDirect3DRM3_CreateUserVisual(p,a,b,c) (p)->lpVtbl->CreateUserVisual(p,a,b,c)
-#define IDirect3DRM3_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
-#define IDirect3DRM3_LoadTextureFromResource(p,a,b,c,d) (p)->lpVtbl->LoadTextureFromResource(p,a,b,c,d)
-#define IDirect3DRM3_SetSearchPath(p,a) (p)->lpVtbl->SetSearchPath(p,a)
-#define IDirect3DRM3_AddSearchPath(p,a) (p)->lpVtbl->AddSearchPath(p,a)
-#define IDirect3DRM3_GetSearchPath(p,a,b) (p)->lpVtbl->GetSearchPath(p,a,b)
-#define IDirect3DRM3_SetDefaultTextureColors(p,a) (p)->lpVtbl->SetDefaultTextureColors(p,a)
-#define IDirect3DRM3_SetDefaultTextureShades(p,a) (p)->lpVtbl->SetDefaultTextureShades(p,a)
-#define IDirect3DRM3_GetDevices(p,a) (p)->lpVtbl->GetDevices(p,a)
-#define IDirect3DRM3_GetNamedObject(p,a,b) (p)->lpVtbl->GetNamedObject(p,a,b)
-#define IDirect3DRM3_EnumerateObjects(p,a,b) (p)->lpVtbl->EnumerateObjects(p,a,b)
-#define IDirect3DRM3_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM3_Tick(p,a) (p)->lpVtbl->Tick(p,a)
-#define IDirect3DRM3_CreateProgressiveMesh(p,a) (p)->lpVtbl->CreateProgressiveMesh(p,a)
-#define IDirect3DRM3_RegisterClient(p,a,b) (p)->lpVtbl->RegisterClient(p,a,b)
-#define IDirect3DRM3_UnregisterClient(p,a) (p)->lpVtbl->UnregisterClient(p,a)
-#define IDirect3DRM3_CreateClippedVisual(p,ab) (p)->lpVtbl->CreateClippedVisual(p,a,b)
-#define IDirect3DRM3_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
-#define IDirect3DRM3_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRM3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRM3_AddRef(p) (p)->AddRef()
-#define IDirect3DRM3_Release(p) (p)->Release()
-/*** IDirect3DRM3 methods ***/
-#define IDirect3DRM3_CreateObject(p,a,b,c,d) (p)->CreateObject(a,b,d)
-#define IDirect3DRM3_CreateFrame(p,a,b) (p)->CreateFrame(a,b)
-#define IDirect3DRM3_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRM3_CreateMeshBuilder(p,a) (p)->CreateMeshBuilder(a)
-#define IDirect3DRM3_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRM3_CreateAnimation(p,a) (p)->CreateAnimation(a)
-#define IDirect3DRM3_CreateAnimationSet(p,a) (p)->CreateAnimationSet(a)
-#define IDirect3DRM3_CreateTexture(p,a,b) (p)->CreateTexture(a,b)
-#define IDirect3DRM3_CreateLight(p,a,b,c) (p)->CreateLight(a,b,c)
-#define IDirect3DRM3_CreateLightRGB(p,a,b,c,d,e) (p)->CreateLightRGB(a,b,c,d,e)
-#define IDirect3DRM3_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
-#define IDirect3DRM3_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirect3DRM3_CreateDeviceFromSurface(p,a,b,c,d) (p)->CreateDeviceFromSurface(a,b,c,d)
-#define IDirect3DRM3_CreateDeviceFromD3D(p,a,b,c) (p)->CreateDeviceFromD3D(a,b,c)
-#define IDirect3DRM3_CreateDeviceFromClipper(p,a,b,c,d,e) (p)->CreateDeviceFromClipper(a,b,c,d,e)
-#define IDirect3DRM3_CreateTextureFromSurface(p,a,b) (p)->CreateTextureFromSurface(a,b)
-#define IDirect3DRM3_CreateShadow(p,a,b,c,d,e,f,g,h,i) (p)->CreateShadow(a,b,c,d,e,f,g,h,i)
-#define IDirect3DRM3_CreateViewport(p,a,b,c,d,e,f,g) (p)->CreateViewport(a,b,c,d,e,f,g)
-#define IDirect3DRM3_CreateWrap(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) (p)->CreateWrap(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
-#define IDirect3DRM3_CreateUserVisual(p,a,b,c) (p)->CreateUserVisual(a,b,c)
-#define IDirect3DRM3_LoadTexture(p,a,b) (p)->LoadTexture(a,b)
-#define IDirect3DRM3_LoadTextureFromResource(p,a,b,c,d) (p)->LoadTextureFromResource(a,b,c,d)
-#define IDirect3DRM3_SetSearchPath(p,a) (p)->SetSearchPath(a)
-#define IDirect3DRM3_AddSearchPath(p,a) (p)->AddSearchPath(a)
-#define IDirect3DRM3_GetSearchPath(p,a,b) (p)->GetSearchPath(a,b)
-#define IDirect3DRM3_SetDefaultTextureColors(p,a) (p)->SetDefaultTextureColors(a)
-#define IDirect3DRM3_SetDefaultTextureShades(p,a) (p)->SetDefaultTextureShades(a)
-#define IDirect3DRM3_GetDevices(p,a) (p)->GetDevices(a)
-#define IDirect3DRM3_GetNamedObject(p,a,b) (p)->GetNamedObject(a,b)
-#define IDirect3DRM3_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
-#define IDirect3DRM3_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
-#define IDirect3DRM3_Tick(p,a) (p)->Tick(a)
-#define IDirect3DRM3_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(p,a)
-#define IDirect3DRM3_RegisterClient(p,a,b) (p)->RegisterClient(p,a,b)
-#define IDirect3DRM3_UnregisterClient(p,a) (p)->UnregisterClient(p,a)
-#define IDirect3DRM3_CreateClippedVisual(p,ab) (p)->CreateClippedVisual(p,a,b)
-#define IDirect3DRM3_SetOptions(p,a) (p)->SetOptions(p,a)
-#define IDirect3DRM3_GetOptions(p,a) (p)->GetOptions(p,a)
-#endif
-
-#define D3DRM_OK DD_OK
-#define D3DRMERR_BADOBJECT MAKE_DDHRESULT(781)
-#define D3DRMERR_BADTYPE MAKE_DDHRESULT(782)
-#define D3DRMERR_BADALLOC MAKE_DDHRESULT(783)
-#define D3DRMERR_FACEUSED MAKE_DDHRESULT(784)
-#define D3DRMERR_NOTFOUND MAKE_DDHRESULT(785)
-#define D3DRMERR_NOTDONEYET MAKE_DDHRESULT(786)
-#define D3DRMERR_FILENOTFOUND MAKE_DDHRESULT(787)
-#define D3DRMERR_BADFILE MAKE_DDHRESULT(788)
-#define D3DRMERR_BADDEVICE MAKE_DDHRESULT(789)
-#define D3DRMERR_BADVALUE MAKE_DDHRESULT(790)
-#define D3DRMERR_BADMAJORVERSION MAKE_DDHRESULT(791)
-#define D3DRMERR_BADMINORVERSION MAKE_DDHRESULT(792)
-#define D3DRMERR_UNABLETOEXECUTE MAKE_DDHRESULT(793)
-#define D3DRMERR_LIBRARYNOTFOUND MAKE_DDHRESULT(794)
-#define D3DRMERR_INVALIDLIBRARY MAKE_DDHRESULT(795)
-#define D3DRMERR_PENDING MAKE_DDHRESULT(796)
-#define D3DRMERR_NOTENOUGHDATA MAKE_DDHRESULT(797)
-#define D3DRMERR_REQUESTTOOLARGE MAKE_DDHRESULT(798)
-#define D3DRMERR_REQUESTTOOSMALL MAKE_DDHRESULT(799)
-#define D3DRMERR_CONNECTIONLOST MAKE_DDHRESULT(800)
-#define D3DRMERR_LOADABORTED MAKE_DDHRESULT(801)
-#define D3DRMERR_NOINTERNET MAKE_DDHRESULT(802)
-#define D3DRMERR_BADCACHEFILE MAKE_DDHRESULT(803)
-#define D3DRMERR_BOXNOTSET MAKE_DDHRESULT(804)
-#define D3DRMERR_BADPMDATA MAKE_DDHRESULT(805)
-#define D3DRMERR_CLIENTNOTREGISTERED MAKE_DDHRESULT(806)
-#define D3DRMERR_NOTCREATEDFROMDDS MAKE_DDHRESULT(807)
-#define D3DRMERR_NOSUCHKEY MAKE_DDHRESULT(808)
-#define D3DRMERR_INCOMPATABLEKEY MAKE_DDHRESULT(809)
-#define D3DRMERR_ELEMENTINUSE MAKE_DDHRESULT(810)
-#define D3DRMERR_TEXTUREFORMATNOTFOUND MAKE_DDHRESULT(811)
-#define D3DRMERR_NOTAGGREGATED MAKE_DDHRESULT(812)
-
-#endif /* __D3DRM_H__ */
+++ /dev/null
-/*
- * Copyright 2007 Vijay Kiran Kamuju
- * Copyright 2007 David ADAM
- * Copyright 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DRMDEFS_H__
-#define __D3DRMDEFS_H__
-
-#include <stddef.h>
-#include <d3dtypes.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-typedef struct _D3DRMVECTOR4D
-{
- D3DVALUE x;
- D3DVALUE y;
- D3DVALUE z;
- D3DVALUE w;
-} D3DRMVECTOR4D, *LPD3DRMVECTOR4D;
-
-typedef D3DVALUE D3DRMMATRIX4D[4][4];
-
-typedef struct _D3DRMQUATERNION {
- D3DVALUE s;
- D3DVECTOR v;
-} D3DRMQUATERNION, *LPD3DRMQUATERNION;
-
-typedef struct _D3DRMRAY {
- D3DVECTOR dvDir;
- D3DVECTOR dvPos;
-} D3DRMRAY, *LPD3DRMRAY;
-
-typedef struct _D3DRMBOX {
- D3DVECTOR min;
- D3DVECTOR max;
-} D3DRMBOX, *LPD3DRMBOX;
-
-typedef enum _D3DRMLIGHTTYPE {
- D3DRMLIGHT_AMBIENT,
- D3DRMLIGHT_POINT,
- D3DRMLIGHT_SPOT,
- D3DRMLIGHT_DIRECTIONAL,
- D3DRMLIGHT_PARALLELPOINT
-} D3DRMLIGHTTYPE, *LPD3DRMLIGHTTYPE;
-
-typedef DWORD D3DRMRENDERQUALITY, *LPD3DRMRENDERQUALITY;
-
-typedef enum _D3DRMTEXTUREQUALITY {
- D3DRMTEXTURE_NEAREST,
- D3DRMTEXTURE_LINEAR,
- D3DRMTEXTURE_MIPNEAREST,
- D3DRMTEXTURE_MIPLINEAR,
- D3DRMTEXTURE_LINEARMIPNEAREST,
- D3DRMTEXTURE_LINEARMIPLINEAR
-} D3DRMTEXTUREQUALITY, *LPD3DRMTEXTUREQUALITY;
-
-typedef enum _D3DRMCOMBINETYPE {
- D3DRMCOMBINE_REPLACE,
- D3DRMCOMBINE_BEFORE,
- D3DRMCOMBINE_AFTER
-} D3DRMCOMBINETYPE, *LPD3DRMCOMBINETYPE;
-
-typedef struct _D3DRMPALETTEENTRY {
- unsigned char red;
- unsigned char green;
- unsigned char blue;
- unsigned char flags;
-} D3DRMPALETTEENTRY, *LPD3DRMPALETTEENTRY;
-
-typedef struct _D3DRMIMAGE {
- int width;
- int height;
- int aspectx;
- int aspecty;
- int depth;
- int rgb;
- int bytes_per_line;
- void* buffer1;
- void* buffer2;
- unsigned long red_mask;
- unsigned long green_mask;
- unsigned long blue_mask;
- unsigned long alpha_mask;
- int palette_size;
- D3DRMPALETTEENTRY* palette;
-} D3DRMIMAGE, *LPD3DRMIMAGE;
-
-typedef enum _D3DRMWRAPTYPE {
- D3DRMWRAP_FLAT,
- D3DRMWRAP_CYLINDER,
- D3DRMWRAP_SPHERE,
- D3DRMWRAP_CHROME,
- D3DRMWRAP_SHEET,
- D3DRMWRAP_BOX
-} D3DRMWRAPTYPE, *LPD3DRMWRAPTYPE;
-
-typedef enum _D3DRMPROJECTIONTYPE
-{
- D3DRMPROJECT_PERSPECTIVE,
- D3DRMPROJECT_ORTHOGRAPHIC,
- D3DRMPROJECT_RIGHTHANDPERSPECTIVE,
- D3DRMPROJECT_RIGHTHANDORTHOGRAPHIC
-} D3DRMPROJECTIONTYPE, *LPD3DRMPROJECTIONTYPE;
-
-typedef enum _D3DRMXOFFORMAT {
- D3DRMXOF_BINARY,
- D3DRMXOF_COMPRESSED,
- D3DRMXOF_TEXT
-} D3DRMXOFFORMAT, *LPD3DRMXOFFORMAT;
-
-typedef DWORD D3DRMSAVEOPTIONS;
-
-typedef enum _D3DRMCOLORSOURCE {
- D3DRMCOLOR_FROMFACE,
- D3DRMCOLOR_FROMVERTEX
-} D3DRMCOLORSOURCE, *LPD3DRMCOLORSOURCE;
-
-typedef enum _D3DRMFRAMECONSTRAINT {
- D3DRMCONSTRAIN_Z,
- D3DRMCONSTRAIN_Y,
- D3DRMCONSTRAIN_X
-} D3DRMFRAMECONSTRAINT, *LPD3DRMFRAMECONSTRAINT;
-
-typedef enum _D3DRMMATERIALMODE {
- D3DRMMATERIAL_FROMMESH,
- D3DRMMATERIAL_FROMPARENT,
- D3DRMMATERIAL_FROMFRAME
-} D3DRMMATERIALMODE, *LPD3DRMMATERIALMODE;
-
-typedef enum _D3DRMFOGMODE {
- D3DRMFOG_LINEAR,
- D3DRMFOG_EXPONENTIAL,
- D3DRMFOG_EXPONENTIALSQUARED
-} D3DRMFOGMODE, *LPD3DRMFOGMODE;
-
-typedef enum _D3DRMZBUFFERMODE {
- D3DRMZBUFFER_FROMPARENT,
- D3DRMZBUFFER_ENABLE,
- D3DRMZBUFFER_DISABLE
-} D3DRMZBUFFERMODE, *LPD3DRMZBUFFERMODE;
-
-typedef enum _D3DRMSORTMODE {
- D3DRMSORT_FROMPARENT,
- D3DRMSORT_NONE,
- D3DRMSORT_FRONTTOBACK,
- D3DRMSORT_BACKTOFRONT
-} D3DRMSORTMODE, *LPD3DRMSORTMODE;
-
-typedef struct _D3DRMMATERIALOVERRIDE {
- DWORD dwSize;
- DWORD dwFlags;
- D3DCOLORVALUE dcDiffuse;
- D3DCOLORVALUE dcAmbient;
- D3DCOLORVALUE dcEmissive;
- D3DCOLORVALUE dcSpecular;
- D3DVALUE dvPower;
- LPUNKNOWN lpD3DRMTex;
-} D3DRMMATERIALOVERRIDE, *LPD3DRMMATERIALOVERRIDE;
-
-typedef DWORD D3DRMLOADOPTIONS;
-
-#define D3DRMLOAD_FROMFILE 0x000L
-#define D3DRMLOAD_FROMRESOURCE 0x001L
-#define D3DRMLOAD_FROMMEMORY 0x002L
-#define D3DRMLOAD_FROMSTREAM 0x004L
-#define D3DRMLOAD_FROMURL 0x008L
-
-#define D3DRMLOAD_BYNAME 0x010L
-#define D3DRMLOAD_BYPOSITION 0x020L
-#define D3DRMLOAD_BYGUID 0x040L
-#define D3DRMLOAD_FIRST 0x080L
-
-#define D3DRMLOAD_INSTANCEBYREFERENCE 0x100L
-#define D3DRMLOAD_INSTANCEBYCOPYING 0x200L
-
-#define D3DRMLOAD_ASYNCHRONOUS 0x400L
-
-typedef struct _D3DRMLOADRESOURCE {
- HMODULE hModule;
- LPCSTR /*LPCTSTR*/ lpName;
- LPCSTR /*LPCTSTR*/ lpType;
-} D3DRMLOADRESOURCE, *LPD3DRMLOADRESOURCE;
-
-typedef struct _D3DRMLOADMEMORY {
- LPVOID lpMemory;
- DWORD dSize;
-} D3DRMLOADMEMORY, *LPD3DRMLOADMEMORY;
-
-typedef struct _D3DRMPMESHLOADSTATUS {
- DWORD dwSize;
- DWORD dwPMeshSize;
- DWORD dwBaseMeshSize;
- DWORD dwBytesLoaded;
- DWORD dwVerticesLoaded;
- DWORD dwFacesLoaded;
- HRESULT dwLoadResult;
- DWORD dwFlags;
-} D3DRMPMESHLOADSTATUS, *LPD3DRMPMESHLOADSTATUS;
-
-typedef enum _D3DRMUSERVISUALREASON {
- D3DRMUSERVISUAL_CANSEE,
- D3DRMUSERVISUAL_RENDER
-} D3DRMUSERVISUALREASON, *LPD3DRMUSERVISUALREASON;
-
-typedef DWORD D3DRMMAPPING;
-
-typedef struct _D3DRMVERTEX {
- D3DVECTOR position;
- D3DVECTOR normal;
- D3DVALUE tu;
- D3DVALUE tv;
- D3DCOLOR color;
-} D3DRMVERTEX, *LPD3DRMVERTEX;
-
-typedef LONG D3DRMGROUPINDEX;
-
-void WINAPI D3DRMMatrixFromQuaternion(D3DRMMATRIX4D, LPD3DRMQUATERNION);
-
-LPD3DRMQUATERNION WINAPI D3DRMQuaternionFromRotation(LPD3DRMQUATERNION ,LPD3DVECTOR,D3DVALUE);
-LPD3DRMQUATERNION WINAPI D3DRMQuaternionMultiply(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION);
-LPD3DRMQUATERNION WINAPI D3DRMQuaternionSlerp(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION, D3DVALUE);
-
-LPD3DVECTOR WINAPI D3DRMVectorAdd(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorCrossProduct(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
-D3DVALUE WINAPI D3DRMVectorDotProduct(LPD3DVECTOR, LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorNormalize(LPD3DVECTOR);
-
-#define D3DRMVectorNormalise D3DRMVectorNormalize
-
-D3DVALUE WINAPI D3DRMVectorModulus(LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorRandom(LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorRotate(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR, D3DVALUE);
-LPD3DVECTOR WINAPI D3DRMVectorReflect(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
-LPD3DVECTOR WINAPI D3DRMVectorScale(LPD3DVECTOR, LPD3DVECTOR, D3DVALUE);
-LPD3DVECTOR WINAPI D3DRMVectorSubtract(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
-
-D3DCOLOR WINAPI D3DRMCreateColorRGB(D3DVALUE, D3DVALUE, D3DVALUE);
-D3DCOLOR WINAPI D3DRMCreateColorRGBA(D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE);
-D3DVALUE WINAPI D3DRMColorGetAlpha(D3DCOLOR);
-D3DVALUE WINAPI D3DRMColorGetBlue(D3DCOLOR);
-D3DVALUE WINAPI D3DRMColorGetGreen(D3DCOLOR);
-D3DVALUE WINAPI D3DRMColorGetRed(D3DCOLOR);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2008 Vijay Kiran Kamuju
- * Copyright (C) 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DRMOBJ_H__
-#define __D3DRMOBJ_H__
-
-#include <objbase.h>
-#define VIRTUAL
-#include <d3drmdef.h>
-#include <d3d.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-
-DEFINE_GUID(IID_IDirect3DRMObject, 0xeb16cb00, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMObject2, 0x4516ec7c, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMDevice, 0xe9e19280, 0x6e05, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMDevice2, 0x4516ec78, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMDevice3, 0x549f498b, 0xbfeb, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82);
-DEFINE_GUID(IID_IDirect3DRMViewport, 0xeb16cb02, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMViewport2, 0x4a1b1be6, 0xbfed, 0x11d1, 0x8e, 0xd8, 0x00, 0xa0, 0xc9, 0x67, 0xa4, 0x82);
-DEFINE_GUID(IID_IDirect3DRMFrame, 0xeb16cb03, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMFrame2, 0xc3dfbd60, 0x3988, 0x11d0, 0x9e, 0xc2, 0x00, 0x00, 0xc0, 0x29, 0x1a, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMFrame3, 0xff6b7f70, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMVisual, 0xeb16cb04, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMesh, 0xa3a80d01, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMeshBuilder, 0xa3a80d02, 0x6e12, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMeshBuilder2, 0x4516ec77, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMMeshBuilder3, 0x4516ec82, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMFace, 0xeb16cb07, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMFace2, 0x4516ec81, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMLight, 0xeb16cb08, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMTexture, 0xeb16cb09, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMTexture2, 0x120f30c0, 0x1629, 0x11d0, 0x94, 0x1c, 0x00, 0x80, 0xc8, 0x0c, 0xfa, 0x7b);
-DEFINE_GUID(IID_IDirect3DRMTexture3, 0xff6b7f73, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMWrap, 0xeb16cb0a, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMaterial, 0xeb16cb0b, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMMaterial2, 0xff6b7f75, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMAnimation, 0xeb16cb0d, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMAnimation2, 0xff6b7f77, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMAnimationSet, 0xeb16cb0e, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMAnimationSet2, 0xff6b7f79, 0xa40e, 0x11d1, 0x91, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0x8e, 0x66);
-DEFINE_GUID(IID_IDirect3DRMObjectArray, 0x242f6bc2, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMDeviceArray, 0xeb16cb10, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMViewportArray, 0xeb16cb11, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMFrameArray, 0xeb16cb12, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMVisualArray, 0xeb16cb13, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMLightArray, 0xeb16cb14, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMPickedArray, 0xeb16cb16, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMFaceArray, 0xeb16cb17, 0xd271, 0x11ce, 0xac, 0x48, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMAnimationArray, 0xd5f1cae0, 0x4bd7, 0x11d1, 0xb9, 0x74, 0x00, 0x60, 0x08, 0x3e, 0x45, 0xf3);
-DEFINE_GUID(IID_IDirect3DRMUserVisual, 0x59163de0, 0x6d43, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMShadow, 0xaf359780, 0x6ba3, 0x11cf, 0xac, 0x4a, 0x00, 0x00, 0xc0, 0x38, 0x25, 0xa1);
-DEFINE_GUID(IID_IDirect3DRMShadow2, 0x86b44e25, 0x9c82, 0x11d1, 0xbb, 0x0b, 0x00, 0xa0, 0xc9, 0x81, 0xa0, 0xa6);
-DEFINE_GUID(IID_IDirect3DRMInterpolator, 0x242f6bc1, 0x3849, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMProgressiveMesh, 0x4516ec79, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMPicked2Array, 0x4516ec7b, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
-DEFINE_GUID(IID_IDirect3DRMClippedVisual, 0x5434e733, 0x6d66, 0x11d1, 0xbb, 0x0b, 0x00, 0x00, 0xf8, 0x75, 0x86, 0x5a);
-
-typedef struct IDirect3DRMObject *LPDIRECT3DRMOBJECT, **LPLPDIRECT3DRMOBJECT;
-typedef struct IDirect3DRMObject2 *LPDIRECT3DRMOBJECT2, **LPLPDIRECT3DRMOBJECT2;
-typedef struct IDirect3DRMDevice *LPDIRECT3DRMDEVICE, **LPLPDIRECT3DRMDEVICE;
-typedef struct IDirect3DRMDevice2 *LPDIRECT3DRMDEVICE2, **LPLPDIRECT3DRMDEVICE2;
-typedef struct IDirect3DRMDevice3 *LPDIRECT3DRMDEVICE3, **LPLPDIRECT3DRMDEVICE3;
-typedef struct IDirect3DRMViewport *LPDIRECT3DRMVIEWPORT, **LPLPDIRECT3DRMVIEWPORT;
-typedef struct IDirect3DRMViewport2 *LPDIRECT3DRMVIEWPORT2, **LPLPDIRECT3DRMVIEWPORT2;
-typedef struct IDirect3DRMFrame *LPDIRECT3DRMFRAME, **LPLPDIRECT3DRMFRAME;
-typedef struct IDirect3DRMFrame2 *LPDIRECT3DRMFRAME2, **LPLPDIRECT3DRMFRAME2;
-typedef struct IDirect3DRMFrame3 *LPDIRECT3DRMFRAME3, **LPLPDIRECT3DRMFRAME3;
-typedef struct IDirect3DRMVisual *LPDIRECT3DRMVISUAL, **LPLPDIRECT3DRMVISUAL;
-typedef struct IDirect3DRMMesh *LPDIRECT3DRMMESH, **LPLPDIRECT3DRMMESH;
-typedef struct IDirect3DRMMeshBuilder *LPDIRECT3DRMMESHBUILDER, **LPLPDIRECT3DRMMESHBUILDER;
-typedef struct IDirect3DRMMeshBuilder2 *LPDIRECT3DRMMESHBUILDER2, **LPLPDIRECT3DRMMESHBUILDER2;
-typedef struct IDirect3DRMMeshBuilder3 *LPDIRECT3DRMMESHBUILDER3, **LPLPDIRECT3DRMMESHBUILDER3;
-typedef struct IDirect3DRMFace *LPDIRECT3DRMFACE, **LPLPDIRECT3DRMFACE;
-typedef struct IDirect3DRMFace2 *LPDIRECT3DRMFACE2, **LPLPDIRECT3DRMFACE2;
-typedef struct IDirect3DRMLight *LPDIRECT3DRMLIGHT, **LPLPDIRECT3DRMLIGHT;
-typedef struct IDirect3DRMTexture *LPDIRECT3DRMTEXTURE, **LPLPDIRECT3DRMTEXTURE;
-typedef struct IDirect3DRMTexture2 *LPDIRECT3DRMTEXTURE2, **LPLPDIRECT3DRMTEXTURE2;
-typedef struct IDirect3DRMTexture3 *LPDIRECT3DRMTEXTURE3, **LPLPDIRECT3DRMTEXTURE3;
-typedef struct IDirect3DRMWrap *LPDIRECT3DRMWRAP, **LPLPDIRECT3DRMWRAP;
-typedef struct IDirect3DRMMaterial *LPDIRECT3DRMMATERIAL, **LPLPDIRECT3DRMMATERIAL;
-typedef struct IDirect3DRMMaterial2 *LPDIRECT3DRMMATERIAL2, **LPLPDIRECT3DRMMATERIAL2;
-typedef struct IDirect3DRMAnimation *LPDIRECT3DRMANIMATION, **LPLPDIRECT3DRMANIMATION;
-typedef struct IDirect3DRMAnimation2 *LPDIRECT3DRMANIMATION2, **LPLPDIRECT3DRMANIMATION2;
-typedef struct IDirect3DRMAnimationSet *LPDIRECT3DRMANIMATIONSET, **LPLPDIRECT3DRMANIMATIONSET;
-typedef struct IDirect3DRMAnimationSet2 *LPDIRECT3DRMANIMATIONSET2, **LPLPDIRECT3DRMANIMATIONSET2;
-typedef struct IDirect3DRMUserVisual *LPDIRECT3DRMUSERVISUAL, **LPLPDIRECT3DRMUSERVISUAL;
-typedef struct IDirect3DRMShadow *LPDIRECT3DRMSHADOW, **LPLPDIRECT3DRMSHADOW;
-typedef struct IDirect3DRMShadow2 *LPDIRECT3DRMSHADOW2, **LPLPDIRECT3DRMSHADOW2;
-typedef struct IDirect3DRMArray *LPDIRECT3DRMARRAY, **LPLPDIRECT3DRMARRAY;
-typedef struct IDirect3DRMObjectArray *LPDIRECT3DRMOBJECTARRAY, **LPLPDIRECT3DRMOBJECTARRAY;
-typedef struct IDirect3DRMDeviceArray *LPDIRECT3DRMDEVICEARRAY, **LPLPDIRECT3DRMDEVICEARRAY;
-typedef struct IDirect3DRMFaceArray *LPDIRECT3DRMFACEARRAY, **LPLPDIRECT3DRMFACEARRAY;
-typedef struct IDirect3DRMViewportArray *LPDIRECT3DRMVIEWPORTARRAY, **LPLPDIRECT3DRMVIEWPORTARRAY;
-typedef struct IDirect3DRMFrameArray *LPDIRECT3DRMFRAMEARRAY, **LPLPDIRECT3DRMFRAMEARRAY;
-typedef struct IDirect3DRMAnimationArray *LPDIRECT3DRMANIMATIONARRAY, **LPLPDIRECT3DRMANIMATIONARRAY;
-typedef struct IDirect3DRMVisualArray *LPDIRECT3DRMVISUALARRAY, **LPLPDIRECT3DRMVISUALARRAY;
-typedef struct IDirect3DRMPickedArray *LPDIRECT3DRMPICKEDARRAY, **LPLPDIRECT3DRMPICKEDARRAY;
-typedef struct IDirect3DRMPicked2Array *LPDIRECT3DRMPICKED2ARRAY, **LPLPDIRECT3DRMPICKED2ARRAY;
-typedef struct IDirect3DRMLightArray *LPDIRECT3DRMLIGHTARRAY, **LPLPDIRECT3DRMLIGHTARRAY;
-typedef struct IDirect3DRMProgressiveMesh *LPDIRECT3DRMPROGRESSIVEMESH, **LPLPDIRECT3DRMPROGRESSIVEMESH;
-typedef struct IDirect3DRMClippedVisual *LPDIRECT3DRMCLIPPEDVISUAL, **LPLPDIRECT3DRMCLIPPEDVISUAL;
-
-/* ********************************************************************
- Types and structures
- ******************************************************************** */
-
-typedef void (__cdecl *D3DRMOBJECTCALLBACK)(LPDIRECT3DRMOBJECT obj, LPVOID arg);
-typedef void (__cdecl *D3DRMFRAMEMOVECALLBACK)(LPDIRECT3DRMFRAME obj, LPVOID arg, D3DVALUE delta);
-typedef void (__cdecl *D3DRMFRAME3MOVECALLBACK)(LPDIRECT3DRMFRAME3 obj, LPVOID arg, D3DVALUE delta);
-typedef void (__cdecl *D3DRMUPDATECALLBACK)(LPDIRECT3DRMDEVICE obj, LPVOID arg, int, LPD3DRECT);
-typedef int (__cdecl *D3DRMUSERVISUALCALLBACK)(LPDIRECT3DRMUSERVISUAL obj, LPVOID arg,
- D3DRMUSERVISUALREASON reason, LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMVIEWPORT view);
-typedef HRESULT (__cdecl *D3DRMLOADTEXTURECALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE *);
-typedef HRESULT (__cdecl *D3DRMLOADTEXTURE3CALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE3 *);
-typedef void (__cdecl *D3DRMLOADCALLBACK)(LPDIRECT3DRMOBJECT object, REFIID objectguid, LPVOID arg);
-
-typedef struct _D3DRMPICKDESC
-{
- ULONG ulFaceIdx;
- LONG lGroupIdx;
- D3DVECTOR vPosition;
-} D3DRMPICKDESC, *LPD3DRMPICKDESC;
-
-typedef struct _D3DRMPICKDESC2
-{
- ULONG ulFaceIdx;
- LONG lGroupIdx;
- D3DVECTOR vPosition;
- D3DVALUE tu;
- D3DVALUE tv;
- D3DVECTOR dvNormal;
- D3DCOLOR dcColor;
-} D3DRMPICKDESC2, *LPD3DRMPICKDESC2;
-
-/*****************************************************************************
- * IDirect3DRMObject interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMObject
-DECLARE_INTERFACE_(IDirect3DRMObject,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMObject_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMObject_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMObject_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMObject_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMObject_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMObject_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMObject_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMObject_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMObject_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMObject_AddRef(p) (p)->AddRef()
-#define IDirect3DRMObject_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMObject_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMObject_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMObject_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMObject_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMObject_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMObject_GetClassName(p,a,b) (p)->GetClassName(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMObject2 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMObject2
-DECLARE_INTERFACE_(IDirect3DRMObject2,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject2 methods ***/
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(GetClientData)(THIS_ DWORD id, LPVOID* ppData) PURE;
- STDMETHOD(GetDirect3DRM)(THIS_ LPDIRECT3DRM* ppDirect3DRM) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD pSize, LPSTR pName) PURE;
- STDMETHOD(SetClientData)(THIS_ DWORD id, LPVOID pData, DWORD flags) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR pName) PURE;
- STDMETHOD(GetAge)(THIS_ DWORD flags, LPDWORD pAge) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMObject2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject2 methods ***/
-#define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMObject2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMObject2_GetClientData(p,a,b) (p)->lpVtbl->SetClientData(p,a,b)
-#define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->lpVtbl->GetDirect3DRM(p,a)
-#define IDirect3DRMObject2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->lpVtbl->SetClientData(p,a,b,c)
-#define IDirect3DRMObject2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMObject2_GetAge(p,a,b) (p)->lpVtbl->GetAge(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMObject2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMObject2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMObject2_Release(p) (p)->Release()
-/*** IDirect3DRMObject2 methods ***/
-#define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMObject2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMObject2_GetClientData(p,a,b) (p)->SetClientData(a,b)
-#define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->GetDirect3DRM(a)
-#define IDirect3DRMObject2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->SetClientData(a,b,c)
-#define IDirect3DRMObject2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMObject2_GetAge(p,a,b) (p)->GetAge(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMVisual interface
- */
-#define INTERFACE IDirect3DRMVisual
-DECLARE_INTERFACE_(IDirect3DRMVisual,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMVisual_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMVisual_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMVisual_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMVisual_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMVisual_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMVisual_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMVisual_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMVisual_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMVisual_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMVisual_AddRef(p) (p)->AddRef()
-#define IDirect3DRMVisual_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMVisual_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMVisual_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMVisual_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMVisual_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMVisual_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMVisual_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMVisual_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMDevice interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMDevice
-DECLARE_INTERFACE_(IDirect3DRMDevice,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMDevice methods ***/
- STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
- STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
- STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
- STDMETHOD(Update)(THIS) PURE;
- STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
- STDMETHOD(SetDither)(THIS_ BOOL) PURE;
- STDMETHOD(SetShades)(THIS_ DWORD) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
- STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
- STDMETHOD_(BOOL, GetDither)(THIS) PURE;
- STDMETHOD_(DWORD, GetShades)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
- STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
- STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMDevice_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMDevice_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMDevice_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMDevice_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMDevice_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMDevice_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
-#define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice_Update(p) (p)->lpVtbl->Update(p)
-#define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
-#define IDirect3DRMDevice_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
-#define IDirect3DRMDevice_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
-#define IDirect3DRMDevice_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
-#define IDirect3DRMDevice_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
-#define IDirect3DRMDevice_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
-#define IDirect3DRMDevice_GetDither(p) (p)->lpVtbl->GetDither(p)
-#define IDirect3DRMDevice_GetShades(p) (p)->lpVtbl->GetShades(p)
-#define IDirect3DRMDevice_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMDevice_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
-#define IDirect3DRMDevice_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMDevice_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
-#define IDirect3DRMDevice_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
-#define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMDevice_AddRef(p) (p)->AddRef()
-#define IDirect3DRMDevice_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMDevice_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMDevice_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMDevice_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMDevice_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMDevice_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMDevice_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMDevice_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice_Init(p,a,b) (p)->Init(p,a,b)
-#define IDirect3DRMDevice_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice_Update(p) (p)->Update(p)
-#define IDirect3DRMDevice_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
-#define IDirect3DRMDevice_GetBufferCount(p) (p)->GetBufferCount(p)
-#define IDirect3DRMDevice_SetDither(p,a) (p)->SetDither(p,a)
-#define IDirect3DRMDevice_SetShades(p,a) (p)->SetShades(p,a)
-#define IDirect3DRMDevice_SetQuality(p,a) (p)->SetQuality(p,a)
-#define IDirect3DRMDevice_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
-#define IDirect3DRMDevice_GetViewports(p,a) (p)->GetViewports(p,a)
-#define IDirect3DRMDevice_GetDither(p) (p)->GetDither(p)
-#define IDirect3DRMDevice_GetShades(p) (p)->GetShades(p)
-#define IDirect3DRMDevice_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMDevice_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMDevice_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
-#define IDirect3DRMDevice_GetQuality(p) (p)->GetQuality(p)
-#define IDirect3DRMDevice_GetColorModel(p) (p)->GetColorModel(p)
-#define IDirect3DRMDevice_GetTextureQuality(p) (p)->GetTextureQuality(p)
-#define IDirect3DRMDevice_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMDevice2 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMDevice2
-DECLARE_INTERFACE_(IDirect3DRMDevice2,IDirect3DRMDevice)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMDevice methods ***/
- STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
- STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
- STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
- STDMETHOD(Update)(THIS) PURE;
- STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
- STDMETHOD(SetDither)(THIS_ BOOL) PURE;
- STDMETHOD(SetShades)(THIS_ DWORD) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
- STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
- STDMETHOD_(BOOL, GetDither)(THIS) PURE;
- STDMETHOD_(DWORD, GetShades)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
- STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
- STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
- /*** IDirect3DRMDevice2 methods ***/
- STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
- STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
- STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
- STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMDevice2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMDevice2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMDevice2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMDevice2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMDevice2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice2_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
-#define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice2_Update(p) (p)->lpVtbl->Update(p)
-#define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
-#define IDirect3DRMDevice2_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
-#define IDirect3DRMDevice2_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
-#define IDirect3DRMDevice2_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
-#define IDirect3DRMDevice2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
-#define IDirect3DRMDevice2_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
-#define IDirect3DRMDevice2_GetDither(p) (p)->lpVtbl->GetDither(p)
-#define IDirect3DRMDevice2_GetShades(p) (p)->lpVtbl->GetShades(p)
-#define IDirect3DRMDevice2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMDevice2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
-#define IDirect3DRMDevice2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMDevice2_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
-#define IDirect3DRMDevice2_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
-#define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
-/*** IDirect3DRMDevice2 methods ***/
-#define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
-#define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
-#define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
-#define IDirect3DRMDevice2_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
-#define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMDevice2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMDevice2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMDevice2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMDevice2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMDevice2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMDevice2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMDevice2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMDevice2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMDevice2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice2_Init(p,a,b) (p)->Init(p,a,b)
-#define IDirect3DRMDevice2_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice2_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice2_Update(p) (p)->Update(p)
-#define IDirect3DRMDevice2_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice2_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice2_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
-#define IDirect3DRMDevice2_GetBufferCount(p) (p)->GetBufferCount(p)
-#define IDirect3DRMDevice2_SetDither(p,a) (p)->SetDither(p,a)
-#define IDirect3DRMDevice2_SetShades(p,a) (p)->SetShades(p,a)
-#define IDirect3DRMDevice2_SetQuality(p,a) (p)->SetQuality(p,a)
-#define IDirect3DRMDevice2_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
-#define IDirect3DRMDevice2_GetViewports(p,a) (p)->GetViewports(p,a)
-#define IDirect3DRMDevice2_GetDither(p) (p)->GetDither(p)
-#define IDirect3DRMDevice2_GetShades(p) (p)->GetShades(p)
-#define IDirect3DRMDevice2_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMDevice2_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMDevice2_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice2_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
-#define IDirect3DRMDevice2_GetQuality(p) (p)->GetQuality(p)
-#define IDirect3DRMDevice2_GetColorModel(p) (p)->GetColorModel(p)
-#define IDirect3DRMDevice2_GetTextureQuality(p) (p)->GetTextureQuality(p)
-#define IDirect3DRMDevice2_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
-/*** IDirect3DRMDevice2 methods ***/
-#define IDirect3DRMDevice2_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
-#define IDirect3DRMDevice2_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
-#define IDirect3DRMDevice2_SetRenderMode(p,a) (p)->SetRenderMode(a)
-#define IDirect3DRMDevice2_GetRenderMode(p) (p)->GetRenderMode()
-#define IDirect3DRMDevice2_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMDevice3 interface
- */
-#ifdef WINE_NO_UNICODE_MACROS
-#undef GetClassName
-#endif
-#define INTERFACE IDirect3DRMDevice3
-DECLARE_INTERFACE_(IDirect3DRMDevice3,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMDevice methods ***/
- STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
- STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
- STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
- STDMETHOD(Update)(THIS) PURE;
- STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
- STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
- STDMETHOD(SetDither)(THIS_ BOOL) PURE;
- STDMETHOD(SetShades)(THIS_ DWORD) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
- STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
- STDMETHOD_(BOOL, GetDither)(THIS) PURE;
- STDMETHOD_(DWORD, GetShades)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
- STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
- STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
- /*** IDirect3DRMDevice2 methods ***/
- STDMETHOD(InitFromD3D2)(THIS_ LPDIRECT3D2 pD3D, LPDIRECT3DDEVICE2 pD3DDev) PURE;
- STDMETHOD(InitFromSurface)(THIS_ LPGUID pGUID, LPDIRECTDRAW pDD, LPDIRECTDRAWSURFACE pDDSBack) PURE;
- STDMETHOD(SetRenderMode)(THIS_ DWORD flags) PURE;
- STDMETHOD_(DWORD, GetRenderMode)(THIS) PURE;
- STDMETHOD(GetDirect3DDevice2)(THIS_ LPDIRECT3DDEVICE2 *) PURE;
- /*** IDirect3DRMDevice3 methods ***/
- STDMETHOD(FindPreferredTextureFormat)(THIS_ DWORD BitDepths, DWORD flags, LPDDPIXELFORMAT pDDPF) PURE;
- STDMETHOD(RenderStateChange)(THIS_ D3DRENDERSTATETYPE drsType, DWORD val, DWORD flags) PURE;
- STDMETHOD(LightStateChange)(THIS_ D3DLIGHTSTATETYPE drsType, DWORD val, DWORD flags) PURE;
- STDMETHOD(GetStateChangeOptions)(THIS_ DWORD StateClass, DWORD StateNum, LPDWORD pFlags) PURE;
- STDMETHOD(SetStateChangeOptions)(THIS_ DWORD StateClass, DWORD StateNum, DWORD flags) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMDevice3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMDevice3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMDevice3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMDevice3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMDevice3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice3_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
-#define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice3_Update(p) (p)->lpVtbl->Update(p)
-#define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
-#define IDirect3DRMDevice3_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
-#define IDirect3DRMDevice3_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
-#define IDirect3DRMDevice3_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
-#define IDirect3DRMDevice3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
-#define IDirect3DRMDevice3_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
-#define IDirect3DRMDevice3_GetDither(p) (p)->lpVtbl->GetDither(p)
-#define IDirect3DRMDevice3_GetShades(p) (p)->lpVtbl->GetShades(p)
-#define IDirect3DRMDevice3_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMDevice3_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
-#define IDirect3DRMDevice3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMDevice3_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
-#define IDirect3DRMDevice3_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
-#define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
-/*** IDirect3DRMDevice2 methods ***/
-#define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->lpVtbl->InitFromD3D2(p,a,b)
-#define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->lpVtbl->InitFromSurface(p,a,b,c)
-#define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->lpVtbl->SetRenderMode(p,a)
-#define IDirect3DRMDevice3_GetRenderMode(p) (p)->lpVtbl->GetRenderMode(p)
-#define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->lpVtbl->GetDirect3DDevice2(p,a)
-/*** IDirect3DRMDevice3 methods ***/
-#define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->lpVtbl->FindPreferredTextureFormat(p,a,b)
-#define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->lpVtbl->RenderStateChange(p,a,b)
-#define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->lpVtbl->LightStateChange(p,a,b)
-#define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->lpVtbl->GetStateChangeOptions(p,a,b)
-#define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->lpVtbl->SetStateChangeOptions(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMDevice3_AddRef(p) (p)->AddRef()
-#define IDirect3DRMDevice3_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMDevice3_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMDevice3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMDevice3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMDevice3_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMDevice3_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMDevice3_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMDevice3_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMDevice3_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMDevice methods ***/
-#define IDirect3DRMDevice3_Init(p,a,b) (p)->Init(p,a,b)
-#define IDirect3DRMDevice3_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
-#define IDirect3DRMDevice3_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
-#define IDirect3DRMDevice3_Update(p) (p)->Update(p)
-#define IDirect3DRMDevice3_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
-#define IDirect3DRMDevice3_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
-#define IDirect3DRMDevice3_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
-#define IDirect3DRMDevice3_GetBufferCount(p) (p)->GetBufferCount(p)
-#define IDirect3DRMDevice3_SetDither(p,a) (p)->SetDither(p,a)
-#define IDirect3DRMDevice3_SetShades(p,a) (p)->SetShades(p,a)
-#define IDirect3DRMDevice3_SetQuality(p,a) (p)->SetQuality(p,a)
-#define IDirect3DRMDevice3_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
-#define IDirect3DRMDevice3_GetViewports(p,a) (p)->GetViewports(p,a)
-#define IDirect3DRMDevice3_GetDither(p) (p)->GetDither(p)
-#define IDirect3DRMDevice3_GetShades(p) (p)->GetShades(p)
-#define IDirect3DRMDevice3_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMDevice3_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMDevice3_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
-#define IDirect3DRMDevice3_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
-#define IDirect3DRMDevice3_GetQuality(p) (p)->GetQuality(p)
-#define IDirect3DRMDevice3_GetColorModel(p) (p)->GetColorModel(p)
-#define IDirect3DRMDevice3_GetTextureQuality(p) (p)->GetTextureQuality(p)
-#define IDirect3DRMDevice3_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
-/*** IDirect3DRMDevice2 methods ***/
-#define IDirect3DRMDevice3_InitFromD3D2(p,a,b) (p)->InitFromD3D2(a,b)
-#define IDirect3DRMDevice3_InitFromSurface(p,a,b,c) (p)->InitFromSurface(a,b,c)
-#define IDirect3DRMDevice3_SetRenderMode(p,a) (p)->SetRenderMode(a)
-#define IDirect3DRMDevice3_GetRenderMode(p) (p)->GetRenderMode()
-#define IDirect3DRMDevice3_GetDirect3DDevice2(p,a) (p)->GetDirect3DDevice2(a)
-/*** IDirect3DRMDevice3 methods ***/
-#define IDirect3DRMDevice3_FindPreferredTextureFormat(p,a,b,c) (p)->FindPreferredTextureFormat(a,b,c)
-#define IDirect3DRMDevice3_RenderStateChange(p,a,b,c) (p)->RenderStateChange(a,b,c)
-#define IDirect3DRMDevice3_LightStateChange(p,a,b,c) (p)->LightStateChange(a,b,c)
-#define IDirect3DRMDevice3_GetStateChangeOptions(p,a,b,c) (p)->GetStateChangeOptions(a,b,c)
-#define IDirect3DRMDevice3_SetStateChangeOptions(p,a,b,c) (p)->SetStateChangeOptions(a,b,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMViewport interface
- */
-#define INTERFACE IDirect3DRMViewport
-DECLARE_INTERFACE_(IDirect3DRMViewport,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMViewport methods ***/
- STDMETHOD(Init) (THIS_ LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMFRAME camera, DWORD xpos, DWORD ypos,
- DWORD width, DWORD height) PURE;
- STDMETHOD(Clear)(THIS) PURE;
- STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetField)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE;
- STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE;
- STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE;
- STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE;
- STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE;
- STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE;
- STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE *) PURE;
- STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE;
- STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE;
- STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE;
- STDMETHOD_(LONG, GetX)(THIS) PURE;
- STDMETHOD_(LONG, GetY)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetField)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE;
- STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE;
- STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMViewport_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMViewport_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMViewport_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMViewport_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMViewport_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMViewport_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMViewport_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMViewport methods ***/
-#define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
-#define IDirect3DRMViewport_Clear(p) (p)->lpVtbl->Clear(p)
-#define IDirect3DRMViewport_Render(p,a) (p)->lpVtbl->Render(p,a)
-#define IDirect3DRMViewport_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
-#define IDirect3DRMViewport_SetBack(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport_SetField(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
-#define IDirect3DRMViewport_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
-#define IDirect3DRMViewport_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
-#define IDirect3DRMViewport_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-#define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
-#define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
-#define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
-#define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport_GetCamera(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
-#define IDirect3DRMViewport_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
-#define IDirect3DRMViewport_GetX(p) (p)->lpVtbl->GetX(p)
-#define IDirect3DRMViewport_GetY(p) (p)->lpVtbl->GetY(p)
-#define IDirect3DRMViewport_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMViewport_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMViewport_GetField(p) (p)->lpVtbl->GetField(p)
-#define IDirect3DRMViewport_GetBack(p) (p)->lpVtbl->GetBack(p)
-#define IDirect3DRMViewport_GetFront(p) (p)->lpVtbl->GetFront(p)
-#define IDirect3DRMViewport_GetProjection(p) (p)->lpVtbl->GetProjection(p)
-#define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMViewport_AddRef(p) (p)->AddRef()
-#define IDirect3DRMViewport_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMViewport_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMViewport_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMViewport_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMViewport_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMViewport_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMViewport_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMViewport_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMViewport_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMViewport methods ***/
-#define IDirect3DRMViewport_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
-#define IDirect3DRMViewport_Clear(p) (p)->Clear(p)
-#define IDirect3DRMViewport_Render(p,a) (p)->Render(p,a)
-#define IDirect3DRMViewport_SetFront(p,a) (p)->SetFront(p,a)
-#define IDirect3DRMViewport_SetBack(p,a) (p)->(p,a)
-#define IDirect3DRMViewport_SetField(p,a) (p)->(p,a)
-#define IDirect3DRMViewport_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
-#define IDirect3DRMViewport_SetCamera(p,a) (p)->SetCamera(p,a)
-#define IDirect3DRMViewport_SetProjection(p,a) (p)->SetProjection(p,a)
-#define IDirect3DRMViewport_Transform(p,a,b) (p)->Transform(p,a,b)
-#define IDirect3DRMViewport_InverseTransform(p,a,b) (p)->(p,a,b)
-#define IDirect3DRMViewport_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
-#define IDirect3DRMViewport_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
-#define IDirect3DRMViewport_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport_GetCamera(p,a) (p)->GetCamera(p,a)
-#define IDirect3DRMViewport_GetDevice(p,a) (p)->GetDevice(p,a)
-#define IDirect3DRMViewport_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
-#define IDirect3DRMViewport_GetUniformScaling(p) (p)->GetUniformScaling(p)
-#define IDirect3DRMViewport_GetX(p) (p)->GetX(p)
-#define IDirect3DRMViewport_GetY(p) (p)->GetY(p)
-#define IDirect3DRMViewport_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMViewport_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMViewport_GetField(p) (p)->GetField(p)
-#define IDirect3DRMViewport_GetBack(p) (p)->GetBack(p)
-#define IDirect3DRMViewport_GetFront(p) (p)->GetFront(p)
-#define IDirect3DRMViewport_GetProjection(p) (p)->GetProjection(p)
-#define IDirect3DRMViewport_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMViewport2 interface
- */
-#define INTERFACE IDirect3DRMViewport2
-DECLARE_INTERFACE_(IDirect3DRMViewport2,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMViewport2 methods ***/
- STDMETHOD(Init) (THIS_ LPDIRECT3DRMDEVICE3 dev, LPDIRECT3DRMFRAME3 camera, DWORD xpos, DWORD ypos,
- DWORD width, DWORD height) PURE;
- STDMETHOD(Clear)(THIS_ DWORD flags) PURE;
- STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetField)(THIS_ D3DVALUE) PURE;
- STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE;
- STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE;
- STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE;
- STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE;
- STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE;
- STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE;
- STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE3 *) PURE;
- STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE;
- STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE;
- STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE;
- STDMETHOD_(LONG, GetX)(THIS) PURE;
- STDMETHOD_(LONG, GetY)(THIS) PURE;
- STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
- STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetField)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE;
- STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE;
- STDMETHOD_(D3DRMPROJECTIONTYPE, GetProjection)(THIS) PURE;
- STDMETHOD(GetDirect3DViewport)(THIS_ LPDIRECT3DVIEWPORT *) PURE;
- STDMETHOD(TransformVectors)(THIS_ DWORD NumVectors, LPD3DRMVECTOR4D pDstVectors,
- LPD3DVECTOR pSrcVectors) PURE;
- STDMETHOD(InverseTransformVectors)(THIS_ DWORD NumVectors, LPD3DVECTOR pDstVectors,
- LPD3DRMVECTOR4D pSrcVectors) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMViewport2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMViewport_2Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMViewport2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMViewport2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMViewport2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMViewport2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMViewport2 methods ***/
-#define IDirect3DRMViewport2_Init(p,a,b,c,d,e,f) (p)->lpVtbl->Init(p,a,b,c,d,e,f)
-#define IDirect3DRMViewport2_Clear(p,a) (p)->lpVtbl->Clear(p,a)
-#define IDirect3DRMViewport2_Render(p,a) (p)->lpVtbl->Render(p,a)
-#define IDirect3DRMViewport2_SetFront(p,a) (p)->lpVtbl->SetFront(p,a)
-#define IDirect3DRMViewport2_SetBack(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport2_SetField(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->lpVtbl->SetUniformScaling(p,a)
-#define IDirect3DRMViewport2_SetCamera(p,a) (p)->lpVtbl->SetCamera(p,a)
-#define IDirect3DRMViewport2_SetProjection(p,a) (p)->lpVtbl->SetProjection(p,a)
-#define IDirect3DRMViewport2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-#define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->lpVtbl->(p,a,b)
-#define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->lpVtbl->Configure(p,a,b,c,d)
-#define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->lpVtbl->ForceUpdate(p,a,b,c,d)
-#define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->lpVtbl->SetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport2_GetCamera(p,a) (p)->lpVtbl->(p,a)
-#define IDirect3DRMViewport2_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->lpVtbl->GetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->lpVtbl->Pick(p,a,b,c)
-#define IDirect3DRMViewport2_GetUniformScaling(p) (p)->lpVtbl->GetUniformScaling(p)
-#define IDirect3DRMViewport2_GetX(p) (p)->lpVtbl->GetX(p)
-#define IDirect3DRMViewport2_GetY(p) (p)->lpVtbl->GetY(p)
-#define IDirect3DRMViewport2_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define IDirect3DRMViewport2_GetHeight(p) (p)->lpVtbl->GetHeight(p)
-#define IDirect3DRMViewport2_GetField(p) (p)->lpVtbl->GetField(p)
-#define IDirect3DRMViewport2_GetBack(p) (p)->lpVtbl->GetBack(p)
-#define IDirect3DRMViewport2_GetFront(p) (p)->lpVtbl->GetFront(p)
-#define IDirect3DRMViewport2_GetProjection(p) (p)->lpVtbl->GetProjection(p)
-#define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->lpVtbl->GetDirect3DViewport(p,a)
-#define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->lpVtbl->TransformVectors(p,a,b,c)
-#define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->lpVtbl->InverseTransformVectors(p,ab,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMViewport2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMViewport2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMViewport2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMViewport2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMViewport2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMViewport2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMViewport2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMViewport2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMViewport2 methods ***/
-#define IDirect3DRMViewport2_Init(p,a,b,c,d) (p)->Init(p,a,b,c,d)
-#define IDirect3DRMViewport2_Clear(p) (p)->Clear(p)
-#define IDirect3DRMViewport2_Render(p,a) (p)->Render(p,a)
-#define IDirect3DRMViewport2_SetFront(p,a) (p)->SetFront(p,a)
-#define IDirect3DRMViewport2_SetBack(p,a) (p)->(p,a)
-#define IDirect3DRMViewport2_SetField(p,a) (p)->(p,a)
-#define IDirect3DRMViewport2_SetUniformScaling(p,a) (p)->SetUniformScaling(p,a)
-#define IDirect3DRMViewport2_SetCamera(p,a) (p)->SetCamera(p,a)
-#define IDirect3DRMViewport2_SetProjection(p,a) (p)->SetProjection(p,a)
-#define IDirect3DRMViewport2_Transform(p,a,b) (p)->Transform(p,a,b)
-#define IDirect3DRMViewport2_InverseTransform(p,a,b) (p)->(p,a,b)
-#define IDirect3DRMViewport2_Configure(p,a,b,c,d) (p)->Configure(p,a,b,c,d)
-#define IDirect3DRMViewport2_ForceUpdate(p,a,b,c,d) (p)->ForceUpdate(p,a,b,c,d)
-#define IDirect3DRMViewport2_SetPlane(p,a,b,c,d) (p)->SetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport2_GetCamera(p,a) (p)->GetCamera(p,a)
-#define IDirect3DRMViewport2_GetDevice(p,a) (p)->GetDevice(p,a)
-#define IDirect3DRMViewport2_GetPlane(p,a,b,c,d) (p)->GetPlane(p,a,b,c,d)
-#define IDirect3DRMViewport2_Pick(p,a,b,c) (p)->Pick(p,a,b,c)
-#define IDirect3DRMViewport2_GetUniformScaling(p) (p)->GetUniformScaling(p)
-#define IDirect3DRMViewport2_GetX(p) (p)->GetX(p)
-#define IDirect3DRMViewport2_GetY(p) (p)->GetY(p)
-#define IDirect3DRMViewport2_GetWidth(p) (p)->GetWidth(p)
-#define IDirect3DRMViewport2_GetHeight(p) (p)->GetHeight(p)
-#define IDirect3DRMViewport2_GetField(p) (p)->GetField(p)
-#define IDirect3DRMViewport2_GetBack(p) (p)->GetBack(p)
-#define IDirect3DRMViewport2_GetFront(p) (p)->GetFront(p)
-#define IDirect3DRMViewport2_GetProjection(p) (p)->GetProjection(p)
-#define IDirect3DRMViewport2_GetDirect3DViewport(p,a) (p)->GetDirect3DViewport(p,a)
-#define IDirect3DRMViewport2_TransformVectors(p,a,b,c) (p)->TransformVectors(a,b,c)
-#define IDirect3DRMViewport2_InverseTransformVectors(p,a,b,c) (p)->InverseTransformVectors(ab,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFrame interface
- */
-#define INTERFACE IDirect3DRMFrame
-DECLARE_INTERFACE_(IDirect3DRMFrame,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFrame methods ***/
- STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE;
- STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
- STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
- STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
- STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
- STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE;
- STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
- STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE;
- STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
- STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE;
- STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK,
- LPVOID pArg)PURE;
- STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE;
- STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
- STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
- STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
- STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
- STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
- STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE;
- STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
- STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
- STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
- STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
- D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
- STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE;
- STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
- STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFrame_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFrame_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFrame_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFrame_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFrame_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFrame_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFrame methods ***/
-#define IDirect3DRMFrame_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
-#define IDirect3DRMFrame_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
-#define IDirect3DRMFrame_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
-#define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
-#define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
-#define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
-#define IDirect3DRMFrame_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
-#define IDirect3DRMFrame_GetColor(p) (p)->lpVtbl->GetColor(p)
-#define IDirect3DRMFrame_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
-#define IDirect3DRMFrame_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
-#define IDirect3DRMFrame_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-#define IDirect3DRMFrame_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
-#define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
-#define IDirect3DRMFrame_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
-#define IDirect3DRMFrame_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
-#define IDirect3DRMFrame_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFrame_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
-#define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
-#define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
-#define IDirect3DRMFrame_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
-#define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
-#define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
-#define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
-#define IDirect3DRMFrame_Move(p,a) (p)->lpVtbl->Move(p,a)
-#define IDirect3DRMFrame_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
-#define IDirect3DRMFrame_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
-#define IDirect3DRMFrame_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
-#define IDirect3DRMFrame_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
-#define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
-#define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
-#define IDirect3DRMFrame_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
-#define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
-#define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
-#define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
-#define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
-#define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
-#define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
-#define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFrame_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
-#define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
-#define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
-#define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
-#define IDirect3DRMFrame_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
-#define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
-#define IDirect3DRMFrame_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFrame_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFrame_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFrame_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFrame_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFrame_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFrame_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFrame_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFrame_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFrame_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFrame methods ***/
-#define IDirect3DRMFrame_AddChild(p,a) (p)->AddChild(a)
-#define IDirect3DRMFrame_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DRMFrame_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
-#define IDirect3DRMFrame_AddTransform(p,a,b) (p)->AddTransform(a,b)
-#define IDirect3DRMFrame_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
-#define IDirect3DRMFrame_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
-#define IDirect3DRMFrame_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
-#define IDirect3DRMFrame_AddVisual(p,a) (p)->AddVisual(a)
-#define IDirect3DRMFrame_GetChildren(p,a) (p)->GetChildren(a)
-#define IDirect3DRMFrame_GetColor(p) (p)->GetColor()
-#define IDirect3DRMFrame_GetLights(p,a) (p)->GetLights(a)
-#define IDirect3DRMFrame_GetMaterialMode(p) (p)->GetMaterialMode()
-#define IDirect3DRMFrame_GetParent(p,a) (p)->GetParent(a)
-#define IDirect3DRMFrame_GetPosition(p,a,b) (p)->GetPosition(a,b)
-#define IDirect3DRMFrame_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
-#define IDirect3DRMFrame_GetScene(p,a) (p)->GetScene(a)
-#define IDirect3DRMFrame_GetSortMode(p) (p)->GetSortMode()
-#define IDirect3DRMFrame_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFrame_GetTransform(p,a) (p)->GetTransform(a)
-#define IDirect3DRMFrame_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
-#define IDirect3DRMFrame_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
-#define IDirect3DRMFrame_GetVisuals(p,a) (p)->GetVisuals(a)
-#define IDirect3DRMFrame_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
-#define IDirect3DRMFrame_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
-#define IDirect3DRMFrame_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMFrame_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
-#define IDirect3DRMFrame_Move(p,a) (p)->Move(a)
-#define IDirect3DRMFrame_DeleteChild(p,a) (p)->DeleteChild(a)
-#define IDirect3DRMFrame_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DRMFrame_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
-#define IDirect3DRMFrame_DeleteVisual(p,a) (p)->DeleteVisual(a)
-#define IDirect3DRMFrame_GetSceneBackground(p) (p)->GetSceneBackground()
-#define IDirect3DRMFrame_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame_GetSceneFogColor(p) (p)->GetSceneFogColor()
-#define IDirect3DRMFrame_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
-#define IDirect3DRMFrame_GetSceneFogMode(p) (p)->GetSceneFogMode()
-#define IDirect3DRMFrame_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
-#define IDirect3DRMFrame_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
-#define IDirect3DRMFrame_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
-#define IDirect3DRMFrame_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
-#define IDirect3DRMFrame_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
-#define IDirect3DRMFrame_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
-#define IDirect3DRMFrame_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFrame_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFrame_GetZbufferMode(p) (p)->GetZbufferMode()
-#define IDirect3DRMFrame_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
-#define IDirect3DRMFrame_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
-#define IDirect3DRMFrame_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirect3DRMFrame_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
-#define IDirect3DRMFrame_SetSortMode(p,a) (p)->SetSortMode(a)
-#define IDirect3DRMFrame_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFrame_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMFrame_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
-#define IDirect3DRMFrame_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
-#define IDirect3DRMFrame_Transform(p,a,b) (p)->Transform(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFrame2 interface
- */
-#define INTERFACE IDirect3DRMFrame2
-DECLARE_INTERFACE_(IDirect3DRMFrame2,IDirect3DRMFrame)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFrame methods ***/
- STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME child) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE;
- STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(AddVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
- STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
- STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
- STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
- STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_position) PURE;
- STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
- STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME *) PURE;
- STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DRMMATRIX4D return_matrix) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR return_velocity, BOOL with_rotation) PURE;
- STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
- STDMETHOD(GetVisuals)(THIS_ LPDIRECT3DRMVISUALARRAY *visuals) PURE;
- STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK,
- LPVOID pArg)PURE;
- STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME target, LPDIRECT3DRMFRAME reference, D3DRMFRAMECONSTRAINT) PURE;
- STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
- STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(DeleteVisual)(THIS_ LPDIRECT3DRMVISUAL) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
- STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
- STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
- STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
- STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end, D3DVALUE *return_density) PURE;
- STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
- STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
- STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
- STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
- D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
- STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) PURE;
- STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
- STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- /*** IDirect3DRMFrame2 methods ***/
- STDMETHOD(AddMoveCallback2)(THIS_ D3DRMFRAMEMOVECALLBACK, VOID *arg, DWORD flags) PURE;
- STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE;
- STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up);
- STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE;
- STDMETHOD_(BOOL, GetInheritAxes)(THIS);
- STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz);
- STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent);
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
- STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME reference, D3DRMQUATERNION *q) PURE;
- STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME reference, LPD3DRMRAY ray, DWORD flags,
- LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE;
- STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, D3DRMSAVEOPTIONS d3dSaveFlags);
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFrame2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFrame2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFrame2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFrame2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFrame2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFrame2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFrame methods ***/
-#define IDirect3DRMFrame2_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
-#define IDirect3DRMFrame2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->lpVtbl->AddMoveCallback(p,a,b)
-#define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
-#define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
-#define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
-#define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame2_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
-#define IDirect3DRMFrame2_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
-#define IDirect3DRMFrame2_GetColor(p) (p)->lpVtbl->GetColor(p)
-#define IDirect3DRMFrame2_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
-#define IDirect3DRMFrame2_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
-#define IDirect3DRMFrame2_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-#define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
-#define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
-#define IDirect3DRMFrame2_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
-#define IDirect3DRMFrame2_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
-#define IDirect3DRMFrame2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFrame2_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
-#define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
-#define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
-#define IDirect3DRMFrame2_GetVisuals(p,a) (p)->lpVtbl->GetVisuals(p,a)
-#define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
-#define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
-#define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
-#define IDirect3DRMFrame2_Move(p,a) (p)->lpVtbl->Move(p,a)
-#define IDirect3DRMFrame2_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
-#define IDirect3DRMFrame2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
-#define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
-#define IDirect3DRMFrame2_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
-#define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
-#define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
-#define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
-#define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
-#define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
-#define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
-#define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
-#define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
-#define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
-#define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFrame2_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
-#define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
-#define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
-#define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame2_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
-#define IDirect3DRMFrame2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
-#define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
-#define IDirect3DRMFrame2_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-/*** IDirect3DRMFrame2 methods ***/
-#define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->lpVtbl->AddMoveCallback2(p,a,b,c)
-#define IDirect3DRMFrame2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMFrame2_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
-#define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
-#define IDirect3DRMFrame2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->lpVtbl->GetInheritAxes(p,a,b)
-#define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
-#define IDirect3DRMFrame2_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
-#define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
-#define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
-#define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
-#define IDirect3DRMFrame2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
-#define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
-#define IDirect3DRMFrame2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFrame2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFrame2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFrame2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFrame2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFrame2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFrame2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFrame2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFrame2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFrame2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFrame methods ***/
-#define IDirect3DRMFrame2_AddChild(p,a) (p)->AddChild(a)
-#define IDirect3DRMFrame2_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DRMFrame2_AddMoveCallback(p,a,b) (p)->AddMoveCallback(a,b)
-#define IDirect3DRMFrame2_AddTransform(p,a,b) (p)->AddTransform(a,b)
-#define IDirect3DRMFrame2_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
-#define IDirect3DRMFrame2_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
-#define IDirect3DRMFrame2_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
-#define IDirect3DRMFrame2_AddVisual(p,a) (p)->AddVisual(a)
-#define IDirect3DRMFrame2_GetChildren(p,a) (p)->GetChildren(a)
-#define IDirect3DRMFrame2_GetColor(p) (p)->GetColor()
-#define IDirect3DRMFrame2_GetLights(p,a) (p)->GetLights(a)
-#define IDirect3DRMFrame2_GetMaterialMode(p) (p)->GetMaterialMode()
-#define IDirect3DRMFrame2_GetParent(p,a) (p)->GetParent(a)
-#define IDirect3DRMFrame2_GetPosition(p,a,b) (p)->GetPosition(a,b)
-#define IDirect3DRMFrame2_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
-#define IDirect3DRMFrame2_GetScene(p,a) (p)->GetScene(a)
-#define IDirect3DRMFrame2_GetSortMode(p) (p)->GetSortMode()
-#define IDirect3DRMFrame2_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFrame2_GetTransform(p,a) (p)->GetTransform(a)
-#define IDirect3DRMFrame2_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
-#define IDirect3DRMFrame2_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
-#define IDirect3DRMFrame2_GetVisuals(p,a) (p)->GetVisuals(a)
-#define IDirect3DRMFrame2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
-#define IDirect3DRMFrame2_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
-#define IDirect3DRMFrame2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMFrame2_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
-#define IDirect3DRMFrame2_Move(p,a) (p)->Move(a)
-#define IDirect3DRMFrame2_DeleteChild(p,a) (p)->DeleteChild(a)
-#define IDirect3DRMFrame2_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DRMFrame2_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
-#define IDirect3DRMFrame2_DeleteVisual(p,a) (p)->DeleteVisual(a)
-#define IDirect3DRMFrame2_GetSceneBackground(p) (p)->GetSceneBackground()
-#define IDirect3DRMFrame2_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame2_GetSceneFogColor(p) (p)->GetSceneFogColor()
-#define IDirect3DRMFrame2_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
-#define IDirect3DRMFrame2_GetSceneFogMode(p) (p)->GetSceneFogMode()
-#define IDirect3DRMFrame2_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame2_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
-#define IDirect3DRMFrame2_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
-#define IDirect3DRMFrame2_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame2_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
-#define IDirect3DRMFrame2_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
-#define IDirect3DRMFrame2_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
-#define IDirect3DRMFrame2_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
-#define IDirect3DRMFrame2_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame2_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFrame2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFrame2_GetZbufferMode(p) (p)->GetZbufferMode()
-#define IDirect3DRMFrame2_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
-#define IDirect3DRMFrame2_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
-#define IDirect3DRMFrame2_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirect3DRMFrame2_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
-#define IDirect3DRMFrame2_SetSortMode(p,a) (p)->SetSortMode(a)
-#define IDirect3DRMFrame2_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFrame2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMFrame2_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
-#define IDirect3DRMFrame2_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
-#define IDirect3DRMFrame2_Transform(p,a,b) (p)->Transform(a,b)
-/*** IDirect3DRMFrame2 methods ***/
-#define IDirect3DRMFrame2_AddMoveCallback2(p,a,b,c) (p)->AddMoveCallback2(a,b,c)
-#define IDirect3DRMFrame2_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMFrame2_GetBoxEnable(p) (p)->GetBoxEnable()
-#define IDirect3DRMFrame2_GetAxes(p,a,b) (p)->GetAxes(a,b)
-#define IDirect3DRMFrame2_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DRMFrame2_GetInheritAxes(p,a,b) (p)->GetInheritAxes(a,b)
-#define IDirect3DRMFrame2_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
-#define IDirect3DRMFrame2_SetBox(p,a) (p)->SetBox(a)
-#define IDirect3DRMFrame2_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
-#define IDirect3DRMFrame2_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
-#define IDirect3DRMFrame2_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
-#define IDirect3DRMFrame2_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DRMFrame2_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
-#define IDirect3DRMFrame2_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
-#define IDirect3DRMFrame2_Save(p,a,b,c) (p)->Save(a,b,c)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFrame3 interface
- */
-#define INTERFACE IDirect3DRMFrame3
-DECLARE_INTERFACE_(IDirect3DRMFrame3,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFrame3 methods ***/
- STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME3 child) PURE;
- STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg, DWORD flags) PURE;
- STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
- STDMETHOD(AddVisual)(THIS_ LPUNKNOWN) PURE;
- STDMETHOD(GetChildren)(THIS_ LPDIRECT3DRMFRAMEARRAY *children) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
- STDMETHOD(GetLights)(THIS_ LPDIRECT3DRMLIGHTARRAY *lights) PURE;
- STDMETHOD_(D3DRMMATERIALMODE, GetMaterialMode)(THIS) PURE;
- STDMETHOD(GetParent)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
- STDMETHOD(GetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_position) PURE;
- STDMETHOD(GetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR axis, LPD3DVALUE return_theta) PURE;
- STDMETHOD(GetScene)(THIS_ LPDIRECT3DRMFRAME3 *) PURE;
- STDMETHOD_(D3DRMSORTMODE, GetSortMode)(THIS) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(GetTransform)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMMATRIX4D rmMatrix) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR return_velocity,
- BOOL with_rotation) PURE;
- STDMETHOD(GetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DVECTOR dir, LPD3DVECTOR up) PURE;
- STDMETHOD(GetVisuals)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
- STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags,
- D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
- STDMETHOD(LookAt)(THIS_ LPDIRECT3DRMFRAME3 target, LPDIRECT3DRMFRAME3 reference, D3DRMFRAMECONSTRAINT) PURE;
- STDMETHOD(Move)(THIS_ D3DVALUE delta) PURE;
- STDMETHOD(DeleteChild)(THIS_ LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
- STDMETHOD(DeleteMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg) PURE;
- STDMETHOD(DeleteVisual)(THIS_ LPUNKNOWN) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneBackground)(THIS) PURE;
- STDMETHOD(GetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *) PURE;
- STDMETHOD_(D3DCOLOR, GetSceneFogColor)(THIS) PURE;
- STDMETHOD_(BOOL, GetSceneFogEnable)(THIS) PURE;
- STDMETHOD_(D3DRMFOGMODE, GetSceneFogMode)(THIS) PURE;
- STDMETHOD(GetSceneFogParams)(THIS_ D3DVALUE *return_start, D3DVALUE *return_end,
- D3DVALUE *return_density) PURE;
- STDMETHOD(SetSceneBackground)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneBackgroundRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetSceneBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(SetSceneBackgroundImage)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
- STDMETHOD(SetSceneFogEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetSceneFogColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetSceneFogMode)(THIS_ D3DRMFOGMODE) PURE;
- STDMETHOD(SetSceneFogParams)(THIS_ D3DVALUE start, D3DVALUE end, D3DVALUE density) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD_(D3DRMZBUFFERMODE, GetZbufferMode)(THIS) PURE;
- STDMETHOD(SetMaterialMode)(THIS_ D3DRMMATERIALMODE) PURE;
- STDMETHOD(SetOrientation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
- D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) PURE;
- STDMETHOD(SetPosition)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetRotation)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
- D3DVALUE theta) PURE;
- STDMETHOD(SetSortMode)(THIS_ D3DRMSORTMODE) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
- STDMETHOD(SetVelocity)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DVALUE x, D3DVALUE y, D3DVALUE z,
- BOOL with_rotation) PURE;
- STDMETHOD(SetZbufferMode)(THIS_ D3DRMZBUFFERMODE) PURE;
- STDMETHOD(Transform)(THIS_ D3DVECTOR *d, D3DVECTOR *s) PURE;
- STDMETHOD(GetBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD_(BOOL, GetBoxEnable)(THIS) PURE;
- STDMETHOD(GetAxes)(THIS_ LPD3DVECTOR dir, LPD3DVECTOR up);
- STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
- STDMETHOD_(BOOL, GetInheritAxes)(THIS);
- STDMETHOD(GetHierarchyBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD(SetBox)(THIS_ LPD3DRMBOX) PURE;
- STDMETHOD(SetBoxEnable)(THIS_ BOOL) PURE;
- STDMETHOD(SetAxes)(THIS_ D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz);
- STDMETHOD(SetInheritAxes)(THIS_ BOOL inherit_from_parent);
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
- STDMETHOD(SetQuaternion)(THIS_ LPDIRECT3DRMFRAME3 reference, D3DRMQUATERNION *q) PURE;
- STDMETHOD(RayPick)(THIS_ LPDIRECT3DRMFRAME3 reference, LPD3DRMRAY ray, DWORD flags,
- LPDIRECT3DRMPICKED2ARRAY *return_visuals) PURE;
- STDMETHOD(Save)(THIS_ LPCSTR filename, D3DRMXOFFORMAT d3dFormat, D3DRMSAVEOPTIONS d3dSaveFlags);
- STDMETHOD(TransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
- LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
- STDMETHOD(InverseTransformVectors)(THIS_ LPDIRECT3DRMFRAME3 reference, DWORD NumVectors,
- LPD3DVECTOR pDstVectors, LPD3DVECTOR pSrcVectors) PURE;
- STDMETHOD(SetTraversalOptions)(THIS_ DWORD flags) PURE;
- STDMETHOD(GetTraversalOptions)(THIS_ LPDWORD pFlags) PURE;
- STDMETHOD(SetSceneFogMethod)(THIS_ DWORD flags) PURE;
- STDMETHOD(GetSceneFogMethod)(THIS_ LPDWORD pFlags) PURE;
- STDMETHOD(SetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
- STDMETHOD(GetMaterialOverride)(THIS_ LPD3DRMMATERIALOVERRIDE) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFrame3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFrame3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFrame3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFrame3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFrame3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFrame3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFrame3 methods ***/
-#define IDirect3DRMFrame3_AddChild(p,a) (p)->lpVtbl->AddChild(p,a)
-#define IDirect3DRMFrame3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
-#define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->lpVtbl->AddMoveCallback(p,a,b,c)
-#define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->lpVtbl->AddTransform(p,a,b)
-#define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->lpVtbl->AddTranslation(p,a,b,c,d)
-#define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->lpVtbl->AddScale(p,a,b,c,d)
-#define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->lpVtbl->AddRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame3_AddVisual(p,a) (p)->lpVtbl->AddVisual(p,a)
-#define IDirect3DRMFrame3_GetChildren(p,a) (p)->lpVtbl->GetChildren(p,a)
-#define IDirect3DRMFrame3_GetColor(p) (p)->lpVtbl->GetColor(p)
-#define IDirect3DRMFrame3_GetLights(p,a) (p)->lpVtbl->GetLights(p,a)
-#define IDirect3DRMFrame3_GetMaterialMode(p) (p)->lpVtbl->GetMaterialMode(p)
-#define IDirect3DRMFrame3_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-#define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->lpVtbl->GetPosition(p,a,b)
-#define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->lpVtbl->GetRotation(p,a,b,c)
-#define IDirect3DRMFrame3_GetScene(p,a) (p)->lpVtbl->GetScene(p,a)
-#define IDirect3DRMFrame3_GetSortMode(p) (p)->lpVtbl->GetSortMode(p)
-#define IDirect3DRMFrame3_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->lpVtbl->GetVelocity(p,a,b,c)
-#define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->lpVtbl->GetOrientation(p,a,b,c)
-#define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->lpVtbl->GetVisuals(p,a,b)
-#define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->lpVtbl->InverseTransform(p,a,b)
-#define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->lpVtbl->LookAt(p,a,b,c)
-#define IDirect3DRMFrame3_Move(p,a) (p)->lpVtbl->Move(p,a)
-#define IDirect3DRMFrame3_DeleteChild(p,a) (p)->lpVtbl->DeleteChild(p,a)
-#define IDirect3DRMFrame3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
-#define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->lpVtbl->DeleteMoveCallback(p,a,b)
-#define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->lpVtbl->DeleteVisual(p,a)
-#define IDirect3DRMFrame3_GetSceneBackground(p) (p)->lpVtbl->GetSceneBackground(p)
-#define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->lpVtbl->GetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->lpVtbl->GetSceneFogColor(p)
-#define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->lpVtbl->GetSceneFogEnable(p)
-#define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->lpVtbl->GetSceneFogMode(p)
-#define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->lpVtbl->GetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->lpVtbl->SetSceneBackground(p,a)
-#define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->lpVtbl->SetSceneBackgroundRGB(p,a,b,c)
-#define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->lpVtbl->SetSceneBackgroundDepth(p,a)
-#define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->lpVtbl->SetSceneBackgroundImage(p,a)
-#define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->lpVtbl->SetSceneFogEnable(p,a)
-#define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->lpVtbl->SetSceneFogColor(p,a)
-#define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->lpVtbl->SetSceneFogMode(p,a)
-#define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->lpVtbl->SetSceneFogParams(p,a,b,c)
-#define IDirect3DRMFrame3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFrame3_GetZbufferMode(p) (p)->lpVtbl->GetZbufferMode(p)
-#define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->lpVtbl->SetMaterialMode(p,a)
-#define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
-#define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->lpVtbl->SetRotation(p,a,b,c,d,e)
-#define IDirect3DRMFrame3_SetSortMode(p,a) (p)->lpVtbl->SetSortMode(p,a)
-#define IDirect3DRMFrame3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->lpVtbl->SetVelocity(p,a,b,c,d,e)
-#define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->lpVtbl->SetZbufferMode(p,a)
-#define IDirect3DRMFrame3_Transform(p,a,b) (p)->lpVtbl->Transform(p,a,b)
-#define IDirect3DRMFrame3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMFrame3_GetBoxEnable(p) (p)->lpVtbl->GetBoxEnable(p)
-#define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->lpVtbl->GetAxes(p,a,b)
-#define IDirect3DRMFrame3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DRMFrame3_GetInheritAxes(p) (p)->lpVtbl->GetInheritAxes(p)
-#define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->lpVtbl->GetHierarchyBox(p,a)
-#define IDirect3DRMFrame3_SetBox(p,a) (p)->lpVtbl->SetBox(p,a)
-#define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->lpVtbl->SetBoxEnable(p,a)
-#define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->lpVtbl->SetAxes(p,a,b,c,d,e,f)
-#define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->lpVtbl->SetInheritAxes(p,a)
-#define IDirect3DRMFrame3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->lpVtbl->SetQuaternion(p,a,b)
-#define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->lpVtbl->RayPick(p,a,b,c,d)
-#define IDirect3DRMFrame3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->lpVtbl->TransformVectors(p,a,b,c,d)
-#define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->lpVtbl->InverseTransformVectors(p,a,b,c,d)
-#define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->lpVtbl->SetTraversalOptions(p,a)
-#define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->lpVtbl->GetTraversalOptions(p,a)
-#define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->lpVtbl->SetSceneFogMethod(p,a)
-#define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->lpVtbl->GetSceneFogMethod(p,a)
-#define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->lpVtbl->SetMaterialOverride(p,a)
-#define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->lpVtbl->GetMaterialOverride(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFrame3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFrame3_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFrame3_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFrame3_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFrame3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFrame3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFrame3_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFrame3_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFrame3_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFrame3_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFrame3_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFrame3 methods ***/
-#define IDirect3DRMFrame3_AddChild(p,a) (p)->AddChild(a)
-#define IDirect3DRMFrame3_AddLight(p,a) (p)->AddLight(a)
-#define IDirect3DRMFrame3_AddMoveCallback(p,a,b,c) (p)->AddMoveCallback(a,b,c)
-#define IDirect3DRMFrame3_AddTransform(p,a,b) (p)->AddTransform(a,b)
-#define IDirect3DRMFrame3_AddTranslation(p,a,b,c,d) (p)->AddTranslation(a,b,c,d)
-#define IDirect3DRMFrame3_AddScale(p,a,b,c,d) (p)->AddScale(a,b,c,d)
-#define IDirect3DRMFrame3_AddRotation(p,a,b,c,d,e) (p)->AddRotation(a,b,c,d,e)
-#define IDirect3DRMFrame3_AddVisual(p,a) (p)->AddVisual(a)
-#define IDirect3DRMFrame3_GetChildren(p,a) (p)->GetChildren(a)
-#define IDirect3DRMFrame3_GetColor(p) (p)->GetColor()
-#define IDirect3DRMFrame3_GetLights(p,a) (p)->GetLights(a)
-#define IDirect3DRMFrame3_GetMaterialMode(p) (p)->GetMaterialMode()
-#define IDirect3DRMFrame3_GetParent(p,a) (p)->GetParent(a)
-#define IDirect3DRMFrame3_GetPosition(p,a,b) (p)->GetPosition(a,b)
-#define IDirect3DRMFrame3_GetRotation(p,a,b,c) (p)->GetRotation(a,b,c)
-#define IDirect3DRMFrame3_GetScene(p,a) (p)->GetScene(a)
-#define IDirect3DRMFrame3_GetSortMode(p) (p)->GetSortMode()
-#define IDirect3DRMFrame3_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFrame3_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DRMFrame3_GetVelocity(p,a,b,c) (p)->GetVelocity(a,b,c)
-#define IDirect3DRMFrame3_GetOrientation(p,a,b,c) (p)->GetOrientation(a,b,c)
-#define IDirect3DRMFrame3_GetVisuals(p,a,b) (p)->GetVisuals(a,b)
-#define IDirect3DRMFrame3_InverseTransform(p,a,b) (p)->InverseTransform(a,b)
-#define IDirect3DRMFrame3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMFrame3_LookAt(p,a,b,c) (p)->LookAt(a,b,c)
-#define IDirect3DRMFrame3_Move(p,a) (p)->Move(a)
-#define IDirect3DRMFrame3_DeleteChild(p,a) (p)->DeleteChild(a)
-#define IDirect3DRMFrame3_DeleteLight(p,a) (p)->DeleteLight(a)
-#define IDirect3DRMFrame3_DeleteMoveCallback(p,a,b) (p)->DeleteMoveCallback(a,b)
-#define IDirect3DRMFrame3_DeleteVisual(p,a) (p)->DeleteVisual(a)
-#define IDirect3DRMFrame3_GetSceneBackground(p) (p)->GetSceneBackground()
-#define IDirect3DRMFrame3_GetSceneBackgroundDepth(p,a) (p)->GetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame3_GetSceneFogColor(p) (p)->GetSceneFogColor()
-#define IDirect3DRMFrame3_GetSceneFogEnable(p) (p)->GetSceneFogEnable()
-#define IDirect3DRMFrame3_GetSceneFogMode(p) (p)->GetSceneFogMode()
-#define IDirect3DRMFrame3_GetSceneFogParams(p,a,b,c) (p)->GetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame3_SetSceneBackground(p,a) (p)->SetSceneBackground(a)
-#define IDirect3DRMFrame3_SetSceneBackgroundRGB(p,a,b,c) (p)->SetSceneBackgroundRGB(a,b,c)
-#define IDirect3DRMFrame3_SetSceneBackgroundDepth(p,a) (p)->SetSceneBackgroundDepth(a)
-#define IDirect3DRMFrame3_SetSceneBackgroundImage(p,a) (p)->SetSceneBackgroundImage(a)
-#define IDirect3DRMFrame3_SetSceneFogEnable(p,a) (p)->SetSceneFogEnable(a)
-#define IDirect3DRMFrame3_SetSceneFogColor(p,a) (p)->SetSceneFogColor(a)
-#define IDirect3DRMFrame3_SetSceneFogMode(p,a) (p)->SetSceneFogMode(a)
-#define IDirect3DRMFrame3_SetSceneFogParams(p,a,b,c) (p)->SetSceneFogParams(a,b,c)
-#define IDirect3DRMFrame3_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFrame3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFrame3_GetZbufferMode(p) (p)->GetZbufferMode()
-#define IDirect3DRMFrame3_SetMaterialMode(p,a) (p)->SetMaterialMode(a)
-#define IDirect3DRMFrame3_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
-#define IDirect3DRMFrame3_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirect3DRMFrame3_SetRotation(p,a,b,c,d,e) (p)->SetRotation(a,b,c,d,e)
-#define IDirect3DRMFrame3_SetSortMode(p,a) (p)->SetSortMode(a)
-#define IDirect3DRMFrame3_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFrame3_SetVelocity(p,a,b,c,d,e) (p)->SetVelocity(a,b,c,d,e)
-#define IDirect3DRMFrame3_SetZbufferMode(p,a) (p)->SetZbufferMode(a)
-#define IDirect3DRMFrame3_Transform(p,a,b) (p)->Transform(a,b)
-#define IDirect3DRMFrame3_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMFrame3_GetBoxEnable(p) (p)->GetBoxEnable()
-#define IDirect3DRMFrame3_GetAxes(p,a,b) (p)->GetAxes(a,b)
-#define IDirect3DRMFrame3_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DRMFrame3_GetInheritAxes(p) (p)->GetInheritAxes()
-#define IDirect3DRMFrame3_GetHierarchyBox(p,a) (p)->GetHierarchyBox(a)
-#define IDirect3DRMFrame3_SetBox(p,a) (p)->SetBox(a)
-#define IDirect3DRMFrame3_SetBoxEnable(p,a) (p)->SetBoxEnable(a)
-#define IDirect3DRMFrame3_SetAxes(p,a,b,c,d,e,f) (p)->SetAxes(a,b,c,d,e,f)
-#define IDirect3DRMFrame3_SetInheritAxes(p,a) (p)->SetInheritAxes(a)
-#define IDirect3DRMFrame3_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DRMFrame3_SetQuaternion(p,a,b) (p)->SetQuaternion(a,b)
-#define IDirect3DRMFrame3_RayPick(p,a,b,c,d) (p)->RayPick(a,b,c,d)
-#define IDirect3DRMFrame3_Save(p,a,b,c) (p)->Save(a,b,c)
-#define IDirect3DRMFrame3_TransformVectors(p,a,b,c,d) (p)->TransformVectors(a,b,c,d)
-#define IDirect3DRMFrame3_InverseTransformVectors(p,a,b,c,d) (p)->InverseTransformVectors(a,b,c,d)
-#define IDirect3DRMFrame3_SetTraversalOptions(p,a) (p)->SetTraversalOptions(a)
-#define IDirect3DRMFrame3_GetTraversalOptions(p,a) (p)->GetTraversalOptions(a)
-#define IDirect3DRMFrame3_SetSceneFogMethod(p,a) (p)->SetSceneFogMethod(a)
-#define IDirect3DRMFrame3_GetSceneFogMethod(p,a) (p)->GetSceneFogMethod(a)
-#define IDirect3DRMFrame3_SetMaterialOverride(p,a) (p)->SetMaterialOverride(a)
-#define IDirect3DRMFrame3_GetMaterialOverride(p,a) (p)->GetMaterialOverride(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMMesh interface
- */
-#define INTERFACE IDirect3DRMMesh
-DECLARE_INTERFACE_(IDirect3DRMMesh,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMMesh methods ***/
- STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
- STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
- STDMETHOD(AddGroup)(THIS_ unsigned vCount, unsigned fCount, unsigned vPerFace, unsigned *fData,
- D3DRMGROUPINDEX *returnId) PURE;
- STDMETHOD(SetVertices)(THIS_ D3DRMGROUPINDEX id, unsigned index, unsigned count,
- D3DRMVERTEX *values) PURE;
- STDMETHOD(SetGroupColor)(THIS_ D3DRMGROUPINDEX id, D3DCOLOR value) PURE;
- STDMETHOD(SetGroupColorRGB)(THIS_ D3DRMGROUPINDEX id, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetGroupMapping)(THIS_ D3DRMGROUPINDEX id, D3DRMMAPPING value) PURE;
- STDMETHOD(SetGroupQuality)(THIS_ D3DRMGROUPINDEX id, D3DRMRENDERQUALITY value) PURE;
- STDMETHOD(SetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL value) PURE;
- STDMETHOD(SetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE value) PURE;
- STDMETHOD_(unsigned, GetGroupCount)(THIS) PURE;
- STDMETHOD(GetGroup)(THIS_ D3DRMGROUPINDEX id, unsigned *vCount, unsigned *fCount, unsigned *vPerFace,
- DWORD *fDataSize, unsigned *fData) PURE;
- STDMETHOD(GetVertices)(THIS_ D3DRMGROUPINDEX id, DWORD index, DWORD count, D3DRMVERTEX *returnPtr) PURE;
- STDMETHOD_(D3DCOLOR, GetGroupColor)(THIS_ D3DRMGROUPINDEX id) PURE;
- STDMETHOD_(D3DRMMAPPING, GetGroupMapping)(THIS_ D3DRMGROUPINDEX id) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetGroupQuality)(THIS_ D3DRMGROUPINDEX id) PURE;
- STDMETHOD(GetGroupMaterial)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMMATERIAL *returnPtr) PURE;
- STDMETHOD(GetGroupTexture)(THIS_ D3DRMGROUPINDEX id, LPDIRECT3DRMTEXTURE *returnPtr) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMMesh_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMMesh methods ***/
-#define IDirect3DRMMesh_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define IDirect3DRMMesh_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
-#define IDirect3DRMMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->lpVtbl->AddGroup(p,a,b,c,d,e)
-#define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->lpVtbl->SetVertices(p,a,b,c,d)
-#define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->lpVtbl->SetGroupColor(p,a,b)
-#define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->lpVtbl->SetGroupColorRGB(p,a,b,c,d)
-#define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->lpVtbl->SetGroupMapping(p,a,b)
-#define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->lpVtbl->SetGroupQuality(p,a,b)
-#define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->lpVtbl->SetGroupMaterial(p,a,b)
-#define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->lpVtbl->SetGroupTexture(p,a,b)
-#define IDirect3DRMMesh_GetGroupCount(p) (p)->lpVtbl->GetGroupCount(p)
-#define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->lpVtbl->GetGroup(p,a,b,c,d,e,f)
-#define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->lpVtbl->GetVertices(p,a,b,c,d)
-#define IDirect3DRMMesh_GetGroupColor(p,a) (p)->lpVtbl->GetGroupColor(p,a)
-#define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->lpVtbl->GetGroupMapping(p,a)
-#define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->lpVtbl->GetGroupQuality(p,a)
-#define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(p,a,b)
-#define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMMesh_AddRef(p) (p)->AddRef()
-#define IDirect3DRMMesh_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMMesh_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMMesh_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMMesh_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMMesh_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMMesh methods ***/
-#define IDirect3DRMMesh_Scale(p,a,b,c) (p)->Scale(a,b,c)
-#define IDirect3DRMMesh_Translate(p,a,b,c) (p)->Translate(a,b,c)
-#define IDirect3DRMMesh_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMMesh_AddGroup(p,a,b,c,d,e) (p)->AddGroup(a,b,c,d,e)
-#define IDirect3DRMMesh_SetVertices(p,a,b,c,d) (p)->SetVertices(a,b,c,d)
-#define IDirect3DRMMesh_SetGroupColor(p,a,b) (p)->SetGroupColor(a,b)
-#define IDirect3DRMMesh_SetGroupColorRGB(p,a,b,c,d) (p)->SetGroupColorRGB(a,b,c,d)
-#define IDirect3DRMMesh_SetGroupMapping(p,a,b) (p)->SetGroupMapping(a,b)
-#define IDirect3DRMMesh_SetGroupQuality(p,a,b) (p)->SetGroupQuality(a,b)
-#define IDirect3DRMMesh_SetGroupMaterial(p,a,b) (p)->SetGroupMaterial(a,b)
-#define IDirect3DRMMesh_SetGroupTexture(p,a,b) (p)->SetGroupTexture(a,b)
-#define IDirect3DRMMesh_GetGroupCount(p) (p)->GetGroupCount()
-#define IDirect3DRMMesh_GetGroup(p,a,b,c,d,e,f) (p)->GetGroup(a,b,c,d,e,f)
-#define IDirect3DRMMesh_GetVertices(p,a,b,c,d) (p)->GetVertices(a,b,c,d)
-#define IDirect3DRMMesh_GetGroupColor(p,a) (p)->GetGroupColor(a)
-#define IDirect3DRMMesh_GetGroupMapping(p,a) (p)->GetGroupMapping(a)
-#define IDirect3DRMMesh_GetGroupQuality(p,a) (p)->GetGroupQuality(a)
-#define IDirect3DRMMesh_GetGroupMaterial(p,a,b) (p)->lpVtbl->GetGroupMaterial(a,b)
-#define IDirect3DRMMesh_GetGroupTexture(p,a,b) (p)->lpVtbl->GetGroupTexture(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMProgressiveMesh interface
- */
-#define INTERFACE IDirect3DRMProgressiveMesh
-DECLARE_INTERFACE_(IDirect3DRMProgressiveMesh,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMProgressiveMesh methods ***/
- STDMETHOD(Load) (THIS_ LPVOID pObjLocation, LPVOID pObjId, D3DRMLOADOPTIONS dloLoadflags,
- D3DRMLOADTEXTURECALLBACK pCallback, LPVOID lpArg) PURE;
- STDMETHOD(GetLoadStatus) (THIS_ LPD3DRMPMESHLOADSTATUS pStatus) PURE;
- STDMETHOD(SetMinRenderDetail) (THIS_ D3DVALUE d3dVal) PURE;
- STDMETHOD(Abort) (THIS_ DWORD flags) PURE;
- STDMETHOD(GetFaceDetail) (THIS_ LPDWORD pCount) PURE;
- STDMETHOD(GetVertexDetail) (THIS_ LPDWORD pCount) PURE;
- STDMETHOD(SetFaceDetail) (THIS_ DWORD count) PURE;
- STDMETHOD(SetVertexDetail) (THIS_ DWORD count) PURE;
- STDMETHOD(GetFaceDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
- STDMETHOD(GetVertexDetailRange) (THIS_ LPDWORD pMin, LPDWORD pMax) PURE;
- STDMETHOD(GetDetail) (THIS_ D3DVALUE *pdvVal) PURE;
- STDMETHOD(SetDetail) (THIS_ D3DVALUE d3dVal) PURE;
- STDMETHOD(RegisterEvents) (THIS_ HANDLE event, DWORD flags, DWORD reserved) PURE;
- STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *ppD3DRMMesh) PURE;
- STDMETHOD(Duplicate) (THIS_ LPDIRECT3DRMPROGRESSIVEMESH *ppD3DRMPMesh) PURE;
- STDMETHOD(GetBox) (THIS_ LPD3DRMBOX pBBox) PURE;
- STDMETHOD(SetQuality) (THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(GetQuality) (THIS_ LPD3DRMRENDERQUALITY pQuality) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMProgressiveMesh_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMProgressiveMesh_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMProgressiveMesh methods ***/
-#define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->lpVtbl->GetLoadStatus(p,a)
-#define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->lpVtbl->SetMinRenderDetail(p,a)
-#define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->lpVtbl->Abort(p,a)
-#define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->lpVtbl->GetFaceDetail(p,a)
-#define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->lpVtbl->GetVertexDetail(p,a)
-#define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->lpVtbl->SetFaceDetail(p,a)
-#define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->lpVtbl->SetVertexDetail(p,a)
-#define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->lpVtbl->GetFaceDetailRange(p,a,b)
-#define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->lpVtbl->GetVertexDetailRange(p,a,b)
-#define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->lpVtbl->GetDetail(p,a)
-#define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->lpVtbl->SetDetail(p,a)
-#define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->lpVtbl->RegisterEvents(p,a,b,c)
-#define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->lpVtbl->Duplicate(p,a)
-#define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->lpVtbl->GetQuality(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMProgressiveMesh_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMProgressiveMesh_AddRef(p) (p)->AddRef()
-#define IDirect3DRMProgressiveMesh_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMProgressiveMesh_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMProgressiveMesh_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMProgressiveMesh_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMProgressiveMesh_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMProgressiveMesh_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMProgressiveMesh_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMProgressiveMesh_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMProgressiveMesh_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMProgressiveMesh methods ***/
-#define IDirect3DRMProgressiveMesh_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMProgressiveMesh_GetLoadStatus(p,a) (p)->GetLoadStatus(a)
-#define IDirect3DRMProgressiveMesh_SetMinRenderDetail(p,a) (p)->SetMinRenderDetail(a)
-#define IDirect3DRMProgressiveMesh_Abort(p,a) (p)->Abort(a)
-#define IDirect3DRMProgressiveMesh_GetFaceDetail(p,a) (p)->GetFaceDetail(a)
-#define IDirect3DRMProgressiveMesh_GetVertexDetail(p,a) (p)->GetVertexDetail(a)
-#define IDirect3DRMProgressiveMesh_SetFaceDetail(p,a) (p)->SetFaceDetail(a)
-#define IDirect3DRMProgressiveMesh_SetVertexDetail(p,a) (p)->SetVertexDetail(a)
-#define IDirect3DRMProgressiveMesh_GetFaceDetailRange(p,a,b) (p)->GetFaceDetailRange(a,b)
-#define IDirect3DRMProgressiveMesh_GetVertexDetailRange(p,a,b) (p)->GetVertexDetailRange(a,b)
-#define IDirect3DRMProgressiveMesh_GetDetail(p,a) (p)->GetDetail(a)
-#define IDirect3DRMProgressiveMesh_SetDetail(p,a) (p)->SetDetail(a)
-#define IDirect3DRMProgressiveMesh_RegisterEvents(p,a,b,c) (p)->RegisterEvents(a,b,c)
-#define IDirect3DRMProgressiveMesh_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRMProgressiveMesh_Duplicate(p,a) (p)->Duplicate(a)
-#define IDirect3DRMProgressiveMesh_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMProgressiveMesh_SetQuality(p,a) (p)->SetQuality(a)
-#define IDirect3DRMProgressiveMesh_GetQuality(p,a) (p)->GetQuality(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMShadow interface
- */
-#define INTERFACE IDirect3DRMShadow
-DECLARE_INTERFACE_(IDirect3DRMShadow,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMShadow methods ***/
- STDMETHOD(Init)(THIS_ LPDIRECT3DRMVISUAL visual, LPDIRECT3DRMLIGHT light,
- D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMShadow_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMShadow_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMShadow_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMShadow_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMShadow_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMShadow_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMShadow_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMShadow_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMShadow_AddRef(p) (p)->AddRef()
-#define IDirect3DRMShadow_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMShadow_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMShadow_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMShadow_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMShadow_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMShadow_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMShadow_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMShadow_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMShadow_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->Load(a,b,c,d,e,f,g)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMShadow2 interface
- */
-#define INTERFACE IDirect3DRMShadow2
-DECLARE_INTERFACE_(IDirect3DRMShadow2,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMShadow methods ***/
- STDMETHOD(Init)(THIS_ LPUNKNOWN pUNK, LPDIRECT3DRMLIGHT light,
- D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz) PURE;
- /*** IDirect3DRMShadow2 methods ***/
- STDMETHOD(GetVisual)(THIS_ LPDIRECT3DRMVISUAL *) PURE;
- STDMETHOD(SetVisual)(THIS_ LPUNKNOWN pUNK, DWORD) PURE;
- STDMETHOD(GetLight)(THIS_ LPDIRECT3DRMLIGHT *) PURE;
- STDMETHOD(SetLight)(THIS_ LPDIRECT3DRMLIGHT, DWORD) PURE;
- STDMETHOD(GetPlane)(THIS_ LPD3DVALUE px, LPD3DVALUE py, LPD3DVALUE pz,
- LPD3DVALUE nx, LPD3DVALUE ny, LPD3DVALUE nz) PURE;
- STDMETHOD(SetPlane)(THIS_ D3DVALUE px, D3DVALUE py, D3DVALUE pz,
- D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, DWORD) PURE;
- STDMETHOD(GetOptions)(THIS_ LPDWORD) PURE;
- STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMShadow2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMShadow2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMShadow2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMShadow2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMShadow2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMShadow2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Init(p,a,b,c,d,e,f,g)
-/*** IDirect3DRMShadow2 methods ***/
-#define IDirect3DRMShadow2_GetVisual(p,a) (p)->lpVtbl->GetVisual(p,a)
-#define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->lpVtbl->SetVisual(p,a,b)
-#define IDirect3DRMShadow2_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
-#define IDirect3DRMShadow2_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->GetPlane(p,a,b,c,d,e,f)
-#define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->lpVtbl->SetPlane(p,a,b,c,d,e,f)
-#define IDirect3DRMShadow2_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
-#define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMShadow2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMShadow2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMShadow2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMShadow2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMShadow2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMShadow2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMShadow2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMShadow2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMShadow2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMShadow2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMShadow2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMShadow methods ***/
-#define IDirect3DRMShadow2_Init(p,a,b,c,d,e,f,g) (p)->Init(a,b,c,d,e,f,g)
-/*** IDirect3DRMShadow2 methods ***/
-#define IDirect3DRMShadow2_GetVisual(p,a) (p)->GetVisual(a)
-#define IDirect3DRMShadow2_SetVisual(p,a,b) (p)->SetVisual(a,b)
-#define IDirect3DRMShadow2_GetLight(p,a) (p)->GetLight(a)
-#define IDirect3DRMShadow2_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DRMShadow2_GetPlane(p,a,b,c,d,e,f) (p)->GetPlane(a,b,c,d,e,f)
-#define IDirect3DRMShadow2_SetPlane(p,a,b,c,d,e,f) (p)->SetPlane(a,b,c,d,e,f)
-#define IDirect3DRMShadow2_GetOptions(p,a) (p)->GetOptions(a)
-#define IDirect3DRMShadow2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFace interface
- */
-#define INTERFACE IDirect3DRMFace
-DECLARE_INTERFACE_(IDirect3DRMFace,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFace methods ***/
- STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
- STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE *) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL *) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
- STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFace_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFace_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFace_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFace_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFace_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFace_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFace_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFace_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFace_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFace methods ***/
-#define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
-#define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFace_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFace_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMFace_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
-#define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
-#define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
-#define IDirect3DRMFace_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
-#define IDirect3DRMFace_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFace_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMFace_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
-#define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
-#define IDirect3DRMFace_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFace_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFace_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFace_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFace_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFace_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFace_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFace_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFace_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFace_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFace_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFace_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFace methods ***/
-#define IDirect3DRMFace_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMFace_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
-#define IDirect3DRMFace_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFace_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFace_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFace_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMFace_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DRMFace_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMFace_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
-#define IDirect3DRMFace_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
-#define IDirect3DRMFace_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMFace_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
-#define IDirect3DRMFace_GetNormal(p,a) (p)->GetNormal(a)
-#define IDirect3DRMFace_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFace_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMFace_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
-#define IDirect3DRMFace_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
-#define IDirect3DRMFace_GetColor(p,a) (p)->GetColor(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMFace2 interface
- */
-#define INTERFACE IDirect3DRMFace2
-DECLARE_INTERFACE_(IDirect3DRMFace2,IDirect3DRMObject)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMFace methods ***/
- STDMETHOD(AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(AddVertexAndNormalIndexed)(THIS_ DWORD vertex, DWORD normal) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE, D3DVALUE, D3DVALUE) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(GetVertex)(THIS_ DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals);
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD vertex, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD(GetTextureTopology)(THIS_ BOOL *wrap_u, BOOL *wrap_v) PURE;
- STDMETHOD(GetNormal)(THIS_ D3DVECTOR *) PURE;
- STDMETHOD(GetTexture)(THIS_ LPDIRECT3DRMTEXTURE3 *) PURE;
- STDMETHOD(GetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2 *) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexIndex)(THIS_ DWORD which) PURE;
- STDMETHOD_(int, GetTextureCoordinateIndex)(THIS_ DWORD which) PURE;
- STDMETHOD_(D3DCOLOR, GetColor)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMFace2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMFace2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFace2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMFace2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMFace2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMFace2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMFace2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMFace2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMFace methods ***/
-#define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->lpVtbl->AddVertexAndNormalIndexed(p,a,b)
-#define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMFace2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMFace2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMFace2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->lpVtbl->GetVertex(p,a,b,c)
-#define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
-#define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->lpVtbl->GetTextureTopology(p,a,b)
-#define IDirect3DRMFace2_GetNormal(p,a) (p)->lpVtbl->GetNormal(p,a)
-#define IDirect3DRMFace2_GetTexture(p,a) (p)->lpVtbl->GetTexture(p,a)
-#define IDirect3DRMFace2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->lpVtbl->GetVertexIndex(p,a)
-#define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->lpVtbl->GetTextureCoordinateIndex(p,a)
-#define IDirect3DRMFace2_GetColor(p,a) (p)->lpVtbl->GetColor(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMFace2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMFace2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMFace2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMFace2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMFace2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMFace2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMFace2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMFace2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMFace2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMFace2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMFace2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMFace methods ***/
-#define IDirect3DRMFace2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMFace2_AddVertexAndNormalIndexed(p,a,b) (p)->AddVertexAndNormalIndexed(a,b)
-#define IDirect3DRMFace2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMFace2_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMFace2_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMFace2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMFace2_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DRMFace2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMFace2_GetVertex(p,a,b,c) (p)->GetVertex(a,b,c)
-#define IDirect3DRMFace2_GetVertices(p,a,b,c) (p)->GetVertices(a,b,c)
-#define IDirect3DRMFace2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMFace2_GetTextureTopology(p,a,b) (p)->GetTextureTopology(a,b)
-#define IDirect3DRMFace2_GetNormal(p,a) (p)->GetNormal(a)
-#define IDirect3DRMFace2_GetTexture(p,a) (p)->GetTexture(a)
-#define IDirect3DRMFace2_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMFace2_GetVertexIndex(p,a) (p)->GetVertexIndex(a)
-#define IDirect3DRMFace2_GetTextureCoordinateIndex(p,a) (p)->GetTextureCoordinateIndex(a)
-#define IDirect3DRMFace2_GetColor(p,a) (p)->GetColor(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMMeshBuilder interface
- */
-#define INTERFACE IDirect3DRMMeshBuilder
-DECLARE_INTERFACE_(IDirect3DRMMeshBuilder,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMMeshBuilder methods ***/
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
- STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
- STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
- STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
- STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
- STDMETHOD(GenerateNormals)(THIS) PURE;
- STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
- STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
- STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
- STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
- STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
- LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
- STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
- STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
- DWORD *face_data_size, DWORD *face_data) PURE;
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
- STDMETHOD_(int, GetFaceCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMMeshBuilder_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMMeshBuilder_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMMeshBuilder_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMMeshBuilder_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMMeshBuilder methods ***/
-#define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
-#define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
-#define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
-#define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
-#define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
-#define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
-#define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
-#define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
-#define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
-#define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
-#define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
-#define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
-#define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
-#define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
-#define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRMMeshBuilder_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
-#define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
-#define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
-#define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMMeshBuilder_AddRef(p) (p)->AddRef()
-#define IDirect3DRMMeshBuilder_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMMeshBuilder_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMMeshBuilder_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMMeshBuilder_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMMeshBuilder_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMMeshBuilder_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMMeshBuilder methods ***/
-#define IDirect3DRMMeshBuilder_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMMeshBuilder_Save(p,a,b,c) (p)->Save(a,b,c)
-#define IDirect3DRMMeshBuilder_Scale(p,a,b,c) (p)->Scale(a,b,c)
-#define IDirect3DRMMeshBuilder_Translate(p,a,b,c) (p)->Translate(a)
-#define IDirect3DRMMeshBuilder_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
-#define IDirect3DRMMeshBuilder_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMMeshBuilder_GenerateNormals(p) (p)->GenerateNormals()
-#define IDirect3DRMMeshBuilder_GetColorSource(p) (p)->GetColorSource()
-#define IDirect3DRMMeshBuilder_AddMesh(p,a) (p)-->AddMesh(a)
-#define IDirect3DRMMeshBuilder_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
-#define IDirect3DRMMeshBuilder_AddFrame(p,a) (p)->AddFrame(a)
-#define IDirect3DRMMeshBuilder_AddFace(p,a) (p)->AddFace(a)
-#define IDirect3DRMMeshBuilder_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
-#define IDirect3DRMMeshBuilder_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMMeshBuilder_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMMeshBuilder_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMMeshBuilder_SetMateria(p,a) (p)->SetMateria(a)
-#define IDirect3DRMMeshBuilder_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMMeshBuilder_SetQuality(p,a) (p)->SetQuality(a)
-#define IDirect3DRMMeshBuilder_SetPerspective(p,a) (p)->SetPerspective(a)
-#define IDirect3DRMMeshBuilder_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
-#define IDirect3DRMMeshBuilder_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
-#define IDirect3DRMMeshBuilder_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
-#define IDirect3DRMMeshBuilder_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
-#define IDirect3DRMMeshBuilder_GetFaces(p,a) (p)->GetFaces(a)
-#define IDirect3DRMMeshBuilder_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMMeshBuilder_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
-#define IDirect3DRMMeshBuilder_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRMMeshBuilder_GetQuality(p) (p)->GetQuality()
-#define IDirect3DRMMeshBuilder_GetPerspective(p) (p)->GetPerspective()
-#define IDirect3DRMMeshBuilder_GetFaceCount(p) (p)->GetFaceCount()
-#define IDirect3DRMMeshBuilder_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMMeshBuilder_GetVertexColor(p,a) (p)->GetVertexColor(a)
-#define IDirect3DRMMeshBuilder_CreateMesh(p,a) (p)->CreateMesh(a)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMMeshBuilder2 interface
- */
-#define INTERFACE IDirect3DRMMeshBuilder2
-DECLARE_INTERFACE_(IDirect3DRMMeshBuilder2,IDirect3DRMMeshBuilder)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMMeshBuilder methods ***/
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURECALLBACK, LPVOID pArg) PURE;
- STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
- STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
- STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
- STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
- STDMETHOD(GenerateNormals)(THIS) PURE;
- STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
- STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
- STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER) PURE;
- STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME) PURE;
- STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE) PURE;
- STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
- LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
- STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
- STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
- DWORD *face_data_size, DWORD *face_data) PURE;
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE*) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
- STDMETHOD_(int, GetFaceCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
- /*** IDirect3DRMMeshBuilder2 methods ***/
- STDMETHOD(GenerateNormals2)(THIS_ D3DVALUE crease, DWORD flags) PURE;
- STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE*) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMMeshBuilder2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMMeshBuilder2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMMeshBuilder methods ***/
-#define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
-#define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->lpVtbl->GenerateNormals(p)
-#define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
-#define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
-#define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
-#define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
-#define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
-#define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
-#define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
-#define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
-#define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
-#define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->lpVtbl->GetVertices(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
-#define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
-#define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
-#define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
-#define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-/*** IDirect3DRMMeshBuilder2 methods ***/
-#define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->lpVtbl->GenerateNormals2(p,a,b)
-#define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMMeshBuilder2_AddRef(p) (p)->AddRef()
-#define IDirect3DRMMeshBuilder2_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder2_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMMeshBuilder2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder2_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMMeshBuilder2_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMMeshBuilder2_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMMeshBuilder2_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMMeshBuilder2_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMMeshBuilder methods ***/
-#define IDirect3DRMMeshBuilder2_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMMeshBuilder2_Save(p,a,b,c) (p)->Save(a,b,c)
-#define IDirect3DRMMeshBuilder2_Scale(p,a,b,c) (p)->Scale(a,b,c)
-#define IDirect3DRMMeshBuilder2_Translate(p,a,b,c) (p)->Translate(a)
-#define IDirect3DRMMeshBuilder2_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
-#define IDirect3DRMMeshBuilder2_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMMeshBuilder2_GenerateNormals(p) (p)->GenerateNormals()
-#define IDirect3DRMMeshBuilder2_GetColorSource(p) (p)->GetColorSource()
-#define IDirect3DRMMeshBuilder2_AddMesh(p,a) (p)-->AddMesh(a)
-#define IDirect3DRMMeshBuilder2_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
-#define IDirect3DRMMeshBuilder2_AddFrame(p,a) (p)->AddFrame(a)
-#define IDirect3DRMMeshBuilder2_AddFace(p,a) (p)->AddFace(a)
-#define IDirect3DRMMeshBuilder2_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder2_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
-#define IDirect3DRMMeshBuilder2_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMMeshBuilder2_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMMeshBuilder2_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMMeshBuilder2_SetMateria(p,a) (p)->SetMateria(a)
-#define IDirect3DRMMeshBuilder2_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMMeshBuilder2_SetQuality(p,a) (p)->SetQuality(a)
-#define IDirect3DRMMeshBuilder2_SetPerspective(p,a) (p)->SetPerspective(a)
-#define IDirect3DRMMeshBuilder2_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
-#define IDirect3DRMMeshBuilder2_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
-#define IDirect3DRMMeshBuilder2_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder2_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
-#define IDirect3DRMMeshBuilder2_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
-#define IDirect3DRMMeshBuilder2_GetFaces(p,a) (p)->GetFaces(a)
-#define IDirect3DRMMeshBuilder2_GetVertices(p,a,b,c,d,e,f) (p)->GetVertices(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder2_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder2_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMMeshBuilder2_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
-#define IDirect3DRMMeshBuilder2_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRMMeshBuilder2_GetQuality(p) (p)->GetQuality()
-#define IDirect3DRMMeshBuilder2_GetPerspective(p) (p)->GetPerspective()
-#define IDirect3DRMMeshBuilder2_GetFaceCount(p) (p)->GetFaceCount()
-#define IDirect3DRMMeshBuilder2_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMMeshBuilder2_GetVertexColor(p,a) (p)->GetVertexColor(a)
-#define IDirect3DRMMeshBuilder2_CreateMesh(p,a) (p)->CreateMesh(a)
-/*** IDirect3DRMMeshBuilder2 methods ***/
-#define IDirect3DRMMeshBuilder2_GenerateNormals2(p,a,b) (p)->GenerateNormals2(a,b)
-#define IDirect3DRMMeshBuilder2_GetFace(p,a,b) (p)->GetFace(a,b)
-#endif
-
-/*****************************************************************************
- * IDirect3DRMMeshBuilder3 interface
- */
-#define INTERFACE IDirect3DRMMeshBuilder3
-DECLARE_INTERFACE_(IDirect3DRMMeshBuilder3,IDirect3DRMVisual)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirect3DRMObject methods ***/
- STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) PURE;
- STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
- STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
- STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
- /*** IDirect3DRMMeshBuilder3 methods ***/
- STDMETHOD(Load)(THIS_ LPVOID filename, LPVOID name, D3DRMLOADOPTIONS loadflags, D3DRMLOADTEXTURE3CALLBACK, LPVOID pArg) PURE;
- STDMETHOD(Save)(THIS_ const char *filename, D3DRMXOFFORMAT, D3DRMSAVEOPTIONS save) PURE;
- STDMETHOD(Scale)(THIS_ D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
- STDMETHOD(Translate)(THIS_ D3DVALUE tx, D3DVALUE ty, D3DVALUE tz) PURE;
- STDMETHOD(SetColorSource)(THIS_ D3DRMCOLORSOURCE) PURE;
- STDMETHOD(GetBox)(THIS_ D3DRMBOX *) PURE;
- STDMETHOD(GenerateNormals)(THIS_ D3DVALUE crease, DWORD flags) PURE;
- STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
- STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
- STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3) PURE;
- STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME3) PURE;
- STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
- STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
- LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(ReserveSpace)(THIS_ DWORD vertex_Count, DWORD normal_count, DWORD face_count) PURE;
- STDMETHOD(SetColorRGB)(THIS_ D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(SetColor)(THIS_ D3DCOLOR) PURE;
- STDMETHOD(SetTexture)(THIS_ LPDIRECT3DRMTEXTURE3) PURE;
- STDMETHOD(SetMaterial)(THIS_ LPDIRECT3DRMMATERIAL2) PURE;
- STDMETHOD(SetTextureTopology)(THIS_ BOOL wrap_u, BOOL wrap_v) PURE;
- STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
- STDMETHOD(SetPerspective)(THIS_ BOOL) PURE;
- STDMETHOD(SetVertex)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetNormal)(THIS_ DWORD index, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(SetTextureCoordinates)(THIS_ DWORD index, D3DVALUE u, D3DVALUE v) PURE;
- STDMETHOD(SetVertexColor)(THIS_ DWORD index, D3DCOLOR) PURE;
- STDMETHOD(SetVertexColorRGB)(THIS_ DWORD index, D3DVALUE red, D3DVALUE green, D3DVALUE blue) PURE;
- STDMETHOD(GetFaces)(THIS_ LPDIRECT3DRMFACEARRAY*) PURE;
- STDMETHOD(GetGeometry)(THIS_ DWORD *vcount, D3DVECTOR *vertices, DWORD *ncount, D3DVECTOR *normals,
- DWORD *face_data_size, DWORD *face_data) PURE;
- STDMETHOD(GetTextureCoordinates)(THIS_ DWORD index, D3DVALUE *u, D3DVALUE *v) PURE;
- STDMETHOD_(int, AddVertex)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD_(int, AddNormal)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
- STDMETHOD(CreateFace)(THIS_ LPDIRECT3DRMFACE2*) PURE;
- STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
- STDMETHOD_(BOOL, GetPerspective)(THIS) PURE;
- STDMETHOD_(int, GetFaceCount)(THIS) PURE;
- STDMETHOD_(int, GetVertexCount)(THIS) PURE;
- STDMETHOD_(D3DCOLOR, GetVertexColor)(THIS_ DWORD index) PURE;
- STDMETHOD(CreateMesh)(THIS_ LPDIRECT3DRMMESH*) PURE;
- STDMETHOD(GetFace)(THIS_ DWORD index, LPDIRECT3DRMFACE2 *) PURE;
- STDMETHOD(GetVertex)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
- STDMETHOD(GetNormal)(THIS_ DWORD index, LPD3DVECTOR pVector) PURE;
- STDMETHOD(DeleteVertices)(THIS_ DWORD IndexFirst, DWORD count) PURE;
- STDMETHOD(DeleteNormals)(THIS_ DWORD IndexFirst, DWORD count) PURE;
- STDMETHOD(DeleteFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
- STDMETHOD(Empty)(THIS_ DWORD flags) PURE;
- STDMETHOD(Optimize)(THIS_ DWORD flags) PURE;
- STDMETHOD(AddFacesIndexed)(THIS_ DWORD flags, DWORD *pvIndices, DWORD *pIndexFirst, DWORD *pCount) PURE;
- STDMETHOD(CreateSubMesh)(THIS_ LPUNKNOWN *) PURE;
- STDMETHOD(GetParentMesh)(THIS_ DWORD, LPUNKNOWN *) PURE;
- STDMETHOD(GetSubMeshes)(THIS_ LPDWORD pCount, LPUNKNOWN *) PURE;
- STDMETHOD(DeleteSubMesh)(THIS_ LPUNKNOWN) PURE;
- STDMETHOD(Enable)(THIS_ DWORD) PURE;
- STDMETHOD(GetEnable)(THIS_ DWORD *) PURE;
- STDMETHOD(AddTriangles)(THIS_ DWORD flags, DWORD format, DWORD VertexCount, LPVOID pvData) PURE;
- STDMETHOD(SetVertices)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
- STDMETHOD(GetVertices)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
- STDMETHOD(SetNormals)(THIS_ DWORD IndexFirst, DWORD count, LPD3DVECTOR) PURE;
- STDMETHOD(GetNormals)(THIS_ DWORD IndexFirst, LPDWORD pCount, LPD3DVECTOR) PURE;
- STDMETHOD_(int, GetNormalCount)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DRMMeshBuilder3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DRMMeshBuilder3_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
-#define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
-#define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->lpVtbl->GetAppData(p)
-#define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->lpVtbl->SetName(p,a)
-#define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
-/*** IDirect3DRMMeshBuilder3 methods ***/
-#define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
-#define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a)
-#define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->lpVtbl->SetColorSource(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->lpVtbl->GetBox(p,a)
-#define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->lpVtbl->GenerateNormals(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->lpVtbl->GetColorSource(p)
-#define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)->lpVtbl->AddMesh(p,a)
-#define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->lpVtbl->AddMeshBuilder(p,a)
-#define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->lpVtbl->AddFrame(p,a)
-#define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->lpVtbl->AddFace(p,a)
-#define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->lpVtbl->AddFaces(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->lpVtbl->ReserveSpace(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->lpVtbl->SetColorRGB(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->lpVtbl->SetColor(p,a)
-#define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->lpVtbl->SetTexture(p,a)
-#define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->lpVtbl->SetMateria(p,a)
-#define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->lpVtbl->SetTextureTopology(p,a,b)
-#define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
-#define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->lpVtbl->SetPerspective(p,a)
-#define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->lpVtbl->SetVertex(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->lpVtbl->SetNormal(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->lpVtbl->SetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->lpVtbl->SetVertexColor(p,a,b)
-#define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->lpVtbl->SetVertexColorRGB(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->lpVtbl->GetFaces(p,a)
-#define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->lpVtbl->GetGeometry(p,a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->lpVtbl->GetTextureCoordinates(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->lpVtbl->AddVertex(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->lpVtbl->AddNormal(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->lpVtbl->CreateFace(p,a)
-#define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->lpVtbl->GetQuality(p)
-#define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->lpVtbl->GetPerspective(p)
-#define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->lpVtbl->GetFaceCount(p)
-#define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->lpVtbl->GetVertexCount(p)
-#define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->lpVtbl->GetVertexColor(p,a)
-#define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->lpVtbl->CreateMesh(p,a)
-#define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->lpVtbl->GetFace(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->lpVtbl->GetVertex(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->lpVtbl->GetNormal(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->lpVtbl->DeleteVertices(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->lpVtbl->DeleteNormals(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->lpVtbl->DeleteFace(p,a)
-#define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->lpVtbl->Empty(p,a)
-#define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->lpVtbl->Optimize(p,a)
-#define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->lpVtbl->AddFacesIndexed(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->lpVtbl->CreateSubMesh(p,a)
-#define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->lpVtbl->GetParentMesh(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->lpVtbl->GetSubMeshes(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->lpVtbl->DeleteSubMesh(p,a)
-#define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->lpVtbl->Enable(p,a)
-#define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->lpVtbl->AddTriangles(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->lpVtbl->SetVertices(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->lpVtbl->GetVertices(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->lpVtbl->SetNormals(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->lpVtbl->GetNormals(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->lpVtbl->GetNormalCount(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirect3DRMMeshBuilder3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DRMMeshBuilder3_AddRef(p) (p)->AddRef()
-#define IDirect3DRMMeshBuilder3_Release(p) (p)->Release()
-/*** IDirect3DRMObject methods ***/
-#define IDirect3DRMMeshBuilder3_Clone(p,a,b,c) (p)->Clone(a,b,c)
-#define IDirect3DRMMeshBuilder3_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder3_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
-#define IDirect3DRMMeshBuilder3_SetAppData(p,a) (p)->SetAppData(a)
-#define IDirect3DRMMeshBuilder3_GetAppData(p) (p)->GetAppData()
-#define IDirect3DRMMeshBuilder3_SetName(p,a) (p)->SetName(a)
-#define IDirect3DRMMeshBuilder3_GetName(p,a,b) (p)->GetName(a,b)
-#define IDirect3DRMMeshBuilder3_GetClassName(p,a,b) (p)->GetClassName(a,b)
-/*** IDirect3DRMMeshBuilder3 methods ***/
-#define IDirect3DRMMeshBuilder3_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
-#define IDirect3DRMMeshBuilder3_Save(p,a,b,c) (p)->Save(a,b,c)
-#define IDirect3DRMMeshBuilder3_Scale(p,a,b,c) (p)->Scale(a,b,c)
-#define IDirect3DRMMeshBuilder3_Translate(p,a,b,c) (p)->Translate(a)
-#define IDirect3DRMMeshBuilder3_SetColorSource(p,a) (p)->SetColorSource(a,b,c)
-#define IDirect3DRMMeshBuilder3_GetBox(p,a) (p)->GetBox(a)
-#define IDirect3DRMMeshBuilder3_GenerateNormals(p,a,b) (p)->GenerateNormals(a,b)
-#define IDirect3DRMMeshBuilder3_GetColorSource(p) (p)->GetColorSource()
-#define IDirect3DRMMeshBuilder3_AddMesh(p,a) (p)-->AddMesh(a)
-#define IDirect3DRMMeshBuilder3_AddMeshBuilder(p,a) (p)->AddMeshBuilder(a)
-#define IDirect3DRMMeshBuilder3_AddFrame(p,a) (p)->AddFrame(a)
-#define IDirect3DRMMeshBuilder3_AddFace(p,a) (p)->AddFace(a)
-#define IDirect3DRMMeshBuilder3_AddFaces(p,a,b,c,d,e,f) (p)->AddFaces(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder3_ReserveSpace(p,a,b,c) (p)->ReserveSpace(a,b,c)
-#define IDirect3DRMMeshBuilder3_SetColorRGB(p,a,b,c) (p)->SetColorRGB(a,b,c)
-#define IDirect3DRMMeshBuilder3_SetColor(p,a) (p)->SetColor(a)
-#define IDirect3DRMMeshBuilder3_SetTexture(p,a) (p)->SetTexture(a)
-#define IDirect3DRMMeshBuilder3_SetMateria(p,a) (p)->SetMateria(a)
-#define IDirect3DRMMeshBuilder3_SetTextureTopology(p,a,b) (p)->SetTextureTopology(a,b)
-#define IDirect3DRMMeshBuilder3_SetQuality(p,a) (p)->SetQuality(a)
-#define IDirect3DRMMeshBuilder3_SetPerspective(p,a) (p)->SetPerspective(a)
-#define IDirect3DRMMeshBuilder3_SetVertex(p,a,b,c,d) (p)->SetVertex(a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetNormal(p,a,b,c,d) (p)->SetNormal(a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetTextureCoordinates(p,a,b,c) (p)->SetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder3_SetVertexColor(p,a,b) (p)->SetVertexColor(a,b)
-#define IDirect3DRMMeshBuilder3_SetVertexColorRGB(p,a,b,c,d) (p)->SetVertexColorRGB(a,b,c,d)
-#define IDirect3DRMMeshBuilder3_GetFaces(p,a) (p)->GetFaces(a)
-#define IDirect3DRMMeshBuilder3_GetGeometry(p,a,b,c,d,e,f) (p)->GetGeometry(a,b,c,d,e,f)
-#define IDirect3DRMMeshBuilder3_GetTextureCoordinates(p,a,b,c) (p)->GetTextureCoordinates(a,b,c)
-#define IDirect3DRMMeshBuilder3_AddVertex(p,a,b,c) (p)->AddVertex(a,b,c)
-#define IDirect3DRMMeshBuilder3_AddNormal(p,a,b,c) (p)->AddNormal(a,b,c)
-#define IDirect3DRMMeshBuilder3_CreateFace(p,a) (p)->CreateFace(a)
-#define IDirect3DRMMeshBuilder3_GetQuality(p) (p)->GetQuality()
-#define IDirect3DRMMeshBuilder3_GetPerspective(p) (p)->GetPerspective()
-#define IDirect3DRMMeshBuilder3_GetFaceCount(p) (p)->GetFaceCount()
-#define IDirect3DRMMeshBuilder3_GetVertexCount(p) (p)->GetVertexCount()
-#define IDirect3DRMMeshBuilder3_GetVertexColor(p,a) (p)->GetVertexColor(a)
-#define IDirect3DRMMeshBuilder3_CreateMesh(p,a) (p)->CreateMesh(a)
-#define IDirect3DRMMeshBuilder3_GetFace(p,a,b) (p)->GetFace(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetVertex(p,a,b) (p)->GetVertex(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetNormal(p,a,b) (p)->GetNormal(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteVertices(p,a,b) (p)->DeleteVertices(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteNormals(p,a,b) (p)->DeleteNormals(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteFace(p,a) (p)->DeleteFace(p,a)
-#define IDirect3DRMMeshBuilder3_Empty(p,a) (p)->Empty(p,a)
-#define IDirect3DRMMeshBuilder3_Optimize(p,a) (p)->Optimize(p,a)
-#define IDirect3DRMMeshBuilder3_AddFacesIndexed(p,a,b,c,d) (p)->AddFacesIndexed(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_CreateSubMesh(p,a) (p)->CreateSubMesh(p,a)
-#define IDirect3DRMMeshBuilder3_GetParentMesh(p,a,b) (p)->GetParentMesh(p,a,b)
-#define IDirect3DRMMeshBuilder3_GetSubMeshes(p,a,b) (p)->GetSubMeshes(p,a,b)
-#define IDirect3DRMMeshBuilder3_DeleteSubMesh(p,a) (p)->DeleteSubMesh(p,a)
-#define IDirect3DRMMeshBuilder3_Enable(p,a) (p)->Enable(p,a)
-#define IDirect3DRMMeshBuilder3_AddTriangles(p,a,b,c,d) (p)->AddTriangles(p,a,b,c,d)
-#define IDirect3DRMMeshBuilder3_SetVertices(p,a,b,c) (p)->SetVertices(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetVertices(p,a,b,c) (p)->GetVertices(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_SetNormals(p,a,b,c) (p)->SetNormals(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetNormals(p,a,b,c) (p)->GetNormals(p,a,b,c)
-#define IDirect3DRMMeshBuilder3_GetNormalCount(p) (p)->GetNormalCount(p,a)
-#endif
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* __D3DRMOBJ_H__ */
+++ /dev/null
-/*
- * Copyright (C) 2000 Peter Hunnisett
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-/* FIXME: Need to add C++ code for certain structs for headers - this is going to be a problem
- if WINE continues to only use C code - I suppose that we could always inline in
- the header file to get around that little problem... */
-/* FIXME: We need to implement versioning on everything directx 5 and up if these headers
- are going to be generically useful for directx stuff */
-
-#ifndef __WINE_D3DTYPES_H
-#define __WINE_D3DTYPES_H
-
-#include <_mingw_dxhelper.h>
-
-#ifndef __WINESRC__
-# include <windows.h>
-#endif
-
-#include <float.h>
-#include <ddraw.h>
-
-#define D3DVALP(val, prec) ((float)(val))
-#define D3DVAL(val) ((float)(val))
-#define D3DDivide(a, b) (float)((double) (a) / (double) (b))
-#define D3DMultiply(a, b) ((a) * (b))
-
-typedef LONG D3DFIXED;
-
-
-#ifndef RGB_MAKE
-#define CI_GETALPHA(ci) ((ci) >> 24)
-#define CI_GETINDEX(ci) (((ci) >> 8) & 0xffff)
-#define CI_GETFRACTION(ci) ((ci) & 0xff)
-#define CI_ROUNDINDEX(ci) CI_GETINDEX((ci) + 0x80)
-#define CI_MASKALPHA(ci) ((ci) & 0xffffff)
-#define CI_MAKE(a, i, f) (((a) << 24) | ((i) << 8) | (f))
-
-#define RGBA_GETALPHA(rgb) ((rgb) >> 24)
-#define RGBA_GETRED(rgb) (((rgb) >> 16) & 0xff)
-#define RGBA_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
-#define RGBA_GETBLUE(rgb) ((rgb) & 0xff)
-#define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
-
-#define D3DRGB(r, g, b) \
- (0xff000000 | ( ((LONG)((r) * 255)) << 16) | (((LONG)((g) * 255)) << 8) | (LONG)((b) * 255))
-#define D3DRGBA(r, g, b, a) \
- ( (((LONG)((a) * 255)) << 24) | (((LONG)((r) * 255)) << 16) \
- | (((LONG)((g) * 255)) << 8) | (LONG)((b) * 255) \
- )
-
-#define RGB_GETRED(rgb) (((rgb) >> 16) & 0xff)
-#define RGB_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
-#define RGB_GETBLUE(rgb) ((rgb) & 0xff)
-#define RGBA_SETALPHA(rgba, x) (((x) << 24) | ((rgba) & 0x00ffffff))
-#define RGB_MAKE(r, g, b) ((D3DCOLOR) (((r) << 16) | ((g) << 8) | (b)))
-#define RGBA_TORGB(rgba) ((D3DCOLOR) ((rgba) & 0xffffff))
-#define RGB_TORGBA(rgb) ((D3DCOLOR) ((rgb) | 0xff000000))
-
-#endif
-
-#define D3DENUMRET_CANCEL DDENUMRET_CANCEL
-#define D3DENUMRET_OK DDENUMRET_OK
-
-typedef HRESULT (CALLBACK *LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset);
-typedef HRESULT (CALLBACK *LPD3DENUMTEXTUREFORMATSCALLBACK)(LPDDSURFACEDESC lpDdsd, LPVOID lpContext);
-typedef HRESULT (CALLBACK *LPD3DENUMPIXELFORMATSCALLBACK)(LPDDPIXELFORMAT lpDDPixFmt, LPVOID lpContext);
-
-#ifndef DX_SHARED_DEFINES
-
-typedef float D3DVALUE,*LPD3DVALUE;
-
-#ifndef D3DCOLOR_DEFINED
-typedef DWORD D3DCOLOR, *LPD3DCOLOR;
-#define D3DCOLOR_DEFINED
-#endif
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- union {
- D3DVALUE x;
- D3DVALUE dvX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE y;
- D3DVALUE dvY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE z;
- D3DVALUE dvZ;
- } DUMMYUNIONNAME3;
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
- /* the definitions for these methods are in d3dvec.inl */
-public:
- /*** constructors ***/
- _D3DVECTOR() {}
- _D3DVECTOR(D3DVALUE f);
- _D3DVECTOR(D3DVALUE _x, D3DVALUE _y, D3DVALUE _z);
- _D3DVECTOR(const D3DVALUE f[3]);
-
- /*** assignment operators ***/
- _D3DVECTOR& operator += (const _D3DVECTOR& v);
- _D3DVECTOR& operator -= (const _D3DVECTOR& v);
- _D3DVECTOR& operator *= (const _D3DVECTOR& v);
- _D3DVECTOR& operator /= (const _D3DVECTOR& v);
- _D3DVECTOR& operator *= (D3DVALUE s);
- _D3DVECTOR& operator /= (D3DVALUE s);
-
- /*** unary operators ***/
- friend _D3DVECTOR operator + (const _D3DVECTOR& v);
- friend _D3DVECTOR operator - (const _D3DVECTOR& v);
-
- /*** binary operators ***/
- friend _D3DVECTOR operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- friend _D3DVECTOR operator - (const _D3DVECTOR& v1, const _D3DVECTOR& v2);
-
- friend _D3DVECTOR operator * (const _D3DVECTOR& v, D3DVALUE s);
- friend _D3DVECTOR operator * (D3DVALUE s, const _D3DVECTOR& v);
- friend _D3DVECTOR operator / (const _D3DVECTOR& v, D3DVALUE s);
-
- friend D3DVALUE SquareMagnitude(const _D3DVECTOR& v);
- friend D3DVALUE Magnitude(const _D3DVECTOR& v);
-
- friend _D3DVECTOR Normalize(const _D3DVECTOR& v);
-
- friend D3DVALUE DotProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2);
- friend _D3DVECTOR CrossProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2);
-#endif
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-
-#ifndef LPD3DVECTOR_DEFINED
-typedef D3DVECTOR *LPD3DVECTOR;
-#define LPD3DVECTOR_DEFINED
-#endif
-
-#define DX_SHARED_DEFINES
-#endif /* DX_SHARED_DEFINES */
-
-typedef DWORD D3DMATERIALHANDLE, *LPD3DMATERIALHANDLE;
-typedef DWORD D3DTEXTUREHANDLE, *LPD3DTEXTUREHANDLE;
-typedef DWORD D3DMATRIXHANDLE, *LPD3DMATRIXHANDLE;
-
-typedef struct _D3DCOLORVALUE {
- union {
- D3DVALUE r;
- D3DVALUE dvR;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE g;
- D3DVALUE dvG;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE b;
- D3DVALUE dvB;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE a;
- D3DVALUE dvA;
- } DUMMYUNIONNAME4;
-} D3DCOLORVALUE,*LPD3DCOLORVALUE;
-
-typedef struct _D3DRECT {
- union {
- LONG x1;
- LONG lX1;
- } DUMMYUNIONNAME1;
- union {
- LONG y1;
- LONG lY1;
- } DUMMYUNIONNAME2;
- union {
- LONG x2;
- LONG lX2;
- } DUMMYUNIONNAME3;
- union {
- LONG y2;
- LONG lY2;
- } DUMMYUNIONNAME4;
-} D3DRECT, *LPD3DRECT;
-
-typedef struct _D3DHVERTEX {
- DWORD dwFlags;
- union {
- D3DVALUE hx;
- D3DVALUE dvHX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE hy;
- D3DVALUE dvHY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE hz;
- D3DVALUE dvHZ;
- } DUMMYUNIONNAME3;
-} D3DHVERTEX, *LPD3DHVERTEX;
-
-/*
- * Transformed/lit vertices
- */
-typedef struct _D3DTLVERTEX {
- union {
- D3DVALUE sx;
- D3DVALUE dvSX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE sy;
- D3DVALUE dvSY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE sz;
- D3DVALUE dvSZ;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE rhw;
- D3DVALUE dvRHW;
- } DUMMYUNIONNAME4;
- union {
- D3DCOLOR color;
- D3DCOLOR dcColor;
- } DUMMYUNIONNAME5;
- union {
- D3DCOLOR specular;
- D3DCOLOR dcSpecular;
- } DUMMYUNIONNAME6;
- union {
- D3DVALUE tu;
- D3DVALUE dvTU;
- } DUMMYUNIONNAME7;
- union {
- D3DVALUE tv;
- D3DVALUE dvTV;
- } DUMMYUNIONNAME8;
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
-public:
- _D3DTLVERTEX() {}
- _D3DTLVERTEX(const D3DVECTOR& v, float _rhw, D3DCOLOR _color, D3DCOLOR _specular, float _tu, float _tv) {
- sx = v.x; sy = v.y; sz = v.z; rhw = _rhw;
- color = _color; specular = _specular;
- tu = _tu; tv = _tv;
- }
-#endif
-} D3DTLVERTEX, *LPD3DTLVERTEX;
-
-typedef struct _D3DLVERTEX {
- union {
- D3DVALUE x;
- D3DVALUE dvX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE y;
- D3DVALUE dvY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE z;
- D3DVALUE dvZ;
- } DUMMYUNIONNAME3;
- DWORD dwReserved;
- union {
- D3DCOLOR color;
- D3DCOLOR dcColor;
- } DUMMYUNIONNAME4;
- union {
- D3DCOLOR specular;
- D3DCOLOR dcSpecular;
- } DUMMYUNIONNAME5;
- union {
- D3DVALUE tu;
- D3DVALUE dvTU;
- } DUMMYUNIONNAME6;
- union {
- D3DVALUE tv;
- D3DVALUE dvTV;
- } DUMMYUNIONNAME7;
-} D3DLVERTEX, *LPD3DLVERTEX;
-
-typedef struct _D3DVERTEX {
- union {
- D3DVALUE x;
- D3DVALUE dvX;
- } DUMMYUNIONNAME1;
- union {
- D3DVALUE y;
- D3DVALUE dvY;
- } DUMMYUNIONNAME2;
- union {
- D3DVALUE z;
- D3DVALUE dvZ;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE nx;
- D3DVALUE dvNX;
- } DUMMYUNIONNAME4;
- union {
- D3DVALUE ny;
- D3DVALUE dvNY;
- } DUMMYUNIONNAME5;
- union {
- D3DVALUE nz;
- D3DVALUE dvNZ;
- } DUMMYUNIONNAME6;
- union {
- D3DVALUE tu;
- D3DVALUE dvTU;
- } DUMMYUNIONNAME7;
- union {
- D3DVALUE tv;
- D3DVALUE dvTV;
- } DUMMYUNIONNAME8;
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
-public:
- _D3DVERTEX() {}
- _D3DVERTEX(const D3DVECTOR& v, const D3DVECTOR& n, float _tu, float _tv) {
- x = v.x; y = v.y; z = v.z;
- nx = n.x; ny = n.y; nz = n.z;
- tu = _tu; tv = _tv;
- }
-#endif
-} D3DVERTEX, *LPD3DVERTEX;
-
-typedef struct _D3DMATRIX {
- D3DVALUE _11, _12, _13, _14;
- D3DVALUE _21, _22, _23, _24;
- D3DVALUE _31, _32, _33, _34;
- D3DVALUE _41, _42, _43, _44;
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
- _D3DMATRIX() { }
-
- /* This is different from MS, but avoids anonymous structs. */
- D3DVALUE &operator () (int r, int c)
- { return ((D3DVALUE [4][4])&_11)[r][c]; }
- const D3DVALUE &operator() (int r, int c) const
- { return ((const D3DVALUE [4][4])&_11)[r][c]; }
-#endif
-} D3DMATRIX, *LPD3DMATRIX;
-
-#if defined(__cplusplus) && defined(D3D_OVERLOADS)
-#include <d3dvec.inl>
-#endif
-
-typedef struct _D3DVIEWPORT {
- DWORD dwSize;
- DWORD dwX;
- DWORD dwY;
- DWORD dwWidth;
- DWORD dwHeight;
- D3DVALUE dvScaleX;
- D3DVALUE dvScaleY;
- D3DVALUE dvMaxX;
- D3DVALUE dvMaxY;
- D3DVALUE dvMinZ;
- D3DVALUE dvMaxZ;
-} D3DVIEWPORT, *LPD3DVIEWPORT;
-
-typedef struct _D3DVIEWPORT2 {
- DWORD dwSize;
- DWORD dwX;
- DWORD dwY;
- DWORD dwWidth;
- DWORD dwHeight;
- D3DVALUE dvClipX;
- D3DVALUE dvClipY;
- D3DVALUE dvClipWidth;
- D3DVALUE dvClipHeight;
- D3DVALUE dvMinZ;
- D3DVALUE dvMaxZ;
-} D3DVIEWPORT2, *LPD3DVIEWPORT2;
-
-typedef struct _D3DVIEWPORT7 {
- DWORD dwX;
- DWORD dwY;
- DWORD dwWidth;
- DWORD dwHeight;
- D3DVALUE dvMinZ;
- D3DVALUE dvMaxZ;
-} D3DVIEWPORT7, *LPD3DVIEWPORT7;
-
-#define D3DMAXUSERCLIPPLANES 32
-
-#define D3DCLIPPLANE0 (1 << 0)
-#define D3DCLIPPLANE1 (1 << 1)
-#define D3DCLIPPLANE2 (1 << 2)
-#define D3DCLIPPLANE3 (1 << 3)
-#define D3DCLIPPLANE4 (1 << 4)
-#define D3DCLIPPLANE5 (1 << 5)
-
-#define D3DCLIP_LEFT 0x00000001
-#define D3DCLIP_RIGHT 0x00000002
-#define D3DCLIP_TOP 0x00000004
-#define D3DCLIP_BOTTOM 0x00000008
-#define D3DCLIP_FRONT 0x00000010
-#define D3DCLIP_BACK 0x00000020
-#define D3DCLIP_GEN0 0x00000040
-#define D3DCLIP_GEN1 0x00000080
-#define D3DCLIP_GEN2 0x00000100
-#define D3DCLIP_GEN3 0x00000200
-#define D3DCLIP_GEN4 0x00000400
-#define D3DCLIP_GEN5 0x00000800
-
-#define D3DSTATUS_CLIPUNIONLEFT D3DCLIP_LEFT
-#define D3DSTATUS_CLIPUNIONRIGHT D3DCLIP_RIGHT
-#define D3DSTATUS_CLIPUNIONTOP D3DCLIP_TOP
-#define D3DSTATUS_CLIPUNIONBOTTOM D3DCLIP_BOTTOM
-#define D3DSTATUS_CLIPUNIONFRONT D3DCLIP_FRONT
-#define D3DSTATUS_CLIPUNIONBACK D3DCLIP_BACK
-#define D3DSTATUS_CLIPUNIONGEN0 D3DCLIP_GEN0
-#define D3DSTATUS_CLIPUNIONGEN1 D3DCLIP_GEN1
-#define D3DSTATUS_CLIPUNIONGEN2 D3DCLIP_GEN2
-#define D3DSTATUS_CLIPUNIONGEN3 D3DCLIP_GEN3
-#define D3DSTATUS_CLIPUNIONGEN4 D3DCLIP_GEN4
-#define D3DSTATUS_CLIPUNIONGEN5 D3DCLIP_GEN5
-
-#define D3DSTATUS_CLIPINTERSECTIONLEFT 0x00001000
-#define D3DSTATUS_CLIPINTERSECTIONRIGHT 0x00002000
-#define D3DSTATUS_CLIPINTERSECTIONTOP 0x00004000
-#define D3DSTATUS_CLIPINTERSECTIONBOTTOM 0x00008000
-#define D3DSTATUS_CLIPINTERSECTIONFRONT 0x00010000
-#define D3DSTATUS_CLIPINTERSECTIONBACK 0x00020000
-#define D3DSTATUS_CLIPINTERSECTIONGEN0 0x00040000
-#define D3DSTATUS_CLIPINTERSECTIONGEN1 0x00080000
-#define D3DSTATUS_CLIPINTERSECTIONGEN2 0x00100000
-#define D3DSTATUS_CLIPINTERSECTIONGEN3 0x00200000
-#define D3DSTATUS_CLIPINTERSECTIONGEN4 0x00400000
-#define D3DSTATUS_CLIPINTERSECTIONGEN5 0x00800000
-#define D3DSTATUS_ZNOTVISIBLE 0x01000000
-
-#define D3DSTATUS_CLIPUNIONALL ( \
- D3DSTATUS_CLIPUNIONLEFT | \
- D3DSTATUS_CLIPUNIONRIGHT | \
- D3DSTATUS_CLIPUNIONTOP | \
- D3DSTATUS_CLIPUNIONBOTTOM | \
- D3DSTATUS_CLIPUNIONFRONT | \
- D3DSTATUS_CLIPUNIONBACK | \
- D3DSTATUS_CLIPUNIONGEN0 | \
- D3DSTATUS_CLIPUNIONGEN1 | \
- D3DSTATUS_CLIPUNIONGEN2 | \
- D3DSTATUS_CLIPUNIONGEN3 | \
- D3DSTATUS_CLIPUNIONGEN4 | \
- D3DSTATUS_CLIPUNIONGEN5 \
- )
-
-#define D3DSTATUS_CLIPINTERSECTIONALL ( \
- D3DSTATUS_CLIPINTERSECTIONLEFT | \
- D3DSTATUS_CLIPINTERSECTIONRIGHT | \
- D3DSTATUS_CLIPINTERSECTIONTOP | \
- D3DSTATUS_CLIPINTERSECTIONBOTTOM | \
- D3DSTATUS_CLIPINTERSECTIONFRONT | \
- D3DSTATUS_CLIPINTERSECTIONBACK | \
- D3DSTATUS_CLIPINTERSECTIONGEN0 | \
- D3DSTATUS_CLIPINTERSECTIONGEN1 | \
- D3DSTATUS_CLIPINTERSECTIONGEN2 | \
- D3DSTATUS_CLIPINTERSECTIONGEN3 | \
- D3DSTATUS_CLIPINTERSECTIONGEN4 | \
- D3DSTATUS_CLIPINTERSECTIONGEN5 \
- )
-
-#define D3DSTATUS_DEFAULT ( \
- D3DSTATUS_CLIPINTERSECTIONALL | \
- D3DSTATUS_ZNOTVISIBLE)
-
-#define D3DTRANSFORM_CLIPPED 0x00000001
-#define D3DTRANSFORM_UNCLIPPED 0x00000002
-
-typedef struct _D3DTRANSFORMDATA {
- DWORD dwSize;
- LPVOID lpIn;
- DWORD dwInSize;
- LPVOID lpOut;
- DWORD dwOutSize;
- LPD3DHVERTEX lpHOut;
- DWORD dwClip;
- DWORD dwClipIntersection;
- DWORD dwClipUnion;
- D3DRECT drExtent;
-} D3DTRANSFORMDATA, *LPD3DTRANSFORMDATA;
-
-typedef struct _D3DLIGHTINGELEMENT {
- D3DVECTOR dvPosition;
- D3DVECTOR dvNormal;
-} D3DLIGHTINGELEMENT, *LPD3DLIGHTINGELEMENT;
-
-typedef struct _D3DMATERIAL {
- DWORD dwSize;
- union {
- D3DCOLORVALUE diffuse;
- D3DCOLORVALUE dcvDiffuse;
- } DUMMYUNIONNAME;
- union {
- D3DCOLORVALUE ambient;
- D3DCOLORVALUE dcvAmbient;
- } DUMMYUNIONNAME1;
- union {
- D3DCOLORVALUE specular;
- D3DCOLORVALUE dcvSpecular;
- } DUMMYUNIONNAME2;
- union {
- D3DCOLORVALUE emissive;
- D3DCOLORVALUE dcvEmissive;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE power;
- D3DVALUE dvPower;
- } DUMMYUNIONNAME4;
- D3DTEXTUREHANDLE hTexture;
- DWORD dwRampSize;
-} D3DMATERIAL, *LPD3DMATERIAL;
-
-typedef struct _D3DMATERIAL7 {
- union {
- D3DCOLORVALUE diffuse;
- D3DCOLORVALUE dcvDiffuse;
- } DUMMYUNIONNAME;
- union {
- D3DCOLORVALUE ambient;
- D3DCOLORVALUE dcvAmbient;
- } DUMMYUNIONNAME1;
- union {
- D3DCOLORVALUE specular;
- D3DCOLORVALUE dcvSpecular;
- } DUMMYUNIONNAME2;
- union {
- D3DCOLORVALUE emissive;
- D3DCOLORVALUE dcvEmissive;
- } DUMMYUNIONNAME3;
- union {
- D3DVALUE power;
- D3DVALUE dvPower;
- } DUMMYUNIONNAME4;
-} D3DMATERIAL7, *LPD3DMATERIAL7;
-
-typedef enum {
- D3DLIGHT_POINT = 1,
- D3DLIGHT_SPOT = 2,
- D3DLIGHT_DIRECTIONAL = 3,
- D3DLIGHT_PARALLELPOINT = 4,
- D3DLIGHT_GLSPOT = 5,
- D3DLIGHT_FORCE_DWORD = 0x7fffffff
-} D3DLIGHTTYPE;
-
-typedef struct _D3DLIGHT {
- DWORD dwSize;
- D3DLIGHTTYPE dltType;
- D3DCOLORVALUE dcvColor;
- D3DVECTOR dvPosition;
- D3DVECTOR dvDirection;
- D3DVALUE dvRange;
- D3DVALUE dvFalloff;
- D3DVALUE dvAttenuation0;
- D3DVALUE dvAttenuation1;
- D3DVALUE dvAttenuation2;
- D3DVALUE dvTheta;
- D3DVALUE dvPhi;
-} D3DLIGHT,*LPD3DLIGHT;
-
-typedef struct _D3DLIGHT7 {
- D3DLIGHTTYPE dltType;
- D3DCOLORVALUE dcvDiffuse;
- D3DCOLORVALUE dcvSpecular;
- D3DCOLORVALUE dcvAmbient;
- D3DVECTOR dvPosition;
- D3DVECTOR dvDirection;
- D3DVALUE dvRange;
- D3DVALUE dvFalloff;
- D3DVALUE dvAttenuation0;
- D3DVALUE dvAttenuation1;
- D3DVALUE dvAttenuation2;
- D3DVALUE dvTheta;
- D3DVALUE dvPhi;
-} D3DLIGHT7, *LPD3DLIGHT7;
-
-#define D3DLIGHT_ACTIVE 0x00000001
-#define D3DLIGHT_NO_SPECULAR 0x00000002
-#define D3DLIGHT_ALL (D3DLIGHT_ACTIVE | D3DLIGHT_NO_SPECULAR) /* 0x3 */
-
-#define D3DLIGHT_RANGE_MAX ((float)sqrt(FLT_MAX))
-
-typedef struct _D3DLIGHT2 {
- DWORD dwSize;
- D3DLIGHTTYPE dltType;
- D3DCOLORVALUE dcvColor;
- D3DVECTOR dvPosition;
- D3DVECTOR dvDirection;
- D3DVALUE dvRange;
- D3DVALUE dvFalloff;
- D3DVALUE dvAttenuation0;
- D3DVALUE dvAttenuation1;
- D3DVALUE dvAttenuation2;
- D3DVALUE dvTheta;
- D3DVALUE dvPhi;
- DWORD dwFlags;
-} D3DLIGHT2, *LPD3DLIGHT2;
-
-typedef struct _D3DLIGHTDATA {
- DWORD dwSize;
- LPD3DLIGHTINGELEMENT lpIn;
- DWORD dwInSize;
- LPD3DTLVERTEX lpOut;
- DWORD dwOutSize;
-} D3DLIGHTDATA, *LPD3DLIGHTDATA;
-
-#define D3DCOLOR_MONO 1
-#define D3DCOLOR_RGB 2
-
-typedef DWORD D3DCOLORMODEL;
-
-
-#ifndef D3DCLEAR_TARGET
-#define D3DCLEAR_TARGET 0x00000001
-#endif
-#ifndef D3DCLEAR_ZBUFFER
-#define D3DCLEAR_ZBUFFER 0x00000002
-#endif
-#ifndef D3DCLEAR_STENCIL
-#define D3DCLEAR_STENCIL 0x00000004
-#endif
-
-typedef enum _D3DOPCODE {
- D3DOP_POINT = 1,
- D3DOP_LINE = 2,
- D3DOP_TRIANGLE = 3,
- D3DOP_MATRIXLOAD = 4,
- D3DOP_MATRIXMULTIPLY = 5,
- D3DOP_STATETRANSFORM = 6,
- D3DOP_STATELIGHT = 7,
- D3DOP_STATERENDER = 8,
- D3DOP_PROCESSVERTICES = 9,
- D3DOP_TEXTURELOAD = 10,
- D3DOP_EXIT = 11,
- D3DOP_BRANCHFORWARD = 12,
- D3DOP_SPAN = 13,
- D3DOP_SETSTATUS = 14,
-
- D3DOP_FORCE_DWORD = 0x7fffffff
-} D3DOPCODE;
-
-typedef struct _D3DINSTRUCTION {
- BYTE bOpcode;
- BYTE bSize;
- WORD wCount;
-} D3DINSTRUCTION, *LPD3DINSTRUCTION;
-
-typedef struct _D3DTEXTURELOAD {
- D3DTEXTUREHANDLE hDestTexture;
- D3DTEXTUREHANDLE hSrcTexture;
-} D3DTEXTURELOAD, *LPD3DTEXTURELOAD;
-
-typedef struct _D3DPICKRECORD {
- BYTE bOpcode;
- BYTE bPad;
- DWORD dwOffset;
- D3DVALUE dvZ;
-} D3DPICKRECORD, *LPD3DPICKRECORD;
-
-typedef enum {
- D3DSHADE_FLAT = 1,
- D3DSHADE_GOURAUD = 2,
- D3DSHADE_PHONG = 3,
- D3DSHADE_FORCE_DWORD = 0x7fffffff
-} D3DSHADEMODE;
-
-typedef enum {
- D3DFILL_POINT = 1,
- D3DFILL_WIREFRAME = 2,
- D3DFILL_SOLID = 3,
- D3DFILL_FORCE_DWORD = 0x7fffffff
-} D3DFILLMODE;
-
-typedef struct _D3DLINEPATTERN {
- WORD wRepeatFactor;
- WORD wLinePattern;
-} D3DLINEPATTERN;
-
-typedef enum {
- D3DFILTER_NEAREST = 1,
- D3DFILTER_LINEAR = 2,
- D3DFILTER_MIPNEAREST = 3,
- D3DFILTER_MIPLINEAR = 4,
- D3DFILTER_LINEARMIPNEAREST = 5,
- D3DFILTER_LINEARMIPLINEAR = 6,
- D3DFILTER_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREFILTER;
-
-typedef enum {
- D3DBLEND_ZERO = 1,
- D3DBLEND_ONE = 2,
- D3DBLEND_SRCCOLOR = 3,
- D3DBLEND_INVSRCCOLOR = 4,
- D3DBLEND_SRCALPHA = 5,
- D3DBLEND_INVSRCALPHA = 6,
- D3DBLEND_DESTALPHA = 7,
- D3DBLEND_INVDESTALPHA = 8,
- D3DBLEND_DESTCOLOR = 9,
- D3DBLEND_INVDESTCOLOR = 10,
- D3DBLEND_SRCALPHASAT = 11,
- D3DBLEND_BOTHSRCALPHA = 12,
- D3DBLEND_BOTHINVSRCALPHA = 13,
- D3DBLEND_FORCE_DWORD = 0x7fffffff
-} D3DBLEND;
-
-typedef enum {
- D3DTBLEND_DECAL = 1,
- D3DTBLEND_MODULATE = 2,
- D3DTBLEND_DECALALPHA = 3,
- D3DTBLEND_MODULATEALPHA = 4,
- D3DTBLEND_DECALMASK = 5,
- D3DTBLEND_MODULATEMASK = 6,
- D3DTBLEND_COPY = 7,
- D3DTBLEND_ADD = 8,
- D3DTBLEND_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREBLEND;
-
-typedef enum _D3DTEXTUREADDRESS {
- D3DTADDRESS_WRAP = 1,
- D3DTADDRESS_MIRROR = 2,
- D3DTADDRESS_CLAMP = 3,
- D3DTADDRESS_BORDER = 4,
- D3DTADDRESS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREADDRESS;
-
-typedef enum {
- D3DCULL_NONE = 1,
- D3DCULL_CW = 2,
- D3DCULL_CCW = 3,
- D3DCULL_FORCE_DWORD = 0x7fffffff
-} D3DCULL;
-
-typedef enum {
- D3DCMP_NEVER = 1,
- D3DCMP_LESS = 2,
- D3DCMP_EQUAL = 3,
- D3DCMP_LESSEQUAL = 4,
- D3DCMP_GREATER = 5,
- D3DCMP_NOTEQUAL = 6,
- D3DCMP_GREATEREQUAL = 7,
- D3DCMP_ALWAYS = 8,
- D3DCMP_FORCE_DWORD = 0x7fffffff
-} D3DCMPFUNC;
-
-typedef enum _D3DSTENCILOP {
- D3DSTENCILOP_KEEP = 1,
- D3DSTENCILOP_ZERO = 2,
- D3DSTENCILOP_REPLACE = 3,
- D3DSTENCILOP_INCRSAT = 4,
- D3DSTENCILOP_DECRSAT = 5,
- D3DSTENCILOP_INVERT = 6,
- D3DSTENCILOP_INCR = 7,
- D3DSTENCILOP_DECR = 8,
- D3DSTENCILOP_FORCE_DWORD = 0x7fffffff
-} D3DSTENCILOP;
-
-typedef enum _D3DFOGMODE {
- D3DFOG_NONE = 0,
- D3DFOG_EXP = 1,
- D3DFOG_EXP2 = 2,
- D3DFOG_LINEAR = 3,
- D3DFOG_FORCE_DWORD = 0x7fffffff
-} D3DFOGMODE;
-
-typedef enum _D3DZBUFFERTYPE {
- D3DZB_FALSE = 0,
- D3DZB_TRUE = 1,
- D3DZB_USEW = 2,
- D3DZB_FORCE_DWORD = 0x7fffffff
-} D3DZBUFFERTYPE;
-
-typedef enum _D3DANTIALIASMODE {
- D3DANTIALIAS_NONE = 0,
- D3DANTIALIAS_SORTDEPENDENT = 1,
- D3DANTIALIAS_SORTINDEPENDENT = 2,
- D3DANTIALIAS_FORCE_DWORD = 0x7fffffff
-} D3DANTIALIASMODE;
-
-typedef enum {
- D3DVT_VERTEX = 1,
- D3DVT_LVERTEX = 2,
- D3DVT_TLVERTEX = 3,
- D3DVT_FORCE_DWORD = 0x7fffffff
-} D3DVERTEXTYPE;
-
-typedef enum {
- D3DPT_POINTLIST = 1,
- D3DPT_LINELIST = 2,
- D3DPT_LINESTRIP = 3,
- D3DPT_TRIANGLELIST = 4,
- D3DPT_TRIANGLESTRIP = 5,
- D3DPT_TRIANGLEFAN = 6,
- D3DPT_FORCE_DWORD = 0x7fffffff
-} D3DPRIMITIVETYPE;
-
-#define D3DSTATE_OVERRIDE_BIAS 256
-
-#define D3DSTATE_OVERRIDE(type) (D3DRENDERSTATETYPE)(((DWORD) (type) + D3DSTATE_OVERRIDE_BIAS))
-
-typedef enum _D3DTRANSFORMSTATETYPE {
- D3DTRANSFORMSTATE_WORLD = 1,
- D3DTRANSFORMSTATE_VIEW = 2,
- D3DTRANSFORMSTATE_PROJECTION = 3,
- D3DTRANSFORMSTATE_WORLD1 = 4,
- D3DTRANSFORMSTATE_WORLD2 = 5,
- D3DTRANSFORMSTATE_WORLD3 = 6,
- D3DTRANSFORMSTATE_TEXTURE0 = 16,
- D3DTRANSFORMSTATE_TEXTURE1 = 17,
- D3DTRANSFORMSTATE_TEXTURE2 = 18,
- D3DTRANSFORMSTATE_TEXTURE3 = 19,
- D3DTRANSFORMSTATE_TEXTURE4 = 20,
- D3DTRANSFORMSTATE_TEXTURE5 = 21,
- D3DTRANSFORMSTATE_TEXTURE6 = 22,
- D3DTRANSFORMSTATE_TEXTURE7 = 23,
- D3DTRANSFORMSTATE_FORCE_DWORD = 0x7fffffff
-} D3DTRANSFORMSTATETYPE;
-
-typedef enum {
- D3DLIGHTSTATE_MATERIAL = 1,
- D3DLIGHTSTATE_AMBIENT = 2,
- D3DLIGHTSTATE_COLORMODEL = 3,
- D3DLIGHTSTATE_FOGMODE = 4,
- D3DLIGHTSTATE_FOGSTART = 5,
- D3DLIGHTSTATE_FOGEND = 6,
- D3DLIGHTSTATE_FOGDENSITY = 7,
- D3DLIGHTSTATE_COLORVERTEX = 8,
- D3DLIGHTSTATE_FORCE_DWORD = 0x7fffffff
-} D3DLIGHTSTATETYPE;
-
-typedef enum {
- D3DRENDERSTATE_TEXTUREHANDLE = 1,
- D3DRENDERSTATE_ANTIALIAS = 2,
- D3DRENDERSTATE_TEXTUREADDRESS = 3,
- D3DRENDERSTATE_TEXTUREPERSPECTIVE = 4,
- D3DRENDERSTATE_WRAPU = 5,
- D3DRENDERSTATE_WRAPV = 6,
- D3DRENDERSTATE_ZENABLE = 7,
- D3DRENDERSTATE_FILLMODE = 8,
- D3DRENDERSTATE_SHADEMODE = 9,
- D3DRENDERSTATE_LINEPATTERN = 10,
- D3DRENDERSTATE_MONOENABLE = 11,
- D3DRENDERSTATE_ROP2 = 12,
- D3DRENDERSTATE_PLANEMASK = 13,
- D3DRENDERSTATE_ZWRITEENABLE = 14,
- D3DRENDERSTATE_ALPHATESTENABLE = 15,
- D3DRENDERSTATE_LASTPIXEL = 16,
- D3DRENDERSTATE_TEXTUREMAG = 17,
- D3DRENDERSTATE_TEXTUREMIN = 18,
- D3DRENDERSTATE_SRCBLEND = 19,
- D3DRENDERSTATE_DESTBLEND = 20,
- D3DRENDERSTATE_TEXTUREMAPBLEND = 21,
- D3DRENDERSTATE_CULLMODE = 22,
- D3DRENDERSTATE_ZFUNC = 23,
- D3DRENDERSTATE_ALPHAREF = 24,
- D3DRENDERSTATE_ALPHAFUNC = 25,
- D3DRENDERSTATE_DITHERENABLE = 26,
- D3DRENDERSTATE_ALPHABLENDENABLE = 27,
- D3DRENDERSTATE_FOGENABLE = 28,
- D3DRENDERSTATE_SPECULARENABLE = 29,
- D3DRENDERSTATE_ZVISIBLE = 30,
- D3DRENDERSTATE_SUBPIXEL = 31,
- D3DRENDERSTATE_SUBPIXELX = 32,
- D3DRENDERSTATE_STIPPLEDALPHA = 33,
- D3DRENDERSTATE_FOGCOLOR = 34,
- D3DRENDERSTATE_FOGTABLEMODE = 35,
- D3DRENDERSTATE_FOGTABLESTART = 36,
- D3DRENDERSTATE_FOGTABLEEND = 37,
- D3DRENDERSTATE_FOGTABLEDENSITY = 38,
- D3DRENDERSTATE_FOGSTART = 36,
- D3DRENDERSTATE_FOGEND = 37,
- D3DRENDERSTATE_FOGDENSITY = 38,
- D3DRENDERSTATE_STIPPLEENABLE = 39,
- D3DRENDERSTATE_EDGEANTIALIAS = 40,
- D3DRENDERSTATE_COLORKEYENABLE = 41,
- D3DRENDERSTATE_BORDERCOLOR = 43,
- D3DRENDERSTATE_TEXTUREADDRESSU = 44,
- D3DRENDERSTATE_TEXTUREADDRESSV = 45,
- D3DRENDERSTATE_MIPMAPLODBIAS = 46,
- D3DRENDERSTATE_ZBIAS = 47,
- D3DRENDERSTATE_RANGEFOGENABLE = 48,
- D3DRENDERSTATE_ANISOTROPY = 49,
- D3DRENDERSTATE_FLUSHBATCH = 50,
- D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT = 51,
-
- D3DRENDERSTATE_STENCILENABLE = 52,
- D3DRENDERSTATE_STENCILFAIL = 53,
- D3DRENDERSTATE_STENCILZFAIL = 54,
- D3DRENDERSTATE_STENCILPASS = 55,
- D3DRENDERSTATE_STENCILFUNC = 56,
- D3DRENDERSTATE_STENCILREF = 57,
- D3DRENDERSTATE_STENCILMASK = 58,
- D3DRENDERSTATE_STENCILWRITEMASK = 59,
- D3DRENDERSTATE_TEXTUREFACTOR = 60,
-
- D3DRENDERSTATE_STIPPLEPATTERN00 = 64,
- D3DRENDERSTATE_STIPPLEPATTERN01 = 65,
- D3DRENDERSTATE_STIPPLEPATTERN02 = 66,
- D3DRENDERSTATE_STIPPLEPATTERN03 = 67,
- D3DRENDERSTATE_STIPPLEPATTERN04 = 68,
- D3DRENDERSTATE_STIPPLEPATTERN05 = 69,
- D3DRENDERSTATE_STIPPLEPATTERN06 = 70,
- D3DRENDERSTATE_STIPPLEPATTERN07 = 71,
- D3DRENDERSTATE_STIPPLEPATTERN08 = 72,
- D3DRENDERSTATE_STIPPLEPATTERN09 = 73,
- D3DRENDERSTATE_STIPPLEPATTERN10 = 74,
- D3DRENDERSTATE_STIPPLEPATTERN11 = 75,
- D3DRENDERSTATE_STIPPLEPATTERN12 = 76,
- D3DRENDERSTATE_STIPPLEPATTERN13 = 77,
- D3DRENDERSTATE_STIPPLEPATTERN14 = 78,
- D3DRENDERSTATE_STIPPLEPATTERN15 = 79,
- D3DRENDERSTATE_STIPPLEPATTERN16 = 80,
- D3DRENDERSTATE_STIPPLEPATTERN17 = 81,
- D3DRENDERSTATE_STIPPLEPATTERN18 = 82,
- D3DRENDERSTATE_STIPPLEPATTERN19 = 83,
- D3DRENDERSTATE_STIPPLEPATTERN20 = 84,
- D3DRENDERSTATE_STIPPLEPATTERN21 = 85,
- D3DRENDERSTATE_STIPPLEPATTERN22 = 86,
- D3DRENDERSTATE_STIPPLEPATTERN23 = 87,
- D3DRENDERSTATE_STIPPLEPATTERN24 = 88,
- D3DRENDERSTATE_STIPPLEPATTERN25 = 89,
- D3DRENDERSTATE_STIPPLEPATTERN26 = 90,
- D3DRENDERSTATE_STIPPLEPATTERN27 = 91,
- D3DRENDERSTATE_STIPPLEPATTERN28 = 92,
- D3DRENDERSTATE_STIPPLEPATTERN29 = 93,
- D3DRENDERSTATE_STIPPLEPATTERN30 = 94,
- D3DRENDERSTATE_STIPPLEPATTERN31 = 95,
-
- D3DRENDERSTATE_WRAP0 = 128,
- D3DRENDERSTATE_WRAP1 = 129,
- D3DRENDERSTATE_WRAP2 = 130,
- D3DRENDERSTATE_WRAP3 = 131,
- D3DRENDERSTATE_WRAP4 = 132,
- D3DRENDERSTATE_WRAP5 = 133,
- D3DRENDERSTATE_WRAP6 = 134,
- D3DRENDERSTATE_WRAP7 = 135,
- D3DRENDERSTATE_CLIPPING = 136,
- D3DRENDERSTATE_LIGHTING = 137,
- D3DRENDERSTATE_EXTENTS = 138,
- D3DRENDERSTATE_AMBIENT = 139,
- D3DRENDERSTATE_FOGVERTEXMODE = 140,
- D3DRENDERSTATE_COLORVERTEX = 141,
- D3DRENDERSTATE_LOCALVIEWER = 142,
- D3DRENDERSTATE_NORMALIZENORMALS = 143,
- D3DRENDERSTATE_COLORKEYBLENDENABLE = 144,
- D3DRENDERSTATE_DIFFUSEMATERIALSOURCE = 145,
- D3DRENDERSTATE_SPECULARMATERIALSOURCE = 146,
- D3DRENDERSTATE_AMBIENTMATERIALSOURCE = 147,
- D3DRENDERSTATE_EMISSIVEMATERIALSOURCE = 148,
- D3DRENDERSTATE_VERTEXBLEND = 151,
- D3DRENDERSTATE_CLIPPLANEENABLE = 152,
-
- D3DRENDERSTATE_FORCE_DWORD = 0x7fffffff
-
- /* FIXME: We have some retired values that are being reused for DirectX 7 */
-} D3DRENDERSTATETYPE;
-
-typedef enum _D3DMATERIALCOLORSOURCE
-{
- D3DMCS_MATERIAL = 0,
- D3DMCS_COLOR1 = 1,
- D3DMCS_COLOR2 = 2,
- D3DMCS_FORCE_DWORD = 0x7fffffff
-} D3DMATERIALCOLORSOURCE;
-
-#define D3DRENDERSTATE_BLENDENABLE D3DRENDERSTATE_ALPHABLENDENABLE
-#define D3DRENDERSTATE_WRAPBIAS 128UL
-#define D3DWRAP_U 0x00000001L
-#define D3DWRAP_V 0x00000002L
-
-#define D3DWRAPCOORD_0 0x00000001L
-#define D3DWRAPCOORD_1 0x00000002L
-#define D3DWRAPCOORD_2 0x00000004L
-#define D3DWRAPCOORD_3 0x00000008L
-
-#define D3DRENDERSTATE_STIPPLEPATTERN(y) (D3DRENDERSTATE_STIPPLEPATTERN00 + (y))
-
-typedef struct _D3DSTATE {
- union {
- D3DTRANSFORMSTATETYPE dtstTransformStateType;
- D3DLIGHTSTATETYPE dlstLightStateType;
- D3DRENDERSTATETYPE drstRenderStateType;
- } DUMMYUNIONNAME1;
- union {
- DWORD dwArg[1];
- D3DVALUE dvArg[1];
- } DUMMYUNIONNAME2;
-} D3DSTATE, *LPD3DSTATE;
-
-typedef struct _D3DMATRIXLOAD {
- D3DMATRIXHANDLE hDestMatrix;
- D3DMATRIXHANDLE hSrcMatrix;
-} D3DMATRIXLOAD, *LPD3DMATRIXLOAD;
-
-typedef struct _D3DMATRIXMULTIPLY {
- D3DMATRIXHANDLE hDestMatrix;
- D3DMATRIXHANDLE hSrcMatrix1;
- D3DMATRIXHANDLE hSrcMatrix2;
-} D3DMATRIXMULTIPLY, *LPD3DMATRIXMULTIPLY;
-
-typedef struct _D3DPROCESSVERTICES {
- DWORD dwFlags;
- WORD wStart;
- WORD wDest;
- DWORD dwCount;
- DWORD dwReserved;
-} D3DPROCESSVERTICES, *LPD3DPROCESSVERTICES;
-
-#define D3DPROCESSVERTICES_TRANSFORMLIGHT 0x00000000L
-#define D3DPROCESSVERTICES_TRANSFORM 0x00000001L
-#define D3DPROCESSVERTICES_COPY 0x00000002L
-#define D3DPROCESSVERTICES_OPMASK 0x00000007L
-
-#define D3DPROCESSVERTICES_UPDATEEXTENTS 0x00000008L
-#define D3DPROCESSVERTICES_NOCOLOR 0x00000010L
-
-typedef enum _D3DTEXTURESTAGESTATETYPE
-{
- D3DTSS_COLOROP = 1,
- D3DTSS_COLORARG1 = 2,
- D3DTSS_COLORARG2 = 3,
- D3DTSS_ALPHAOP = 4,
- D3DTSS_ALPHAARG1 = 5,
- D3DTSS_ALPHAARG2 = 6,
- D3DTSS_BUMPENVMAT00 = 7,
- D3DTSS_BUMPENVMAT01 = 8,
- D3DTSS_BUMPENVMAT10 = 9,
- D3DTSS_BUMPENVMAT11 = 10,
- D3DTSS_TEXCOORDINDEX = 11,
- D3DTSS_ADDRESS = 12,
- D3DTSS_ADDRESSU = 13,
- D3DTSS_ADDRESSV = 14,
- D3DTSS_BORDERCOLOR = 15,
- D3DTSS_MAGFILTER = 16,
- D3DTSS_MINFILTER = 17,
- D3DTSS_MIPFILTER = 18,
- D3DTSS_MIPMAPLODBIAS = 19,
- D3DTSS_MAXMIPLEVEL = 20,
- D3DTSS_MAXANISOTROPY = 21,
- D3DTSS_BUMPENVLSCALE = 22,
- D3DTSS_BUMPENVLOFFSET = 23,
- D3DTSS_TEXTURETRANSFORMFLAGS = 24,
- D3DTSS_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURESTAGESTATETYPE;
-
-#define D3DTSS_TCI_PASSTHRU 0x00000000
-#define D3DTSS_TCI_CAMERASPACENORMAL 0x00010000
-#define D3DTSS_TCI_CAMERASPACEPOSITION 0x00020000
-#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x00030000
-
-typedef enum _D3DTEXTUREOP
-{
- D3DTOP_DISABLE = 1,
- D3DTOP_SELECTARG1 = 2,
- D3DTOP_SELECTARG2 = 3,
-
- D3DTOP_MODULATE = 4,
- D3DTOP_MODULATE2X = 5,
- D3DTOP_MODULATE4X = 6,
-
- D3DTOP_ADD = 7,
- D3DTOP_ADDSIGNED = 8,
- D3DTOP_ADDSIGNED2X = 9,
- D3DTOP_SUBTRACT = 10,
- D3DTOP_ADDSMOOTH = 11,
-
- D3DTOP_BLENDDIFFUSEALPHA = 12,
- D3DTOP_BLENDTEXTUREALPHA = 13,
- D3DTOP_BLENDFACTORALPHA = 14,
- D3DTOP_BLENDTEXTUREALPHAPM = 15,
- D3DTOP_BLENDCURRENTALPHA = 16,
-
- D3DTOP_PREMODULATE = 17,
- D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
- D3DTOP_MODULATECOLOR_ADDALPHA = 19,
- D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
- D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
-
- D3DTOP_BUMPENVMAP = 22,
- D3DTOP_BUMPENVMAPLUMINANCE = 23,
- D3DTOP_DOTPRODUCT3 = 24,
-
- D3DTOP_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREOP;
-
-#define D3DTA_SELECTMASK 0x0000000f
-#define D3DTA_DIFFUSE 0x00000000
-#define D3DTA_CURRENT 0x00000001
-#define D3DTA_TEXTURE 0x00000002
-#define D3DTA_TFACTOR 0x00000003
-#define D3DTA_SPECULAR 0x00000004
-#define D3DTA_COMPLEMENT 0x00000010
-#define D3DTA_ALPHAREPLICATE 0x00000020
-
-typedef enum _D3DTEXTUREMAGFILTER
-{
- D3DTFG_POINT = 1,
- D3DTFG_LINEAR = 2,
- D3DTFG_FLATCUBIC = 3,
- D3DTFG_GAUSSIANCUBIC = 4,
- D3DTFG_ANISOTROPIC = 5,
- D3DTFG_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREMAGFILTER;
-
-typedef enum _D3DTEXTUREMINFILTER
-{
- D3DTFN_POINT = 1,
- D3DTFN_LINEAR = 2,
- D3DTFN_ANISOTROPIC = 3,
- D3DTFN_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREMINFILTER;
-
-typedef enum _D3DTEXTUREMIPFILTER
-{
- D3DTFP_NONE = 1,
- D3DTFP_POINT = 2,
- D3DTFP_LINEAR = 3,
- D3DTFP_FORCE_DWORD = 0x7fffffff
-} D3DTEXTUREMIPFILTER;
-
-#define D3DTRIFLAG_START 0x00000000L
-#define D3DTRIFLAG_STARTFLAT(len) (len)
-#define D3DTRIFLAG_ODD 0x0000001eL
-#define D3DTRIFLAG_EVEN 0x0000001fL
-
-#define D3DTRIFLAG_EDGEENABLE1 0x00000100L
-#define D3DTRIFLAG_EDGEENABLE2 0x00000200L
-#define D3DTRIFLAG_EDGEENABLE3 0x00000400L
-#define D3DTRIFLAG_EDGEENABLETRIANGLE \
- (D3DTRIFLAG_EDGEENABLE1 | D3DTRIFLAG_EDGEENABLE2 | D3DTRIFLAG_EDGEENABLE3)
-
-typedef struct _D3DTRIANGLE {
- union {
- WORD v1;
- WORD wV1;
- } DUMMYUNIONNAME1;
- union {
- WORD v2;
- WORD wV2;
- } DUMMYUNIONNAME2;
- union {
- WORD v3;
- WORD wV3;
- } DUMMYUNIONNAME3;
- WORD wFlags;
-} D3DTRIANGLE, *LPD3DTRIANGLE;
-
-typedef struct _D3DLINE {
- union {
- WORD v1;
- WORD wV1;
- } DUMMYUNIONNAME1;
- union {
- WORD v2;
- WORD wV2;
- } DUMMYUNIONNAME2;
-} D3DLINE, *LPD3DLINE;
-
-typedef struct _D3DSPAN {
- WORD wCount;
- WORD wFirst;
-} D3DSPAN, *LPD3DSPAN;
-
-typedef struct _D3DPOINT {
- WORD wCount;
- WORD wFirst;
-} D3DPOINT, *LPD3DPOINT;
-
-typedef struct _D3DBRANCH {
- DWORD dwMask;
- DWORD dwValue;
- BOOL bNegate;
- DWORD dwOffset;
-} D3DBRANCH, *LPD3DBRANCH;
-
-typedef struct _D3DSTATUS {
- DWORD dwFlags;
- DWORD dwStatus;
- D3DRECT drExtent;
-} D3DSTATUS, *LPD3DSTATUS;
-
-#define D3DSETSTATUS_STATUS 0x00000001L
-#define D3DSETSTATUS_EXTENTS 0x00000002L
-#define D3DSETSTATUS_ALL (D3DSETSTATUS_STATUS | D3DSETSTATUS_EXTENTS)
-
-typedef struct _D3DCLIPSTATUS {
- DWORD dwFlags;
- DWORD dwStatus;
- float minx, maxx;
- float miny, maxy;
- float minz, maxz;
-} D3DCLIPSTATUS, *LPD3DCLIPSTATUS;
-
-#define D3DCLIPSTATUS_STATUS 0x00000001L
-#define D3DCLIPSTATUS_EXTENTS2 0x00000002L
-#define D3DCLIPSTATUS_EXTENTS3 0x00000004L
-
-typedef struct {
- DWORD dwSize;
- DWORD dwTrianglesDrawn;
- DWORD dwLinesDrawn;
- DWORD dwPointsDrawn;
- DWORD dwSpansDrawn;
- DWORD dwVerticesProcessed;
-} D3DSTATS, *LPD3DSTATS;
-
-#define D3DEXECUTE_CLIPPED 0x00000001l
-#define D3DEXECUTE_UNCLIPPED 0x00000002l
-
-typedef struct _D3DEXECUTEDATA {
- DWORD dwSize;
- DWORD dwVertexOffset;
- DWORD dwVertexCount;
- DWORD dwInstructionOffset;
- DWORD dwInstructionLength;
- DWORD dwHVertexOffset;
- D3DSTATUS dsStatus;
-} D3DEXECUTEDATA, *LPD3DEXECUTEDATA;
-
-#define D3DPAL_FREE 0x00
-#define D3DPAL_READONLY 0x40
-#define D3DPAL_RESERVED 0x80
-
-typedef struct _D3DVERTEXBUFFERDESC {
- DWORD dwSize;
- DWORD dwCaps;
- DWORD dwFVF;
- DWORD dwNumVertices;
-} D3DVERTEXBUFFERDESC, *LPD3DVERTEXBUFFERDESC;
-
-#define D3DVBCAPS_SYSTEMMEMORY 0x00000800l
-#define D3DVBCAPS_WRITEONLY 0x00010000l
-#define D3DVBCAPS_OPTIMIZED 0x80000000l
-#define D3DVBCAPS_DONOTCLIP 0x00000001l
-
-#define D3DVOP_LIGHT (1 << 10)
-#define D3DVOP_TRANSFORM (1 << 0)
-#define D3DVOP_CLIP (1 << 2)
-#define D3DVOP_EXTENTS (1 << 3)
-
-#define D3DMAXNUMVERTICES ((1<<16) - 1)
-
-#define D3DMAXNUMPRIMITIVES ((1<<16) - 1)
-
-#define D3DPV_DONOTCOPYDATA (1 << 0)
-
-#define D3DFVF_RESERVED0 0x001
-#define D3DFVF_POSITION_MASK 0x00E
-#define D3DFVF_XYZ 0x002
-#define D3DFVF_XYZRHW 0x004
-#define D3DFVF_XYZB1 0x006
-#define D3DFVF_XYZB2 0x008
-#define D3DFVF_XYZB3 0x00a
-#define D3DFVF_XYZB4 0x00c
-#define D3DFVF_XYZB5 0x00e
-
-#define D3DFVF_NORMAL 0x010
-#define D3DFVF_RESERVED1 0x020
-#define D3DFVF_DIFFUSE 0x040
-#define D3DFVF_SPECULAR 0x080
-#define D3DFVF_TEXCOUNT_MASK 0xf00
-#define D3DFVF_TEXCOUNT_SHIFT 8
-#define D3DFVF_TEX0 0x000
-#define D3DFVF_TEX1 0x100
-#define D3DFVF_TEX2 0x200
-#define D3DFVF_TEX3 0x300
-#define D3DFVF_TEX4 0x400
-#define D3DFVF_TEX5 0x500
-#define D3DFVF_TEX6 0x600
-#define D3DFVF_TEX7 0x700
-#define D3DFVF_TEX8 0x800
-
-#define D3DFVF_RESERVED2 0xf000
-
-#define D3DFVF_VERTEX ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1 )
-#define D3DFVF_LVERTEX ( D3DFVF_XYZ | D3DFVF_RESERVED1 | D3DFVF_DIFFUSE | \
- D3DFVF_SPECULAR | D3DFVF_TEX1 )
-#define D3DFVF_TLVERTEX ( D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | \
- D3DFVF_TEX1 )
-
-typedef struct _D3DDP_PTRSTRIDE {
- LPVOID lpvData;
- DWORD dwStride;
-} D3DDP_PTRSTRIDE;
-
-#define D3DDP_MAXTEXCOORD 8
-
-typedef struct _D3DDRAWPRIMITIVESTRIDEDDATA {
- D3DDP_PTRSTRIDE position;
- D3DDP_PTRSTRIDE normal;
- D3DDP_PTRSTRIDE diffuse;
- D3DDP_PTRSTRIDE specular;
- D3DDP_PTRSTRIDE textureCoords[D3DDP_MAXTEXCOORD];
-} D3DDRAWPRIMITIVESTRIDEDDATA ,*LPD3DDRAWPRIMITIVESTRIDEDDATA;
-
-#define D3DVIS_INSIDE_FRUSTUM 0
-#define D3DVIS_INTERSECT_FRUSTUM 1
-#define D3DVIS_OUTSIDE_FRUSTUM 2
-#define D3DVIS_INSIDE_LEFT 0
-#define D3DVIS_INTERSECT_LEFT (1 << 2)
-#define D3DVIS_OUTSIDE_LEFT (2 << 2)
-#define D3DVIS_INSIDE_RIGHT 0
-#define D3DVIS_INTERSECT_RIGHT (1 << 4)
-#define D3DVIS_OUTSIDE_RIGHT (2 << 4)
-#define D3DVIS_INSIDE_TOP 0
-#define D3DVIS_INTERSECT_TOP (1 << 6)
-#define D3DVIS_OUTSIDE_TOP (2 << 6)
-#define D3DVIS_INSIDE_BOTTOM 0
-#define D3DVIS_INTERSECT_BOTTOM (1 << 8)
-#define D3DVIS_OUTSIDE_BOTTOM (2 << 8)
-#define D3DVIS_INSIDE_NEAR 0
-#define D3DVIS_INTERSECT_NEAR (1 << 10)
-#define D3DVIS_OUTSIDE_NEAR (2 << 10)
-#define D3DVIS_INSIDE_FAR 0
-#define D3DVIS_INTERSECT_FAR (1 << 12)
-#define D3DVIS_OUTSIDE_FAR (2 << 12)
-
-#define D3DVIS_MASK_FRUSTUM (3 << 0)
-#define D3DVIS_MASK_LEFT (3 << 2)
-#define D3DVIS_MASK_RIGHT (3 << 4)
-#define D3DVIS_MASK_TOP (3 << 6)
-#define D3DVIS_MASK_BOTTOM (3 << 8)
-#define D3DVIS_MASK_NEAR (3 << 10)
-#define D3DVIS_MASK_FAR (3 << 12)
-
-#define D3DDEVINFOID_TEXTUREMANAGER 1
-#define D3DDEVINFOID_D3DTEXTUREMANAGER 2
-#define D3DDEVINFOID_TEXTURING 3
-
-typedef enum _D3DSTATEBLOCKTYPE
-{
- D3DSBT_ALL = 1,
- D3DSBT_PIXELSTATE = 2,
- D3DSBT_VERTEXSTATE = 3,
- D3DSBT_FORCE_DWORD = 0xffffffff
-} D3DSTATEBLOCKTYPE;
-
-typedef enum _D3DVERTEXBLENDFLAGS
-{
- D3DVBLEND_DISABLE = 0,
- D3DVBLEND_1WEIGHT = 1,
- D3DVBLEND_2WEIGHTS = 2,
- D3DVBLEND_3WEIGHTS = 3,
-} D3DVERTEXBLENDFLAGS;
-
-typedef enum _D3DTEXTURETRANSFORMFLAGS {
- D3DTTFF_DISABLE = 0,
- D3DTTFF_COUNT1 = 1,
- D3DTTFF_COUNT2 = 2,
- D3DTTFF_COUNT3 = 3,
- D3DTTFF_COUNT4 = 4,
- D3DTTFF_PROJECTED = 256,
- D3DTTFF_FORCE_DWORD = 0x7fffffff
-} D3DTEXTURETRANSFORMFLAGS;
-
-#define D3DFVF_TEXTUREFORMAT2 0
-#define D3DFVF_TEXTUREFORMAT1 3
-#define D3DFVF_TEXTUREFORMAT3 1
-#define D3DFVF_TEXTUREFORMAT4 2
-
-#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2)
-#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
-#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2000 Ove Kaaven
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_D3DVEC_INL
-#define __WINE_D3DVEC_INL
-
-/*** constructors ***/
-
-inline _D3DVECTOR::_D3DVECTOR(D3DVALUE f)
-{
- x = y = z = f;
-}
-
-inline _D3DVECTOR::_D3DVECTOR(D3DVALUE _x, D3DVALUE _y, D3DVALUE _z)
-{
- x = _x; y = _y; z = _z;
-}
-
-/*** assignment operators ***/
-
-inline _D3DVECTOR& _D3DVECTOR::operator += (const _D3DVECTOR& v)
-{
- x += v.x; y += v.y; z += v.z;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator -= (const _D3DVECTOR& v)
-{
- x -= v.x; y -= v.y; z -= v.z;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator *= (const _D3DVECTOR& v)
-{
- x *= v.x; y *= v.y; z *= v.z;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator /= (const _D3DVECTOR& v)
-{
- x /= v.x; y /= v.y; z /= v.z;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator *= (D3DVALUE s)
-{
- x *= s; y *= s; z *= s;
- return *this;
-}
-
-inline _D3DVECTOR& _D3DVECTOR::operator /= (D3DVALUE s)
-{
- x /= s; y /= s; z /= s;
- return *this;
-}
-
-/*** unary operators ***/
-
-inline _D3DVECTOR operator + (const _D3DVECTOR& v)
-{
- return v;
-}
-
-inline _D3DVECTOR operator - (const _D3DVECTOR& v)
-{
- return _D3DVECTOR(-v.x, -v.y, -v.z);
-}
-
-/*** binary operators ***/
-
-inline _D3DVECTOR operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
-{
- return _D3DVECTOR(v1.x+v2.x, v1.y+v2.y, v1.z+v2.z);
-}
-
-inline _D3DVECTOR operator - (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
-{
- return _D3DVECTOR(v1.x-v2.x, v1.y-v2.y, v1.z-v2.z);
-}
-
-inline _D3DVECTOR operator * (const _D3DVECTOR& v, D3DVALUE s)
-{
- return _D3DVECTOR(v.x*s, v.y*s, v.z*s);
-}
-
-inline _D3DVECTOR operator * (D3DVALUE s, const _D3DVECTOR& v)
-{
- return _D3DVECTOR(v.x*s, v.y*s, v.z*s);
-}
-
-inline _D3DVECTOR operator / (const _D3DVECTOR& v, D3DVALUE s)
-{
- return _D3DVECTOR(v.x/s, v.y/s, v.z/s);
-}
-
-inline D3DVALUE SquareMagnitude(const _D3DVECTOR& v)
-{
- return v.x*v.x + v.y*v.y + v.z*v.z; /* DotProduct(v, v) */
-}
-
-inline D3DVALUE Magnitude(const _D3DVECTOR& v)
-{
- return sqrt(SquareMagnitude(v));
-}
-
-inline _D3DVECTOR Normalize(const _D3DVECTOR& v)
-{
- return v / Magnitude(v);
-}
-
-inline D3DVALUE DotProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2)
-{
- return v1.x*v2.x + v1.y*v2.y + v1.z*v2.z;
-}
-
-inline _D3DVECTOR CrossProduct(const _D3DVECTOR& v1, const _D3DVECTOR& v2)
-{
- _D3DVECTOR res;
- /* this is a left-handed cross product, right? */
- res.x = v1.y * v2.z - v1.z * v2.y;
- res.y = v1.z * v2.x - v1.x * v2.z;
- res.z = v1.x * v2.y - v1.y * v2.x;
- return res;
-}
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2007 David Adam
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DX9_H__
-#define __D3DX9_H__
-
-#include <limits.h>
-
-#define D3DX_DEFAULT ((UINT)-1)
-#define D3DX_DEFAULT_NONPOW2 ((UINT)-2)
-#define D3DX_DEFAULT_FLOAT FLT_MAX
-#define D3DX_FROM_FILE ((UINT)-3)
-#define D3DFMT_FROM_FILE ((D3DFORMAT)-3)
-
-#include "d3d9.h"
-#include "d3dx9math.h"
-#include "d3dx9core.h"
-#include "d3dx9mesh.h"
-#include "d3dx9shader.h"
-#include "d3dx9effect.h"
-#include "d3dx9shape.h"
-#include "d3dx9tex.h"
-
-#define _FACDD 0x876
-#define MAKE_DDHRESULT(code) MAKE_HRESULT(1, _FACDD, code)
-
-enum _D3DXERR {
- D3DXERR_CANNOTMODIFYINDEXBUFFER = MAKE_DDHRESULT(2900),
- D3DXERR_INVALIDMESH = MAKE_DDHRESULT(2901),
- D3DXERR_CANNOTATTRSORT = MAKE_DDHRESULT(2902),
- D3DXERR_SKINNINGNOTSUPPORTED = MAKE_DDHRESULT(2903),
- D3DXERR_TOOMANYINFLUENCES = MAKE_DDHRESULT(2904),
- D3DXERR_INVALIDDATA = MAKE_DDHRESULT(2905),
- D3DXERR_LOADEDMESHASNODATA = MAKE_DDHRESULT(2906),
- D3DXERR_DUPLICATENAMEDFRAGMENT = MAKE_DDHRESULT(2907),
- D3DXERR_CANNOTREMOVELASTITEM = MAKE_DDHRESULT(2908),
-};
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2007, 2008 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <_mingw_dxhelper.h>
-#include <d3dx9.h>
-
-#ifndef __WINE_D3DX9CORE_H
-#define __WINE_D3DX9CORE_H
-
-/**********************************************
- ***************** Definitions ****************
- **********************************************/
-/* D3DX_VERSION will be completely ignored since we are
- implementing all dlls from d3dx9_24 to d3dx9_36 */
-#define D3DX_VERSION 0x0902
-#define D3DX_SDK_VERSION 36
-#define D3DXSPRITE_DONOTSAVESTATE 1
-#define D3DXSPRITE_DONOTMODIFY_RENDERSTATE 2
-#define D3DXSPRITE_OBJECTSPACE 4
-#define D3DXSPRITE_BILLBOARD 8
-#define D3DXSPRITE_ALPHABLEND 16
-#define D3DXSPRITE_SORT_TEXTURE 32
-#define D3DXSPRITE_SORT_DEPTH_FRONTTOBACK 64
-#define D3DXSPRITE_SORT_DEPTH_BACKTOFRONT 128
-#define D3DXSPRITE_DO_NOT_ADDREF_TEXTURE 256
-
-/**********************************************
- ******************** GUIDs *******************
- **********************************************/
-DEFINE_GUID(IID_ID3DXBuffer, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);
-DEFINE_GUID(IID_ID3DXFont, 0xd79dbb70, 0x5f21, 0x4d36, 0xbb, 0xc2, 0xff, 0x52, 0x5c, 0x21, 0x3c, 0xdc);
-DEFINE_GUID(IID_ID3DXLine, 0xd379ba7f, 0x9042, 0x4ac4, 0x9f, 0x5e, 0x58, 0x19, 0x2a, 0x4c, 0x6b, 0xd8);
-DEFINE_GUID(IID_ID3DXRenderToEnvMap, 0x313f1b4b, 0xc7b0, 0x4fa2, 0x9d, 0x9d, 0x8d, 0x38, 0xb, 0x64, 0x38, 0x5e);
-DEFINE_GUID(IID_ID3DXRenderToSurface, 0x6985f346, 0x2c3d, 0x43b3, 0xbe, 0x8b, 0xda, 0xae, 0x8a, 0x3, 0xd8, 0x94);
-DEFINE_GUID(IID_ID3DXSprite, 0xba0b762d, 0x7d28, 0x43ec, 0xb9, 0xdc, 0x2f, 0x84, 0x44, 0x3b, 0x6, 0x14);
-
-/**********************************************
- ****************** typedefs ******************
- **********************************************/
-typedef struct ID3DXBuffer *LPD3DXBUFFER;
-typedef struct ID3DXFont *LPD3DXFONT;
-typedef struct ID3DXLine *LPD3DXLINE;
-typedef struct ID3DXRenderToEnvMap *LPD3DXRenderToEnvMap;
-typedef struct ID3DXRenderToSurface *LPD3DXRENDERTOSURFACE;
-typedef struct ID3DXSprite *LPD3DXSPRITE;
-
-/**********************************************
- *********** interface declarations ***********
- **********************************************/
-#define INTERFACE ID3DXBuffer
-DECLARE_INTERFACE_(ID3DXBuffer, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBuffer methods ***/
- STDMETHOD_(LPVOID, GetBufferPointer)(THIS) PURE;
- STDMETHOD_(DWORD, GetBufferSize)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXBuffer methods ***/
-#define ID3DXBuffer_GetBufferPointer(p) (p)->lpVtbl->GetBufferPointer(p)
-#define ID3DXBuffer_GetBufferSize(p) (p)->lpVtbl->GetBufferSize(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXBuffer_AddRef(p) (p)->AddRef()
-#define ID3DXBuffer_Release(p) (p)->Release()
-/*** ID3DXBuffer methods ***/
-#define ID3DXBuffer_GetBufferPointer(p) (p)->GetBufferPointer()
-#define ID3DXBuffer_GetBufferSize(p) (p)->GetBufferSize()
-#endif
-
-typedef struct _D3DXFONT_DESCA
-{
- INT Height;
- UINT Width;
- UINT Weight;
- UINT MipLevels;
- BOOL Italic;
- BYTE CharSet;
- BYTE OutputPrecision;
- BYTE Quality;
- BYTE PitchAndFamily;
- CHAR FaceName[LF_FACESIZE];
-} D3DXFONT_DESCA, *LPD3DXFONT_DESCA;
-
-typedef struct _D3DXFONT_DESCW
-{
- INT Height;
- UINT Width;
- UINT Weight;
- UINT MipLevels;
- BOOL Italic;
- BYTE CharSet;
- BYTE OutputPrecision;
- BYTE Quality;
- BYTE PitchAndFamily;
- WCHAR FaceName[LF_FACESIZE];
-} D3DXFONT_DESCW, *LPD3DXFONT_DESCW;
-
-DECL_WINELIB_TYPE_AW(D3DXFONT_DESC)
-DECL_WINELIB_TYPE_AW(LPD3DXFONT_DESC)
-
-#define INTERFACE ID3DXFont
-DECLARE_INTERFACE_(ID3DXFont, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXFont methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
- STDMETHOD(GetDescA)(THIS_ D3DXFONT_DESCA *desc) PURE;
- STDMETHOD(GetDescW)(THIS_ D3DXFONT_DESCW *desc) PURE;
- STDMETHOD_(BOOL, GetTextMetricsA)(THIS_ TEXTMETRICA *metrics) PURE;
- STDMETHOD_(BOOL, GetTextMetricsW)(THIS_ TEXTMETRICW *metrics) PURE;
-
- STDMETHOD_(HDC, GetDC)(THIS) PURE;
- STDMETHOD(GetGlyphData)(THIS_ UINT glyph, LPDIRECT3DTEXTURE9 *texture, RECT *blackbox, POINT *cellinc) PURE;
-
- STDMETHOD(PreloadCharacters)(THIS_ UINT first, UINT last) PURE;
- STDMETHOD(PreloadGlyphs)(THIS_ UINT first, UINT last) PURE;
- STDMETHOD(PreloadTextA)(THIS_ LPCSTR string, INT count) PURE;
- STDMETHOD(PreloadTextW)(THIS_ LPCWSTR string, INT count) PURE;
-
- STDMETHOD_(INT, DrawTextA)(THIS_ LPD3DXSPRITE sprite, LPCSTR string, INT count, LPRECT rect, DWORD format, D3DCOLOR color) PURE;
- STDMETHOD_(INT, DrawTextW)(THIS_ LPD3DXSPRITE sprite, LPCWSTR string, INT count, LPRECT rect, DWORD format, D3DCOLOR color) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-
-/*** IUnknown methods ***/
-#define ID3DXFont_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXFont_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXFont_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXFont methods ***/
-#define ID3DXFont_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXFont_GetDescA(p,a) (p)->lpVtbl->GetDescA(p,a)
-#define ID3DXFont_GetDescW(p,a) (p)->lpVtbl->GetDescW(p,a)
-#define ID3DXFont_GetTextMetricsA(p,a) (p)->lpVtbl->GetTextMetricsA(p,a)
-#define ID3DXFont_GetTextMetricsW(p,a) (p)->lpVtbl->GetTextMetricsW(p,a)
-#define ID3DXFont_GetDC(p) (p)->lpVtbl->GetDC(p)
-#define ID3DXFont_GetGlyphData(p,a,b,c,d) (p)->lpVtbl->GetGlyphData(p,a,b,c,d)
-#define ID3DXFont_PreloadCharacters(p,a,b) (p)->lpVtbl->PreloadCharacters(p,a,b)
-#define ID3DXFont_PreloadGlyphs(p,a,b) (p)->lpVtbl->PreloadGlyphs(p,a,b)
-#define ID3DXFont_PreloadTextA(p,a,b) (p)->lpVtbl->PreloadTextA(p,a,b)
-#define ID3DXFont_PreloadTextW(p,a,b) (p)->lpVtbl->PreloadTextW(p,a,b)
-#define ID3DXFont_DrawTextA(p,a,b,c,d,e,f) (p)->lpVtbl->DrawTextA(p,a,b,c,d,e,f)
-#define ID3DXFont_DrawTextW(p,a,b,c,d,e,f) (p)->lpVtbl->DrawTextW(p,a,b,c,d,e,f)
-#define ID3DXFont_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXFont_OnResetDevice(p) (p)->lpVtbl->OnResetDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXFont_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXFont_AddRef(p) (p)->AddRef()
-#define ID3DXFont_Release(p) (p)->Release()
-/*** ID3DXFont methods ***/
-#define ID3DXFont_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXFont_GetDescA(p,a) (p)->GetDescA(a)
-#define ID3DXFont_GetDescW(p,a) (p)->GetDescW(a)
-#define ID3DXFont_GetTextMetricsA(p,a) (p)->GetTextMetricsA(a)
-#define ID3DXFont_GetTextMetricsW(p,a) (p)->GetTextMetricsW(a)
-#define ID3DXFont_GetDC(p) (p)->GetDC()
-#define ID3DXFont_GetGlyphData(p,a,b,c,d) (p)->GetGlyphData(a,b,c,d)
-#define ID3DXFont_PreloadCharacters(p,a,b) (p)->PreloadCharacters(a,b)
-#define ID3DXFont_PreloadGlyphs(p,a,b) (p)->PreloadGlyphs(a,b)
-#define ID3DXFont_PreloadTextA(p,a,b) (p)->PreloadTextA(a,b)
-#define ID3DXFont_PreloadTextW(p,a,b) (p)->PreloadTextW(a,b)
-#define ID3DXFont_DrawTextA(p,a,b,c,d,e,f) (p)->DrawTextA(a,b,c,d,e,f)
-#define ID3DXFont_DrawTextW(p,a,b,c,d,e,f) (p)->DrawTextW(a,b,c,d,e,f)
-#define ID3DXFont_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXFont_OnResetDevice(p) (p)->OnResetDevice()
-#endif
-#define ID3DXFont_DrawText WINELIB_NAME_AW(ID3DXFont_DrawText)
-#define ID3DXFont_GetDesc WINELIB_NAME_AW(ID3DXFont_GetDesc)
-#define ID3DXFont_GetTextMetrics WINELIB_NAME_AW(ID3DXFont_GetTextMetrics)
-#define ID3DXFont_PreloadText WINELIB_NAME_AW(ID3DXFont_PreloadText)
-
-#define INTERFACE ID3DXLine
-DECLARE_INTERFACE_(ID3DXLine, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
-
- /*** ID3DXLine methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
-
- STDMETHOD(Begin)(THIS) PURE;
- STDMETHOD(Draw)(THIS_ CONST D3DXVECTOR2 *vertexlist, DWORD vertexlistcount, D3DCOLOR color) PURE;
- STDMETHOD(DrawTransform)(THIS_ CONST D3DXVECTOR3 *vertexlist, DWORD vertexlistcount,
- CONST D3DXMATRIX *transform, D3DCOLOR color) PURE;
- STDMETHOD(SetPattern)(THIS_ DWORD pattern) PURE;
- STDMETHOD_(DWORD, GetPattern)(THIS) PURE;
- STDMETHOD(SetPatternScale)(THIS_ FLOAT scale) PURE;
- STDMETHOD_(FLOAT, GetPatternScale)(THIS) PURE;
- STDMETHOD(SetWidth)(THIS_ FLOAT width) PURE;
- STDMETHOD_(FLOAT, GetWidth)(THIS) PURE;
- STDMETHOD(SetAntialias)(THIS_ BOOL antialias) PURE;
- STDMETHOD_(BOOL, GetAntialias)(THIS) PURE;
- STDMETHOD(SetGLLines)(THIS_ BOOL gl_lines) PURE;
- STDMETHOD_(BOOL, GetGLLines)(THIS) PURE;
- STDMETHOD(End)(THIS) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXLine_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXLine_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXLine_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXLine methods ***/
-#define ID3DXLine_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXLine_Begin(p) (p)->lpVtbl->Begin(p)
-#define ID3DXLine_Draw(p,a,b,c) (p)->lpVtbl->Draw(p,a,b,c)
-#define ID3DXLine_DrawTransform(p,a,b,c,d) (p)->lpVtbl->DrawTransform(p,a,b,c,d)
-#define ID3DXLine_SetPattern(p,a) (p)->lpVtbl->SetPattern(p,a)
-#define ID3DXLine_GetPattern(p) (p)->lpVtbl->GetPattern(p)
-#define ID3DXLine_SetPatternScale(p,a) (p)->lpVtbl->SetPatternScale(p,a)
-#define ID3DXLine_GetPatternScale(p) (p)->lpVtbl->GetPatternScale(p)
-#define ID3DXLine_SetWidth(p,a) (p)->lpVtbl->SetWidth(p,a)
-#define ID3DXLine_GetWidth(p) (p)->lpVtbl->GetWidth(p)
-#define ID3DXLine_SetAntialias(p,a) (p)->lpVtbl->SetAntialias(p,a)
-#define ID3DXLine_GetAntialias(p) (p)->lpVtbl->GetAntialias(p)
-#define ID3DXLine_SetGLLines(p,a) (p)->lpVtbl->SetGLLines(p,a)
-#define ID3DXLine_GetGLLines(p) (p)->lpVtbl->GetGLLines(p)
-#define ID3DXLine_End(p) (p)->lpVtbl->End(p)
-#define ID3DXLine_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXLine_OnResetDevice(p) (p)->lpVtbl->OnResetDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXLine_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXLine_AddRef(p) (p)->AddRef()
-#define ID3DXLine_Release(p) (p)->Release()
-/*** ID3DXLine methods ***/
-#define ID3DXLine_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXLine_Begin(p) (p)->Begin()
-#define ID3DXLine_Draw(p,a,b,c) (p)->Draw(a,b,c)
-#define ID3DXLine_DrawTransform(p,a,b,c,d) (p)->DrawTransform(a,b,c,d)
-#define ID3DXLine_SetPattern(p,a) (p)->SetPattern(a)
-#define ID3DXLine_GetPattern(p) (p)->GetPattern()
-#define ID3DXLine_SetPatternScale(p,a) (p)->SetPatternScale(a)
-#define ID3DXLine_GetPatternScale(p) (p)->GetPatternScale()
-#define ID3DXLine_SetWidth(p,a) (p)->SetWidth(a)
-#define ID3DXLine_GetWidth(p) (p)->GetWidth()
-#define ID3DXLine_SetAntialias(p,a) (p)->SetAntialias(a)
-#define ID3DXLine_GetAntialias(p) (p)->GetAntialias()
-#define ID3DXLine_SetGLLines(p,a) (p)->SetGLLines(a)
-#define ID3DXLine_GetGLLines(p) (p)->GetGLLines()
-#define ID3DXLine_End(p) (p)->End()
-#define ID3DXLine_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXLine_OnResetDevice(p) (p)->OnResetDevice()
-#endif
-
-typedef struct _D3DXRTE_DESC
-{
- UINT Size;
- UINT MipLevels;
- D3DFORMAT Format;
- BOOL DepthStencil;
- D3DFORMAT DepthStencilFormat;
-} D3DXRTE_DESC;
-
-#define INTERFACE ID3DXRenderToEnvMap
-DECLARE_INTERFACE_(ID3DXRenderToEnvMap, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
-
- /*** ID3DXRenderToEnvMap methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DXRTE_DESC *desc) PURE;
-
- STDMETHOD(BeginCube)(THIS_ LPDIRECT3DCUBETEXTURE9 cubetex) PURE;
- STDMETHOD(BeginSphere)(THIS_ LPDIRECT3DTEXTURE9 tex) PURE;
- STDMETHOD(BeginHemisphere)(THIS_ LPDIRECT3DTEXTURE9 texzpos, LPDIRECT3DTEXTURE9 texzneg) PURE;
- STDMETHOD(BeginParabolic)(THIS_ LPDIRECT3DTEXTURE9 texzpos, LPDIRECT3DTEXTURE9 texzneg) PURE;
-
- STDMETHOD(Face)(THIS_ D3DCUBEMAP_FACES face, DWORD mipfilter) PURE;
- STDMETHOD(End)(THIS_ DWORD mipfilter) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXRenderToEnvMap_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXRenderToEnvMap_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXRenderToEnvMap_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXRenderToEnvMap methods ***/
-#define ID3DXRenderToEnvMap_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXRenderToEnvMap_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define ID3DXRenderToEnvMap_BeginCube(p,a) (p)->lpVtbl->BeginCube(p,a)
-#define ID3DXRenderToEnvMap_BeginSphere(p,a) (p)->lpVtbl->BeginSphere(p,a)
-#define ID3DXRenderToEnvMap_BeginHemisphere(p,a,b) (p)->lpVtbl->BeginHemisphere(p,a,b)
-#define ID3DXRenderToEnvMap_BeginParabolic(p,a,b) (p)->lpVtbl->BeginParabolic(p,a,b)
-#define ID3DXRenderToEnvMap_Face(p,a,b) (p)->lpVtbl->Face(p,a,b)
-#define ID3DXRenderToEnvMap_End(p,a) (p)->lpVtbl->End(p,a)
-#define ID3DXRenderToEnvMap_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXRenderToEnvMap_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXRenderToEnvMap_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXRenderToEnvMap_AddRef(p) (p)->AddRef()
-#define ID3DXRenderToEnvMap_Release(p) (p)->Release()
-/*** ID3DXRenderToEnvMap methods ***/
-#define ID3DXRenderToEnvMap_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXRenderToEnvMap_GetDesc(p,a) (p)->GetDesc(a)
-#define ID3DXRenderToEnvMap_BeginCube(p,a) (p)->BeginCube(a)
-#define ID3DXRenderToEnvMap_BeginSphere(p,a) (p)->BeginSphere(a)
-#define ID3DXRenderToEnvMap_BeginHemisphere(p,a,b) (p)->BeginHemisphere(a,b)
-#define ID3DXRenderToEnvMap_BeginParabolic(p,a,b) (p)->BeginParabolic(a,b)
-#define ID3DXRenderToEnvMap_Face(p,a,b) (p)->Face(a,b)
-#define ID3DXRenderToEnvMap_End(p,a) (p)->End(a)
-#define ID3DXRenderToEnvMap_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXRenderToEnvMap_OnLostDevice(p) (p)->OnLostDevice()
-#endif
-
-typedef struct _D3DXRTS_DESC
-{
- UINT Width;
- UINT Height;
- D3DFORMAT Format;
- BOOL DepthStencil;
- D3DFORMAT DepthStencilFormat;
-} D3DXRTS_DESC;
-
-#define INTERFACE ID3DXRenderToSurface
-DECLARE_INTERFACE_(ID3DXRenderToSurface, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXRenderToSurface methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DXRTS_DESC *desc) PURE;
-
- STDMETHOD(BeginScene)(THIS_ LPDIRECT3DSURFACE9 surface, CONST D3DVIEWPORT9 *viewport) PURE;
- STDMETHOD(EndScene)(THIS_ DWORD mipfilter) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXRenderToSurface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXRenderToSurface_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXRenderToSurface_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXRenderToSurface methods ***/
-#define ID3DXRenderToSurface_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXRenderToSurface_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define ID3DXRenderToSurface_BeginScene(p,a,b) (p)->lpVtbl->BeginScene(p,a,b)
-#define ID3DXRenderToSurface_EndScene(p,a) (p)->lpVtbl->EndScene(p,a)
-#define ID3DXRenderToSurface_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXRenderToSurface_OnResetDevice(p) (p)->lpVtbl->OnResetDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXRenderToSurface_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXRenderToSurface_AddRef(p) (p)->AddRef()
-#define ID3DXRenderToSurface_Release(p) (p)->Release()
-/*** ID3DXRenderToSurface methods ***/
-#define ID3DXRenderToSurface_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXRenderToSurface_GetDesc(p,a) (p)->GetDesc(a)
-#define ID3DXRenderToSurface_BeginScene(p,a,b) (p)->BeginScene(a,b)
-#define ID3DXRenderToSurface_EndScene(p,a) (p)->EndScene(a)
-#define ID3DXRenderToSurface_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXRenderToSurface_OnResetDevice(p) (p)->OnResetDevice()
-#endif
-
-#define INTERFACE ID3DXSprite
-DECLARE_INTERFACE_(ID3DXSprite, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXSprite methods ***/
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
-
- STDMETHOD(GetTransform)(THIS_ D3DXMATRIX *transform) PURE;
- STDMETHOD(SetTransform)(THIS_ CONST D3DXMATRIX *transform) PURE;
- STDMETHOD(SetWorldViewRH)(THIS_ CONST D3DXMATRIX *world, CONST D3DXMATRIX *view) PURE;
- STDMETHOD(SetWorldViewLH)(THIS_ CONST D3DXMATRIX *world, CONST D3DXMATRIX *view) PURE;
-
- STDMETHOD(Begin)(THIS_ DWORD flags) PURE;
- STDMETHOD(Draw)(THIS_ LPDIRECT3DTEXTURE9 texture, CONST RECT *rect, CONST D3DXVECTOR3 *center, CONST D3DXVECTOR3 *position, D3DCOLOR color) PURE;
- STDMETHOD(Flush)(THIS) PURE;
- STDMETHOD(End)(THIS) PURE;
-
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXSprite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXSprite_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXSprite_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXSprite methods ***/
-#define ID3DXSprite_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define ID3DXSprite_GetTransform(p,a) (p)->lpVtbl->GetTransform(p,a)
-#define ID3DXSprite_SetTransform(p,a) (p)->lpVtbl->SetTransform(p,a)
-#define ID3DXSprite_SetWorldViewRH(p,a,b) (p)->lpVtbl->SetWorldViewRH(p,a,b)
-#define ID3DXSprite_SetWorldViewLH(p,a,b) (p)->lpVtbl->SetWorldViewLH(p,a,b)
-#define ID3DXSprite_Begin(p,a) (p)->lpVtbl->Begin(p,a)
-#define ID3DXSprite_Draw(p,a,b,c,d,e) (p)->lpVtbl->Draw(p,a,b,c,d,e)
-#define ID3DXSprite_Flush(p) (p)->lpVtbl->Flush(p)
-#define ID3DXSprite_End(p) (p)->lpVtbl->End(p)
-#define ID3DXSprite_OnLostDevice(p) (p)->lpVtbl->OnLostDevice(p)
-#define ID3DXSprite_OnResetDevice(p) (p)->lpVtbl->OnResetDevice(p)
-#else
-/*** IUnknown methods ***/
-#define ID3DXSprite_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXSprite_AddRef(p) (p)->AddRef()
-#define ID3DXSprite_Release(p) (p)->Release()
-/*** ID3DXSprite methods ***/
-#define ID3DXSprite_GetDevice(p,a) (p)->GetDevice(a)
-#define ID3DXSprite_GetTransform(p,a) (p)->GetTransform(a)
-#define ID3DXSprite_SetTransform(p,a) (p)->SetTransform(a)
-#define ID3DXSprite_SetWorldViewRH(p,a,b) (p)->SetWorldViewRH(a,b)
-#define ID3DXSprite_SetWorldViewLH(p,a,b) (p)->SetWorldViewLH(a,b)
-#define ID3DXSprite_Begin(p,a) (p)->Begin(a)
-#define ID3DXSprite_Draw(p,a,b,c,d,e) (p)->Draw(a,b,c,d,e)
-#define ID3DXSprite_Flush(p) (p)->Flush()
-#define ID3DXSprite_End(p) (p)->End()
-#define ID3DXSprite_OnLostDevice(p) (p)->OnLostDevice()
-#define ID3DXSprite_OnResetDevice(p) (p)->OnResetDevice()
-#endif
-
-/**********************************************
- ****************** functions *****************
- **********************************************/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers);
-HRESULT WINAPI D3DXCreateFontA(LPDIRECT3DDEVICE9 device, INT height, UINT width, UINT weight, UINT miplevels, BOOL italic, DWORD charset,
- DWORD precision, DWORD quality, DWORD pitchandfamily, LPCSTR facename, LPD3DXFONT *font);
-HRESULT WINAPI D3DXCreateFontW(LPDIRECT3DDEVICE9 device, INT height, UINT width, UINT weight, UINT miplevels, BOOL italic, DWORD charset,
- DWORD precision, DWORD quality, DWORD pitchandfamily, LPCWSTR facename, LPD3DXFONT *font);
-#define D3DXCreateFont WINELIB_NAME_AW(D3DXCreateFont)
-HRESULT WINAPI D3DXCreateFontIndirectA(LPDIRECT3DDEVICE9 device, CONST D3DXFONT_DESCA *desc, LPD3DXFONT *font);
-HRESULT WINAPI D3DXCreateFontIndirectW(LPDIRECT3DDEVICE9 device, CONST D3DXFONT_DESCW *desc, LPD3DXFONT *font);
-#define D3DXCreateFontIndirect WINELIB_NAME_AW(D3DXCreateFontIndirect)
-HRESULT WINAPI D3DXCreateLine(LPDIRECT3DDEVICE9 device, LPD3DXLINE *line);
-HRESULT WINAPI D3DXCreateRenderToEnvMap(LPDIRECT3DDEVICE9 device, UINT size, UINT miplevels, D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXRenderToEnvMap *rtem);
-HRESULT WINAPI D3DXCreateRenderToSurface(LPDIRECT3DDEVICE9 device, UINT width, UINT height, D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXRENDERTOSURFACE *rts);
-HRESULT WINAPI D3DXCreateSprite(LPDIRECT3DDEVICE9 device, LPD3DXSPRITE *sprite);
-BOOL WINAPI D3DXDebugMute(BOOL mute);
-UINT WINAPI D3DXGetDriverLevel(LPDIRECT3DDEVICE9 device);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINE_D3DX9CORE_H */
+++ /dev/null
-/*
- * Copyright 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <d3dx9.h>
-
-#ifndef __D3DX9EFFECT_H__
-#define __D3DX9EFFECT_H__
-
-typedef struct _D3DXEFFECT_DESC {
- LPCSTR Creator;
- UINT Parameters;
- UINT Techniques;
- UINT Functions;
-} D3DXEFFECT_DESC;
-
-typedef struct _D3DXPARAMETER_DESC {
- LPCSTR Name;
- LPCSTR Semantic;
- D3DXPARAMETER_CLASS Class;
- D3DXPARAMETER_TYPE Type;
- UINT Rows;
- UINT Columns;
- UINT Elements;
- UINT Annotations;
- UINT StructMembers;
- DWORD Flags;
- UINT Bytes;
-} D3DXPARAMETER_DESC;
-
-typedef struct _D3DXTECHNIQUE_DESC {
- LPCSTR Name;
- UINT Passes;
- UINT Annotations;
-} D3DXTECHNIQUE_DESC;
-
-typedef struct _D3DXPASS_DESC {
- LPCSTR Name;
- UINT Annotations;
- CONST DWORD *pVertexShaderFunction;
- CONST DWORD *pPixelShaderFunction;
-} D3DXPASS_DESC;
-
-typedef struct _D3DXFUNCTION_DESC {
- LPCSTR Name;
- UINT Annotations;
-} D3DXFUNCTION_DESC;
-
-typedef struct ID3DXEffectPool *LPD3DXEFFECTPOOL;
-
-DEFINE_GUID(IID_ID3DXEffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
-
-#undef INTERFACE
-#define INTERFACE ID3DXEffectPool
-
-DECLARE_INTERFACE_(ID3DXEffectPool, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
-};
-
-typedef struct ID3DXBaseEffect *LPD3DXBASEEFFECT;
-
-DEFINE_GUID(IID_ID3DXBaseEffect, 0x17c18ac, 0x103f, 0x4417, 0x8c, 0x51, 0x6b, 0xf6, 0xef, 0x1e, 0x56, 0xbe);
-
-#undef INTERFACE
-#define INTERFACE ID3DXBaseEffect
-
-DECLARE_INTERFACE_(ID3DXBaseEffect, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseEffect methods ***/
- STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* desc) PURE;
- STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
- STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
- STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE pass, D3DXPASS_DESC* desc) PURE;
- STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE shader, D3DXFUNCTION_DESC* desc) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, LPCSTR semantic) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE technique, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
- STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR name);
- STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE object, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
- STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
- STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
- STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
- STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
- STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
- STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
- STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
- STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
- STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
- STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
- STDMETHOD(SetFloat)(THIS_ D3DXHANDLE parameter, FLOAT f) PURE;
- STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
- STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE parameter, CONST FLOAT* f, UINT count) PURE;
- STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
- STDMETHOD(SetVector)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector) PURE;
- STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
- STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, LPCSTR string) PURE;
- STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, LPCSTR* string) PURE;
- STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9 texture) PURE;
- STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9* texture) PURE;
- STDMETHOD(SetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9 pshader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9* pshader) PURE;
- STDMETHOD(SetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9 vshader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9* vshader) PURE;
- STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
-};
-
-typedef struct ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;
-
-DEFINE_GUID(IID_ID3DXEffectStateManager, 0x79aab587, 0x6dbc, 0x4fa7, 0x82, 0xde, 0x37, 0xfa, 0x17, 0x81, 0xc5, 0xce);
-
-#undef INTERFACE
-#define INTERFACE ID3DXEffectStateManager
-
-DECLARE_INTERFACE_(ID3DXEffectStateManager, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXEffectStateManager methods ***/
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, CONST D3DMATRIX* matrix) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* material) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD index, CONST D3DLIGHT9* light) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD index, BOOL enable) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE state, DWORD value) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD stage, LPDIRECT3DBASETEXTURE9 texture) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD stage, D3DTEXTURESTAGESTATETYPE type, DWORD value) PURE;
- STDMETHOD(SetSamplerState)(THIS_ DWORD sampler, D3DSAMPLERSTATETYPE type, DWORD value) PURE;
- STDMETHOD(SetNPatchMode)(THIS_ FLOAT num_segments) PURE;
- STDMETHOD(SetFVF)(THIS_ DWORD format) PURE;
- STDMETHOD(SetVertexShader)(THIS_ LPDIRECT3DVERTEXSHADER9 shader) PURE;
- STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT register_index, CONST FLOAT* constant_data, UINT register_count) PURE;
- STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT register_index, CONST INT* constant_data, UINT register_count) PURE;
- STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT register_index, CONST BOOL* constant_data, UINT register_count) PURE;
- STDMETHOD(SetPixelShader)(THIS_ LPDIRECT3DPIXELSHADER9 shader) PURE;
- STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT register_index, CONST FLOAT* constant_data, UINT register_count) PURE;
- STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT register_index, CONST INT * constant_data, UINT register_count) PURE;
- STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT register_index, CONST BOOL* constant_data, UINT register_count) PURE;
-};
-
-typedef struct ID3DXEffect *LPD3DXEFFECT;
-
-DEFINE_GUID(IID_ID3DXEffect, 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0xc, 0xd5);
-
-#undef INTERFACE
-#define INTERFACE ID3DXEffect
-
-DECLARE_INTERFACE_(ID3DXEffect, ID3DXBaseEffect)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseEffect methods ***/
- STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* desc) PURE;
- STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
- STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
- STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE pass, D3DXPASS_DESC* desc) PURE;
- STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE shader, D3DXFUNCTION_DESC* desc) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, LPCSTR semantic) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE technique, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
- STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR name);
- STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE object, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
- STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
- STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
- STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
- STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
- STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
- STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
- STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
- STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
- STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
- STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
- STDMETHOD(SetFloat)(THIS_ D3DXHANDLE parameter, FLOAT f) PURE;
- STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
- STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE parameter, CONST FLOAT* f, UINT count) PURE;
- STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
- STDMETHOD(SetVector)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector) PURE;
- STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
- STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, LPCSTR string) PURE;
- STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, LPCSTR* string) PURE;
- STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9 texture) PURE;
- STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9* texture) PURE;
- STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9* pshader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9* vshader) PURE;
- STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
- /*** ID3DXEffect methods ***/
- STDMETHOD(GetPool)(THIS_ LPD3DXEFFECTPOOL* pool) PURE;
- STDMETHOD(SetTechnique)(THIS_ D3DXHANDLE technique) PURE;
- STDMETHOD_(D3DXHANDLE, GetCurrentTechnique)(THIS) PURE;
- STDMETHOD(ValidateTechnique)(THIS_ D3DXHANDLE technique) PURE;
- STDMETHOD(FindNextValidTechnique)(THIS_ D3DXHANDLE technique, D3DXHANDLE* next_technique) PURE;
- STDMETHOD_(BOOL, IsParameterUsed)(THIS_ D3DXHANDLE parameter, D3DXHANDLE technique) PURE;
- STDMETHOD(Begin)(THIS_ UINT *passes, DWORD flags) PURE;
- STDMETHOD(BeginPass)(THIS_ UINT pass) PURE;
- STDMETHOD(CommitChanges)(THIS) PURE;
- STDMETHOD(EndPass)(THIS) PURE;
- STDMETHOD(End)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9* device) PURE;
- STDMETHOD(OnLostDevice)(THIS) PURE;
- STDMETHOD(OnResetDevice)(THIS) PURE;
- STDMETHOD(SetStateManager)(THIS_ LPD3DXEFFECTSTATEMANAGER manager) PURE;
- STDMETHOD(GetStateManager)(THIS_ LPD3DXEFFECTSTATEMANAGER* manager) PURE;
- STDMETHOD(BeginParameterBlock)(THIS) PURE;
- STDMETHOD_(D3DXHANDLE, EndParameterBlock)(THIS) PURE;
- STDMETHOD(ApplyParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
- STDMETHOD(DeleteParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
- STDMETHOD(CloneEffect)(THIS_ LPDIRECT3DDEVICE9 device, LPD3DXEFFECT* effect) PURE;
- STDMETHOD(SetRawValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT byte_offset, UINT bytes) PURE;
-};
-
-typedef struct ID3DXEffectCompiler *LPD3DXEFFECTCOMPILER;
-
-DEFINE_GUID(IID_ID3DXEffectCompiler, 0x51b8a949, 0x1a31, 0x47e6, 0xbe, 0xa0, 0x4b, 0x30, 0xdb, 0x53, 0xf1, 0xe0);
-
-#undef INTERFACE
-#define INTERFACE ID3DXEffectCompiler
-
-DECLARE_INTERFACE_(ID3DXEffectCompiler, ID3DXBaseEffect)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseEffect methods ***/
- STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* desc) PURE;
- STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
- STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
- STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE pass, D3DXPASS_DESC* desc) PURE;
- STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE shader, D3DXFUNCTION_DESC* desc) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, LPCSTR semantic) PURE;
- STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE technique, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, LPCSTR name) PURE;
- STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
- STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR name);
- STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE object, UINT index) PURE;
- STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
- STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
- STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
- STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
- STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
- STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
- STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
- STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
- STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
- STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
- STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
- STDMETHOD(SetFloat)(THIS_ D3DXHANDLE parameter, FLOAT f) PURE;
- STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
- STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE parameter, CONST FLOAT* f, UINT count) PURE;
- STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
- STDMETHOD(SetVector)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector) PURE;
- STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
- STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE parameter, CONST D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
- STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix) PURE;
- STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
- STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, CONST D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
- STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, LPCSTR string) PURE;
- STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, LPCSTR* string) PURE;
- STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9 texture) PURE;
- STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, LPDIRECT3DBASETEXTURE9* texture) PURE;
- STDMETHOD(SetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9 pshader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DPIXELSHADER9* pshader) PURE;
- STDMETHOD(SetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9 vshader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9* vshader) PURE;
- STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
- /*** ID3DXEffectCompiler methods ***/
- STDMETHOD(SetLiteral)(THIS_ D3DXHANDLE parameter, BOOL literal) PURE;
- STDMETHOD(GetLiteral)(THIS_ D3DXHANDLE parameter, BOOL* literal) PURE;
- STDMETHOD(CompileEffect)(THIS_ DWORD flags, LPD3DXBUFFER* effect, LPD3DXBUFFER* error_msgs) PURE;
- STDMETHOD(CompileShader)(THIS_ D3DXHANDLE function, LPCSTR target, DWORD flags, LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_msgs, LPD3DXCONSTANTTABLE* constant_table) PURE;
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3DXCreateEffectPool(LPD3DXEFFECTPOOL* pool);
-
-HRESULT WINAPI D3DXCreateEffect(LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatalen,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXEFFECTPOOL pool,
- LPD3DXEFFECT* effect,
- LPD3DXBUFFER* compilation_errors);
-
-HRESULT WINAPI D3DXCreateEffectEx(LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatalen,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- LPCSTR skip_constants,
- DWORD flags,
- LPD3DXEFFECTPOOL pool,
- LPD3DXEFFECT* effect,
- LPD3DXBUFFER* compilation_errors);
-
-HRESULT WINAPI D3DXCreateEffectCompiler(LPCSTR srcdata,
- UINT srcdatalen,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXEFFECTCOMPILER* compiler,
- LPD3DXBUFFER* parse_errors);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D3DX9EFFECT_H__ */
+++ /dev/null
-/*
- * Copyright (C) 2007 David Adam
- * Copyright (C) 2007 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <d3dx9.h>
-
-#ifndef __D3DX9MATH_H__
-#define __D3DX9MATH_H__
-
-#include <math.h>
-
-#define D3DX_PI ((FLOAT)3.141592654)
-#define D3DX_1BYPI ((FLOAT)0.318309886)
-
-#define D3DXToRadian(degree) ((degree) * (D3DX_PI / 180.0f))
-#define D3DXToDegree(radian) ((radian) * (180.0f / D3DX_PI))
-
-
-
-typedef struct D3DXVECTOR2
-{
-#ifdef __cplusplus
- D3DXVECTOR2();
- D3DXVECTOR2(CONST FLOAT *pf);
- D3DXVECTOR2(FLOAT fx, FLOAT fy);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXVECTOR2& operator += (CONST D3DXVECTOR2&);
- D3DXVECTOR2& operator -= (CONST D3DXVECTOR2&);
- D3DXVECTOR2& operator *= (FLOAT);
- D3DXVECTOR2& operator /= (FLOAT);
-
- D3DXVECTOR2 operator + () const;
- D3DXVECTOR2 operator - () const;
-
- D3DXVECTOR2 operator + (CONST D3DXVECTOR2&) const;
- D3DXVECTOR2 operator - (CONST D3DXVECTOR2&) const;
- D3DXVECTOR2 operator * (FLOAT) const;
- D3DXVECTOR2 operator / (FLOAT) const;
-
- friend D3DXVECTOR2 operator * (FLOAT, CONST D3DXVECTOR2&);
-
- BOOL operator == (CONST D3DXVECTOR2&) const;
- BOOL operator != (CONST D3DXVECTOR2&) const;
-#endif /* __cplusplus */
- FLOAT x, y;
-} D3DXVECTOR2, *LPD3DXVECTOR2;
-
-#ifdef __cplusplus
-typedef struct D3DXVECTOR3 : public D3DVECTOR
-{
- D3DXVECTOR3();
- D3DXVECTOR3(CONST FLOAT *pf);
- D3DXVECTOR3(CONST D3DVECTOR& v);
- D3DXVECTOR3(FLOAT fx, FLOAT fy, FLOAT fz);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXVECTOR3& operator += (CONST D3DXVECTOR3&);
- D3DXVECTOR3& operator -= (CONST D3DXVECTOR3&);
- D3DXVECTOR3& operator *= (FLOAT);
- D3DXVECTOR3& operator /= (FLOAT);
-
- D3DXVECTOR3 operator + () const;
- D3DXVECTOR3 operator - () const;
-
- D3DXVECTOR3 operator + (CONST D3DXVECTOR3&) const;
- D3DXVECTOR3 operator - (CONST D3DXVECTOR3&) const;
- D3DXVECTOR3 operator * (FLOAT) const;
- D3DXVECTOR3 operator / (FLOAT) const;
-
- friend D3DXVECTOR3 operator * (FLOAT, CONST struct D3DXVECTOR3&);
-
- BOOL operator == (CONST D3DXVECTOR3&) const;
- BOOL operator != (CONST D3DXVECTOR3&) const;
-} D3DXVECTOR3, *LPD3DXVECTOR3;
-#else /* !__cplusplus */
-typedef struct _D3DVECTOR D3DXVECTOR3, *LPD3DXVECTOR3;
-#endif /* !__cplusplus */
-
-typedef struct D3DXVECTOR4
-{
-#ifdef __cplusplus
- D3DXVECTOR4();
- D3DXVECTOR4(CONST FLOAT *pf);
- D3DXVECTOR4(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXVECTOR4& operator += (CONST D3DXVECTOR4&);
- D3DXVECTOR4& operator -= (CONST D3DXVECTOR4&);
- D3DXVECTOR4& operator *= (FLOAT);
- D3DXVECTOR4& operator /= (FLOAT);
-
- D3DXVECTOR4 operator + () const;
- D3DXVECTOR4 operator - () const;
-
- D3DXVECTOR4 operator + (CONST D3DXVECTOR4&) const;
- D3DXVECTOR4 operator - (CONST D3DXVECTOR4&) const;
- D3DXVECTOR4 operator * (FLOAT) const;
- D3DXVECTOR4 operator / (FLOAT) const;
-
- friend D3DXVECTOR4 operator * (FLOAT, CONST D3DXVECTOR4&);
-
- BOOL operator == (CONST D3DXVECTOR4&) const;
- BOOL operator != (CONST D3DXVECTOR4&) const;
-#endif /* __cplusplus */
- FLOAT x, y, z, w;
-} D3DXVECTOR4, *LPD3DXVECTOR4;
-
-#ifdef __cplusplus
-typedef struct D3DXMATRIX : public D3DMATRIX
-{
- D3DXMATRIX();
- D3DXMATRIX(CONST FLOAT *pf);
- D3DXMATRIX(CONST D3DMATRIX& mat);
- D3DXMATRIX(FLOAT f11, FLOAT f12, FLOAT f13, FLOAT f14,
- FLOAT f21, FLOAT f22, FLOAT f23, FLOAT f24,
- FLOAT f31, FLOAT f32, FLOAT f33, FLOAT f34,
- FLOAT f41, FLOAT f42, FLOAT f43, FLOAT f44);
-
- FLOAT& operator () (UINT row, UINT col);
- FLOAT operator () (UINT row, UINT col) const;
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXMATRIX& operator *= (CONST D3DXMATRIX&);
- D3DXMATRIX& operator += (CONST D3DXMATRIX&);
- D3DXMATRIX& operator -= (CONST D3DXMATRIX&);
- D3DXMATRIX& operator *= (FLOAT);
- D3DXMATRIX& operator /= (FLOAT);
-
- D3DXMATRIX operator + () const;
- D3DXMATRIX operator - () const;
-
- D3DXMATRIX operator * (CONST D3DXMATRIX&) const;
- D3DXMATRIX operator + (CONST D3DXMATRIX&) const;
- D3DXMATRIX operator - (CONST D3DXMATRIX&) const;
- D3DXMATRIX operator * (FLOAT) const;
- D3DXMATRIX operator / (FLOAT) const;
-
- friend D3DXMATRIX operator * (FLOAT, CONST D3DXMATRIX&);
-
- BOOL operator == (CONST D3DXMATRIX&) const;
- BOOL operator != (CONST D3DXMATRIX&) const;
-} D3DXMATRIX, *LPD3DXMATRIX;
-#else /* !__cplusplus */
-typedef struct _D3DMATRIX D3DXMATRIX, *LPD3DXMATRIX;
-#endif /* !__cplusplus */
-
-typedef struct D3DXQUATERNION
-{
-#ifdef __cplusplus
- D3DXQUATERNION();
- D3DXQUATERNION(CONST FLOAT *pf);
- D3DXQUATERNION(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXQUATERNION& operator += (CONST D3DXQUATERNION&);
- D3DXQUATERNION& operator -= (CONST D3DXQUATERNION&);
- D3DXQUATERNION& operator *= (CONST D3DXQUATERNION&);
- D3DXQUATERNION& operator *= (FLOAT);
- D3DXQUATERNION& operator /= (FLOAT);
-
- D3DXQUATERNION operator + () const;
- D3DXQUATERNION operator - () const;
-
- D3DXQUATERNION operator + (CONST D3DXQUATERNION&) const;
- D3DXQUATERNION operator - (CONST D3DXQUATERNION&) const;
- D3DXQUATERNION operator * (CONST D3DXQUATERNION&) const;
- D3DXQUATERNION operator * (FLOAT) const;
- D3DXQUATERNION operator / (FLOAT) const;
-
- friend D3DXQUATERNION operator * (FLOAT, CONST D3DXQUATERNION&);
-
- BOOL operator == (CONST D3DXQUATERNION&) const;
- BOOL operator != (CONST D3DXQUATERNION&) const;
-#endif /* __cplusplus */
- FLOAT x, y, z, w;
-} D3DXQUATERNION, *LPD3DXQUATERNION;
-
-typedef struct D3DXPLANE
-{
-#ifdef __cplusplus
- D3DXPLANE();
- D3DXPLANE(CONST FLOAT *pf);
- D3DXPLANE(FLOAT fa, FLOAT fb, FLOAT fc, FLOAT fd);
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- D3DXPLANE operator + () const;
- D3DXPLANE operator - () const;
-
- BOOL operator == (CONST D3DXPLANE&) const;
- BOOL operator != (CONST D3DXPLANE&) const;
-#endif /* __cplusplus */
- FLOAT a, b, c, d;
-} D3DXPLANE, *LPD3DXPLANE;
-
-typedef struct D3DXCOLOR
-{
-#ifdef __cplusplus
- D3DXCOLOR();
- D3DXCOLOR(DWORD col);
- D3DXCOLOR(CONST FLOAT *pf);
- D3DXCOLOR(CONST D3DCOLORVALUE& col);
- D3DXCOLOR(FLOAT fr, FLOAT fg, FLOAT fb, FLOAT fa);
-
- operator DWORD () const;
-
- operator FLOAT* ();
- operator CONST FLOAT* () const;
-
- operator D3DCOLORVALUE* ();
- operator CONST D3DCOLORVALUE* () const;
-
- operator D3DCOLORVALUE& ();
- operator CONST D3DCOLORVALUE& () const;
-
- D3DXCOLOR& operator += (CONST D3DXCOLOR&);
- D3DXCOLOR& operator -= (CONST D3DXCOLOR&);
- D3DXCOLOR& operator *= (FLOAT);
- D3DXCOLOR& operator /= (FLOAT);
-
- D3DXCOLOR operator + () const;
- D3DXCOLOR operator - () const;
-
- D3DXCOLOR operator + (CONST D3DXCOLOR&) const;
- D3DXCOLOR operator - (CONST D3DXCOLOR&) const;
- D3DXCOLOR operator * (FLOAT) const;
- D3DXCOLOR operator / (FLOAT) const;
-
- friend D3DXCOLOR operator * (FLOAT, CONST D3DXCOLOR&);
-
- BOOL operator == (CONST D3DXCOLOR&) const;
- BOOL operator != (CONST D3DXCOLOR&) const;
-#endif /* __cplusplus */
- FLOAT r, g, b, a;
-} D3DXCOLOR, *LPD3DXCOLOR;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-D3DXCOLOR* WINAPI D3DXColorAdjustContrast(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s);
-D3DXCOLOR* WINAPI D3DXColorAdjustSaturation(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s);
-
-FLOAT WINAPI D3DXFresnelTerm(FLOAT costheta, FLOAT refractionindex);
-
-D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *pout, FLOAT scaling, CONST D3DXVECTOR3 *rotationcenter, CONST D3DXQUATERNION *rotation, CONST D3DXVECTOR3 *translation);
-D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation2D(D3DXMATRIX *pout, FLOAT scaling, CONST D3DXVECTOR2 *protationcenter, FLOAT rotation, CONST D3DXVECTOR2 *ptranslation);
-HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *poutscale, D3DXQUATERNION *poutrotation, D3DXVECTOR3 *pouttranslation, CONST D3DXMATRIX *pm);
-FLOAT WINAPI D3DXMatrixDeterminant(CONST D3DXMATRIX *pm);
-D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, CONST D3DXMATRIX *pm);
-D3DXMATRIX* WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *pout, CONST D3DXVECTOR3 *peye, CONST D3DXVECTOR3 *pat, CONST D3DXVECTOR3 *pup);
-D3DXMATRIX* WINAPI D3DXMatrixLookAtRH(D3DXMATRIX *pout, CONST D3DXVECTOR3 *peye, CONST D3DXVECTOR3 *pat, CONST D3DXVECTOR3 *pup);
-D3DXMATRIX* WINAPI D3DXMatrixMultiply(D3DXMATRIX *pout, CONST D3DXMATRIX *pm1, CONST D3DXMATRIX *pm2);
-D3DXMATRIX* WINAPI D3DXMatrixMultiplyTranspose(D3DXMATRIX *pout, CONST D3DXMATRIX *pm1, CONST D3DXMATRIX *pm2);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixOrthoRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveFovLH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveFovRH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixPerspectiveRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf);
-D3DXMATRIX* WINAPI D3DXMatrixReflect(D3DXMATRIX *pout, CONST D3DXPLANE *pplane);
-D3DXMATRIX* WINAPI D3DXMatrixRotationAxis(D3DXMATRIX *pout, CONST D3DXVECTOR3 *pv, FLOAT angle);
-D3DXMATRIX* WINAPI D3DXMatrixRotationQuaternion(D3DXMATRIX *pout, CONST D3DXQUATERNION *pq);
-D3DXMATRIX* WINAPI D3DXMatrixRotationX(D3DXMATRIX *pout, FLOAT angle);
-D3DXMATRIX* WINAPI D3DXMatrixRotationY(D3DXMATRIX *pout, FLOAT angle);
-D3DXMATRIX* WINAPI D3DXMatrixRotationYawPitchRoll(D3DXMATRIX *pout, FLOAT yaw, FLOAT pitch, FLOAT roll);
-D3DXMATRIX* WINAPI D3DXMatrixRotationZ(D3DXMATRIX *pout, FLOAT angle);
-D3DXMATRIX* WINAPI D3DXMatrixScaling(D3DXMATRIX *pout, FLOAT sx, FLOAT sy, FLOAT sz);
-D3DXMATRIX* WINAPI D3DXMatrixShadow(D3DXMATRIX *pout, CONST D3DXVECTOR4 *plight, CONST D3DXPLANE *pPlane);
-D3DXMATRIX* WINAPI D3DXMatrixTransformation(D3DXMATRIX *pout, CONST D3DXVECTOR3 *pscalingcenter, CONST D3DXQUATERNION *pscalingrotation, CONST D3DXVECTOR3 *pscaling, CONST D3DXVECTOR3 *protationcenter, CONST D3DXQUATERNION *protation, CONST D3DXVECTOR3 *ptranslation);
-D3DXMATRIX* WINAPI D3DXMatrixTransformation2D(D3DXMATRIX *pout, CONST D3DXVECTOR2 *pscalingcenter, FLOAT scalingrotation, CONST D3DXVECTOR2 *pscaling, CONST D3DXVECTOR2 *protationcenter, FLOAT rotation, CONST D3DXVECTOR2 *ptranslation);
-D3DXMATRIX* WINAPI D3DXMatrixTranslation(D3DXMATRIX *pout, FLOAT x, FLOAT y, FLOAT z);
-D3DXMATRIX* WINAPI D3DXMatrixTranspose(D3DXMATRIX *pout, CONST D3DXMATRIX *pm);
-
-D3DXPLANE* WINAPI D3DXPlaneFromPointNormal(D3DXPLANE *pout, CONST D3DXVECTOR3 *pvpoint, CONST D3DXVECTOR3 *pvnormal);
-D3DXPLANE* WINAPI D3DXPlaneFromPoints(D3DXPLANE *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pv3);
-D3DXVECTOR3* WINAPI D3DXPlaneIntersectLine(D3DXVECTOR3 *pout, CONST D3DXPLANE *pp, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2);
-D3DXPLANE* WINAPI D3DXPlaneNormalize(D3DXPLANE *pout, CONST D3DXPLANE *pp);
-D3DXPLANE* WINAPI D3DXPlaneTransform(D3DXPLANE *pout, CONST D3DXPLANE *pplane, CONST D3DXMATRIX *pm);
-D3DXPLANE* WINAPI D3DXPlaneTransformArray(D3DXPLANE *pout, UINT outstride, CONST D3DXPLANE *pplane, UINT pstride, CONST D3DXMATRIX *pm, UINT n);
-
-D3DXQUATERNION* WINAPI D3DXQuaternionBaryCentric(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2, CONST D3DXQUATERNION *pq3, FLOAT f, FLOAT g);
-D3DXQUATERNION* WINAPI D3DXQuaternionExp(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
-D3DXQUATERNION* WINAPI D3DXQuaternionInverse(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
-D3DXQUATERNION* WINAPI D3DXQuaternionLn(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
-D3DXQUATERNION* WINAPI D3DXQuaternionMultiply(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2);
-D3DXQUATERNION* WINAPI D3DXQuaternionNormalize(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq);
-D3DXQUATERNION* WINAPI D3DXQuaternionRotationAxis(D3DXQUATERNION *pout, CONST D3DXVECTOR3 *pv, FLOAT angle);
-D3DXQUATERNION* WINAPI D3DXQuaternionRotationMatrix(D3DXQUATERNION *pout, CONST D3DXMATRIX *pm);
-D3DXQUATERNION* WINAPI D3DXQuaternionRotationYawPitchRoll(D3DXQUATERNION *pout, FLOAT yaw, FLOAT pitch, FLOAT roll);
-D3DXQUATERNION* WINAPI D3DXQuaternionSlerp(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2, FLOAT t);
-D3DXQUATERNION* WINAPI D3DXQuaternionSquad(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2, CONST D3DXQUATERNION *pq3, CONST D3DXQUATERNION *pq4, FLOAT t);
-void WINAPI D3DXQuaternionToAxisAngle(CONST D3DXQUATERNION *pq, D3DXVECTOR3 *paxis, FLOAT *pangle);
-
-D3DXVECTOR2* WINAPI D3DXVec2BaryCentric(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2, CONST D3DXVECTOR2 *pv3, FLOAT f, FLOAT g);
-D3DXVECTOR2* WINAPI D3DXVec2CatmullRom(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv0, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2, CONST D3DXVECTOR2 *pv3, FLOAT s);
-D3DXVECTOR2* WINAPI D3DXVec2Hermite(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pt1, CONST D3DXVECTOR2 *pv2, CONST D3DXVECTOR2 *pt2, FLOAT s);
-D3DXVECTOR2* WINAPI D3DXVec2Normalize(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv);
-D3DXVECTOR4* WINAPI D3DXVec2Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR2 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR4* WINAPI D3DXVec2TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR2 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR2* WINAPI D3DXVec2TransformCoord(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR2* WINAPI D3DXVec2TransformCoordArray(D3DXVECTOR2 *pout, UINT outstride, CONST D3DXVECTOR2 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR2* WINAPI D3DXVec2TransformNormal(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR2* WINAPI D3DXVec2TransformNormalArray(D3DXVECTOR2 *pout, UINT outstride, CONST D3DXVECTOR2 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-
-D3DXVECTOR3* WINAPI D3DXVec3BaryCentric(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pv3, FLOAT f, FLOAT g);
-D3DXVECTOR3* WINAPI D3DXVec3CatmullRom( D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv0, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pv3, FLOAT s);
-D3DXVECTOR3* WINAPI D3DXVec3Hermite(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pt1, CONST D3DXVECTOR3 *pv2, CONST D3DXVECTOR3 *pt2, FLOAT s);
-D3DXVECTOR3* WINAPI D3DXVec3Normalize(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv);
-D3DXVECTOR3* WINAPI D3DXVec3Project(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld);
-D3DXVECTOR3* WINAPI D3DXVec3ProjectArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld, UINT n);
-D3DXVECTOR4* WINAPI D3DXVec3Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR3 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR4* WINAPI D3DXVec3TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR3* WINAPI D3DXVec3TransformCoord(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR3* WINAPI D3DXVec3TransformCoordArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR3* WINAPI D3DXVec3TransformNormal(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR3* WINAPI D3DXVec3TransformNormalArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-D3DXVECTOR3* WINAPI D3DXVec3Unproject(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld);
-D3DXVECTOR3* WINAPI D3DXVec3UnprojectArray(D3DXVECTOR3 *pout, UINT outstride, CONST D3DXVECTOR3 *pv, UINT vstride, CONST D3DVIEWPORT9 *pviewport, CONST D3DXMATRIX *pprojection, CONST D3DXMATRIX *pview, CONST D3DXMATRIX *pworld, UINT n);
-
-D3DXVECTOR4* WINAPI D3DXVec4BaryCentric(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pv3, FLOAT f, FLOAT g);
-D3DXVECTOR4* WINAPI D3DXVec4CatmullRom(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv0, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pv3, FLOAT s);
-D3DXVECTOR4* WINAPI D3DXVec4Cross(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pv3);
-D3DXVECTOR4* WINAPI D3DXVec4Hermite(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pt1, CONST D3DXVECTOR4 *pv2, CONST D3DXVECTOR4 *pt2, FLOAT s);
-D3DXVECTOR4* WINAPI D3DXVec4Normalize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv);
-D3DXVECTOR4* WINAPI D3DXVec4Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv, CONST D3DXMATRIX *pm);
-D3DXVECTOR4* WINAPI D3DXVec4TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR4 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
-
-#ifdef __cplusplus
-}
-#endif
-
-typedef interface ID3DXMatrixStack *LPD3DXMATRIXSTACK;
-
-DEFINE_GUID(IID_ID3DXMatrixStack,
-0xc7885ba7, 0xf990, 0x4fe7, 0x92, 0x2d, 0x85, 0x15, 0xe4, 0x77, 0xdd, 0x85);
-
-#undef INTERFACE
-#define INTERFACE ID3DXMatrixStack
-
-DECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Pop)(THIS) PURE;
- STDMETHOD(Push)(THIS) PURE;
- STDMETHOD(LoadIdentity)(THIS) PURE;
- STDMETHOD(LoadMatrix)(THIS_ CONST D3DXMATRIX* pM ) PURE;
- STDMETHOD(MultMatrix)(THIS_ CONST D3DXMATRIX* pM ) PURE;
- STDMETHOD(MultMatrixLocal)(THIS_ CONST D3DXMATRIX* pM ) PURE;
- STDMETHOD(RotateAxis)(THIS_ CONST D3DXVECTOR3* pV, FLOAT Angle) PURE;
- STDMETHOD(RotateAxisLocal)(THIS_ CONST D3DXVECTOR3* pV, FLOAT Angle) PURE;
- STDMETHOD(RotateYawPitchRoll)(THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
- STDMETHOD(RotateYawPitchRollLocal)(THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
- STDMETHOD(Scale)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
- STDMETHOD(ScaleLocal)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
- STDMETHOD(Translate)(THIS_ FLOAT x, FLOAT y, FLOAT z ) PURE;
- STDMETHOD(TranslateLocal)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
- STDMETHOD_(D3DXMATRIX*, GetTop)(THIS) PURE;
-};
-
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-
-#define ID3DXMatrixStack_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXMatrixStack_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXMatrixStack_Release(p) (p)->lpVtbl->Release(p)
-#define ID3DXMatrixStack_Pop(p) (p)->lpVtbl->Pop(p)
-#define ID3DXMatrixStack_Push(p) (p)->lpVtbl->Push(p)
-#define ID3DXMatrixStack_LoadIdentity(p) (p)->lpVtbl->LoadIdentity(p)
-#define ID3DXMatrixStack_LoadMatrix(p,a) (p)->lpVtbl->LoadMatrix(p,a)
-#define ID3DXMatrixStack_MultMatrix(p,a) (p)->lpVtbl->MultMatrix(p,a)
-#define ID3DXMatrixStack_MultMatrixLocal(p,a) (p)->lpVtbl->MultMatrixLocal(p,a)
-#define ID3DXMatrixStack_RotateAxis(p,a,b) (p)->lpVtbl->RotateAxis(p,a,b)
-#define ID3DXMatrixStack_RotateAxisLocal(p,a,b) (p)->lpVtbl->RotateAxisLocal(p,a,b)
-#define ID3DXMatrixStack_RotateYawPitchRoll(p,a,b,c) (p)->lpVtbl->RotateYawPitchRoll(p,a,b,c)
-#define ID3DXMatrixStack_RotateYawPitchRollLocal(p,a,b,c) (p)->lpVtbl->RotateYawPitchRollLocal(p,a,b,c)
-#define ID3DXMatrixStack_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
-#define ID3DXMatrixStack_ScaleLocal(p,a,b,c) (p)->lpVtbl->ScaleLocal(p,a,b,c)
-#define ID3DXMatrixStack_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
-#define ID3DXMatrixStack_TranslateLocal(p,a,b,c) (p)->lpVtbl->TranslateLocal(p,a,b,c)
-#define ID3DXMatrixStack_GetTop(p) (p)->lpVtbl->GetTop(p)
-
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3DXCreateMatrixStack(DWORD flags, LPD3DXMATRIXSTACK* ppstack);
-
-#ifdef __cplusplus
-}
-#endif
-
-#include <d3dx9math.inl>
-
-#endif /* __D3DX9MATH_H__ */
+++ /dev/null
-/*
- * Copyright (C) 2007 David Adam
- * Copyright (C) 2007 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __D3DX9MATH_INL__
-#define __D3DX9MATH_INL__
-
-/* constructors & operators */
-#ifdef __cplusplus
-
-inline D3DXVECTOR2::D3DXVECTOR2()
-{
-}
-
-inline D3DXVECTOR2::D3DXVECTOR2(CONST FLOAT *pf)
-{
- if(!pf) return;
- x = pf[0];
- y = pf[1];
-}
-
-inline D3DXVECTOR2::D3DXVECTOR2(FLOAT fx, FLOAT fy)
-{
- x = fx;
- y = fy;
-}
-
-inline D3DXVECTOR2::operator FLOAT* ()
-{
- return (FLOAT*)&x;
-}
-
-inline D3DXVECTOR2::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&x;
-}
-
-inline D3DXVECTOR2& D3DXVECTOR2::operator += (CONST D3DXVECTOR2& v)
-{
- x += v.x;
- y += v.y;
- return *this;
-}
-
-inline D3DXVECTOR2& D3DXVECTOR2::operator -= (CONST D3DXVECTOR2& v)
-{
- x -= v.x;
- y -= v.y;
- return *this;
-}
-
-inline D3DXVECTOR2& D3DXVECTOR2::operator *= (FLOAT f)
-{
- x *= f;
- y *= f;
- return *this;
-}
-
-inline D3DXVECTOR2& D3DXVECTOR2::operator /= (FLOAT f)
-{
- x /= f;
- y /= f;
- return *this;
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator + () const
-{
- return *this;
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator - () const
-{
- return D3DXVECTOR2(-x, -y);
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator + (CONST D3DXVECTOR2& v) const
-{
- return D3DXVECTOR2(x + v.x, y + v.y);
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator - (CONST D3DXVECTOR2& v) const
-{
- return D3DXVECTOR2(x - v.x, y - v.y);
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator * (FLOAT f) const
-{
- return D3DXVECTOR2(x * f, y * f);
-}
-
-inline D3DXVECTOR2 D3DXVECTOR2::operator / (FLOAT f) const
-{
- return D3DXVECTOR2(x / f, y / f);
-}
-
-inline D3DXVECTOR2 operator * (FLOAT f, CONST D3DXVECTOR2& v)
-{
- return D3DXVECTOR2(f * v.x, f * v.y);
-}
-
-inline BOOL D3DXVECTOR2::operator == (CONST D3DXVECTOR2& v) const
-{
- return x == v.x && y == v.y;
-}
-
-inline BOOL D3DXVECTOR2::operator != (CONST D3DXVECTOR2& v) const
-{
- return x != v.x || y != v.y;
-}
-
-inline D3DXVECTOR3::D3DXVECTOR3()
-{
-}
-
-inline D3DXVECTOR3::D3DXVECTOR3(CONST FLOAT *pf)
-{
- if(!pf) return;
- x = pf[0];
- y = pf[1];
- z = pf[2];
-}
-
-inline D3DXVECTOR3::D3DXVECTOR3(CONST D3DVECTOR& v)
-{
- x = v.x;
- y = v.y;
- z = v.z;
-}
-
-inline D3DXVECTOR3::D3DXVECTOR3(FLOAT fx, FLOAT fy, FLOAT fz)
-{
- x = fx;
- y = fy;
- z = fz;
-}
-
-inline D3DXVECTOR3::operator FLOAT* ()
-{
- return (FLOAT*)&x;
-}
-
-inline D3DXVECTOR3::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&x;
-}
-
-inline D3DXVECTOR3& D3DXVECTOR3::operator += (CONST D3DXVECTOR3& v)
-{
- x += v.x;
- y += v.y;
- z += v.z;
- return *this;
-}
-
-inline D3DXVECTOR3& D3DXVECTOR3::operator -= (CONST D3DXVECTOR3& v)
-{
- x -= v.x;
- y -= v.y;
- z -= v.z;
- return *this;
-}
-
-inline D3DXVECTOR3& D3DXVECTOR3::operator *= (FLOAT f)
-{
- x *= f;
- y *= f;
- z *= f;
- return *this;
-}
-
-inline D3DXVECTOR3& D3DXVECTOR3::operator /= (FLOAT f)
-{
- x /= f;
- y /= f;
- z /= f;
- return *this;
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator + () const
-{
- return *this;
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator - () const
-{
- return D3DXVECTOR3(-x, -y, -z);
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator + (CONST D3DXVECTOR3& v) const
-{
- return D3DXVECTOR3(x + v.x, y + v.y, z + v.z);
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator - (CONST D3DXVECTOR3& v) const
-{
- return D3DXVECTOR3(x - v.x, y - v.y, z - v.z);
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator * (FLOAT f) const
-{
- return D3DXVECTOR3(x * f, y * f, z * f);
-}
-
-inline D3DXVECTOR3 D3DXVECTOR3::operator / (FLOAT f) const
-{
- return D3DXVECTOR3(x / f, y / f, z / f);
-}
-
-inline D3DXVECTOR3 operator * (FLOAT f, CONST D3DXVECTOR3& v)
-{
- return D3DXVECTOR3(f * v.x, f * v.y, f * v.z);
-}
-
-inline BOOL D3DXVECTOR3::operator == (CONST D3DXVECTOR3& v) const
-{
- return x == v.x && y == v.y && z == v.z;
-}
-
-inline BOOL D3DXVECTOR3::operator != (CONST D3DXVECTOR3& v) const
-{
- return x != v.x || y != v.y || z != v.z;
-}
-
-inline D3DXVECTOR4::D3DXVECTOR4()
-{
-}
-
-inline D3DXVECTOR4::D3DXVECTOR4(CONST FLOAT *pf)
-{
- if(!pf) return;
- x = pf[0];
- y = pf[1];
- z = pf[2];
- w = pf[3];
-}
-
-inline D3DXVECTOR4::D3DXVECTOR4(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw)
-{
- x = fx;
- y = fy;
- z = fz;
- w = fw;
-}
-
-inline D3DXVECTOR4::operator FLOAT* ()
-{
- return (FLOAT*)&x;
-}
-
-inline D3DXVECTOR4::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&x;
-}
-
-inline D3DXVECTOR4& D3DXVECTOR4::operator += (CONST D3DXVECTOR4& v)
-{
- x += v.x;
- y += v.y;
- z += v.z;
- w += v.w;
- return *this;
-}
-
-inline D3DXVECTOR4& D3DXVECTOR4::operator -= (CONST D3DXVECTOR4& v)
-{
- x -= v.x;
- y -= v.y;
- z -= v.z;
- w -= v.w;
- return *this;
-}
-
-inline D3DXVECTOR4& D3DXVECTOR4::operator *= (FLOAT f)
-{
- x *= f;
- y *= f;
- z *= f;
- w *= f;
- return *this;
-}
-
-inline D3DXVECTOR4& D3DXVECTOR4::operator /= (FLOAT f)
-{
- x /= f;
- y /= f;
- z /= f;
- w /= f;
- return *this;
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator + () const
-{
- return *this;
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator - () const
-{
- return D3DXVECTOR4(-x, -y, -z, -w);
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator + (CONST D3DXVECTOR4& v) const
-{
- return D3DXVECTOR4(x + v.x, y + v.y, z + v.z, w + v.w);
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator - (CONST D3DXVECTOR4& v) const
-{
- return D3DXVECTOR4(x - v.x, y - v.y, z - v.z, w - v.w);
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator * (FLOAT f) const
-{
- return D3DXVECTOR4(x * f, y * f, z * f, w * f);
-}
-
-inline D3DXVECTOR4 D3DXVECTOR4::operator / (FLOAT f) const
-{
- return D3DXVECTOR4(x / f, y / f, z / f, w / f);
-}
-
-inline D3DXVECTOR4 operator * (FLOAT f, CONST D3DXVECTOR4& v)
-{
- return D3DXVECTOR4(f * v.x, f * v.y, f * v.z, f * v.w);
-}
-
-inline BOOL D3DXVECTOR4::operator == (CONST D3DXVECTOR4& v) const
-{
- return x == v.x && y == v.y && z == v.z && w == v.w;
-}
-
-inline BOOL D3DXVECTOR4::operator != (CONST D3DXVECTOR4& v) const
-{
- return x != v.x || y != v.y || z != v.z || w != v.w;
-}
-
-inline D3DXMATRIX::D3DXMATRIX()
-{
-}
-
-inline D3DXMATRIX::D3DXMATRIX(CONST FLOAT *pf)
-{
- if(!pf) return;
- memcpy(&_11, pf, sizeof(D3DXMATRIX));
-}
-
-inline D3DXMATRIX::D3DXMATRIX(CONST D3DMATRIX& mat)
-{
- memcpy(&_11, &mat, sizeof(D3DXMATRIX));
-}
-
-inline D3DXMATRIX::D3DXMATRIX(FLOAT f11, FLOAT f12, FLOAT f13, FLOAT f14,
- FLOAT f21, FLOAT f22, FLOAT f23, FLOAT f24,
- FLOAT f31, FLOAT f32, FLOAT f33, FLOAT f34,
- FLOAT f41, FLOAT f42, FLOAT f43, FLOAT f44)
-{
- _11 = f11; _12 = f12; _13 = f13; _14 = f14;
- _21 = f21; _22 = f22; _23 = f23; _24 = f24;
- _31 = f31; _32 = f32; _33 = f33; _34 = f34;
- _41 = f41; _42 = f42; _43 = f43; _44 = f44;
-}
-
-inline FLOAT& D3DXMATRIX::operator () (UINT row, UINT col)
-{
- return m[row][col];
-}
-
-inline FLOAT D3DXMATRIX::operator () (UINT row, UINT col) const
-{
- return m[row][col];
-}
-
-inline D3DXMATRIX::operator FLOAT* ()
-{
- return (FLOAT*)&_11;
-}
-
-inline D3DXMATRIX::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&_11;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator *= (CONST D3DXMATRIX& mat)
-{
- D3DXMatrixMultiply(this, this, &mat);
- return *this;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator += (CONST D3DXMATRIX& mat)
-{
- _11 += mat._11; _12 += mat._12; _13 += mat._13; _14 += mat._14;
- _21 += mat._21; _22 += mat._22; _23 += mat._23; _24 += mat._24;
- _31 += mat._31; _32 += mat._32; _33 += mat._33; _34 += mat._34;
- _41 += mat._41; _42 += mat._42; _43 += mat._43; _44 += mat._44;
- return *this;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator -= (CONST D3DXMATRIX& mat)
-{
- _11 -= mat._11; _12 -= mat._12; _13 -= mat._13; _14 -= mat._14;
- _21 -= mat._21; _22 -= mat._22; _23 -= mat._23; _24 -= mat._24;
- _31 -= mat._31; _32 -= mat._32; _33 -= mat._33; _34 -= mat._34;
- _41 -= mat._41; _42 -= mat._42; _43 -= mat._43; _44 -= mat._44;
- return *this;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator *= (FLOAT f)
-{
- _11 *= f; _12 *= f; _13 *= f; _14 *= f;
- _21 *= f; _22 *= f; _23 *= f; _24 *= f;
- _31 *= f; _32 *= f; _33 *= f; _34 *= f;
- _41 *= f; _42 *= f; _43 *= f; _44 *= f;
- return *this;
-}
-
-inline D3DXMATRIX& D3DXMATRIX::operator /= (FLOAT f)
-{
- FLOAT inv = 1.0f / f;
- _11 *= inv; _12 *= inv; _13 *= inv; _14 *= inv;
- _21 *= inv; _22 *= inv; _23 *= inv; _24 *= inv;
- _31 *= inv; _32 *= inv; _33 *= inv; _34 *= inv;
- _41 *= inv; _42 *= inv; _43 *= inv; _44 *= inv;
- return *this;
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator + () const
-{
- return *this;
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator - () const
-{
- return D3DXMATRIX(-_11, -_12, -_13, -_14,
- -_21, -_22, -_23, -_24,
- -_31, -_32, -_33, -_34,
- -_41, -_42, -_43, -_44);
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator * (CONST D3DXMATRIX& mat) const
-{
- D3DXMATRIX buf;
- D3DXMatrixMultiply(&buf, this, &mat);
- return buf;
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator + (CONST D3DXMATRIX& mat) const
-{
- return D3DXMATRIX(_11 + mat._11, _12 + mat._12, _13 + mat._13, _14 + mat._14,
- _21 + mat._21, _22 + mat._22, _23 + mat._23, _24 + mat._24,
- _31 + mat._31, _32 + mat._32, _33 + mat._33, _34 + mat._34,
- _41 + mat._41, _42 + mat._42, _43 + mat._43, _44 + mat._44);
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator - (CONST D3DXMATRIX& mat) const
-{
- return D3DXMATRIX(_11 - mat._11, _12 - mat._12, _13 - mat._13, _14 - mat._14,
- _21 - mat._21, _22 - mat._22, _23 - mat._23, _24 - mat._24,
- _31 - mat._31, _32 - mat._32, _33 - mat._33, _34 - mat._34,
- _41 - mat._41, _42 - mat._42, _43 - mat._43, _44 - mat._44);
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator * (FLOAT f) const
-{
- return D3DXMATRIX(_11 * f, _12 * f, _13 * f, _14 * f,
- _21 * f, _22 * f, _23 * f, _24 * f,
- _31 * f, _32 * f, _33 * f, _34 * f,
- _41 * f, _42 * f, _43 * f, _44 * f);
-}
-
-inline D3DXMATRIX D3DXMATRIX::operator / (FLOAT f) const
-{
- FLOAT inv = 1.0f / f;
- return D3DXMATRIX(_11 * inv, _12 * inv, _13 * inv, _14 * inv,
- _21 * inv, _22 * inv, _23 * inv, _24 * inv,
- _31 * inv, _32 * inv, _33 * inv, _34 * inv,
- _41 * inv, _42 * inv, _43 * inv, _44 * inv);
-}
-
-inline D3DXMATRIX operator * (FLOAT f, CONST D3DXMATRIX& mat)
-{
- return D3DXMATRIX(f * mat._11, f * mat._12, f * mat._13, f * mat._14,
- f * mat._21, f * mat._22, f * mat._23, f * mat._24,
- f * mat._31, f * mat._32, f * mat._33, f * mat._34,
- f * mat._41, f * mat._42, f * mat._43, f * mat._44);
-}
-
-inline BOOL D3DXMATRIX::operator == (CONST D3DXMATRIX& mat) const
-{
- return (memcmp(this, &mat, sizeof(D3DXMATRIX)) == 0);
-}
-
-inline BOOL D3DXMATRIX::operator != (CONST D3DXMATRIX& mat) const
-{
- return (memcmp(this, &mat, sizeof(D3DXMATRIX)) != 0);
-}
-
-inline D3DXQUATERNION::D3DXQUATERNION()
-{
-}
-
-inline D3DXQUATERNION::D3DXQUATERNION(CONST FLOAT *pf)
-{
- if(!pf) return;
- x = pf[0];
- y = pf[1];
- z = pf[2];
- w = pf[3];
-}
-
-inline D3DXQUATERNION::D3DXQUATERNION(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw)
-{
- x = fx;
- y = fy;
- z = fz;
- w = fw;
-}
-
-inline D3DXQUATERNION::operator FLOAT* ()
-{
- return (FLOAT*)&x;
-}
-
-inline D3DXQUATERNION::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&x;
-}
-
-inline D3DXQUATERNION& D3DXQUATERNION::operator += (CONST D3DXQUATERNION& quat)
-{
- x += quat.x;
- y += quat.y;
- z += quat.z;
- w += quat.w;
- return *this;
-}
-
-inline D3DXQUATERNION& D3DXQUATERNION::operator -= (CONST D3DXQUATERNION& quat)
-{
- x -= quat.x;
- y -= quat.y;
- z -= quat.z;
- w -= quat.w;
- return *this;
-}
-
-/* TODO: uncomment this when D3DXQuaternionMultiply has been implemented
-inline D3DXQUATERNION& D3DXQUATERNION::operator *= (CONST D3DXQUATERNION& quat)
-{
- D3DXQuaternionMultiply(this, this, &quat);
- return *this;
-}
-*/
-
-inline D3DXQUATERNION& D3DXQUATERNION::operator *= (FLOAT f)
-{
- x *= f;
- y *= f;
- z *= f;
- w *= f;
- return *this;
-}
-
-inline D3DXQUATERNION& D3DXQUATERNION::operator /= (FLOAT f)
-{
- FLOAT inv = 1.0f / f;
- x *= inv;
- y *= inv;
- z *= inv;
- w *= inv;
- return *this;
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator + () const
-{
- return *this;
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator - () const
-{
- return D3DXQUATERNION(-x, -y, -z, -w);
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator + (CONST D3DXQUATERNION& quat) const
-{
- return D3DXQUATERNION(x + quat.x, y + quat.y, z + quat.z, w + quat.w);
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator - (CONST D3DXQUATERNION& quat) const
-{
- return D3DXQUATERNION(x - quat.x, y - quat.y, z - quat.z, w - quat.w);
-}
-
-/* TODO: uncomment this when D3DXQuaternionMultiply has been implemented
-inline D3DXQUATERNION D3DXQUATERNION::operator * (CONST D3DXQUATERNION& quat) const
-{
- D3DXQUATERNION buf;
- D3DXQuaternionMultiply(&buf, this, &quat);
- return buf;
-}
-*/
-
-inline D3DXQUATERNION D3DXQUATERNION::operator * (FLOAT f) const
-{
- return D3DXQUATERNION(x * f, y * f, z * f, w * f);
-}
-
-inline D3DXQUATERNION D3DXQUATERNION::operator / (FLOAT f) const
-{
- FLOAT inv = 1.0f / f;
- return D3DXQUATERNION(x * inv, y * inv, z * inv, w * inv);
-}
-
-inline D3DXQUATERNION operator * (FLOAT f, CONST D3DXQUATERNION& quat)
-{
- return D3DXQUATERNION(f * quat.x, f * quat.y, f * quat.z, f * quat.w);
-}
-
-inline BOOL D3DXQUATERNION::operator == (CONST D3DXQUATERNION& quat) const
-{
- return x == quat.x && y == quat.y && z == quat.z && w == quat.w;
-}
-
-inline BOOL D3DXQUATERNION::operator != (CONST D3DXQUATERNION& quat) const
-{
- return x != quat.x || y != quat.y || z != quat.z || w != quat.w;
-}
-
-inline D3DXPLANE::D3DXPLANE()
-{
-}
-
-inline D3DXPLANE::D3DXPLANE(CONST FLOAT *pf)
-{
- if(!pf) return;
- a = pf[0];
- b = pf[1];
- c = pf[2];
- d = pf[3];
-}
-
-inline D3DXPLANE::D3DXPLANE(FLOAT fa, FLOAT fb, FLOAT fc, FLOAT fd)
-{
- a = fa;
- b = fb;
- c = fc;
- d = fd;
-}
-
-inline D3DXPLANE::operator FLOAT* ()
-{
- return (FLOAT*)&a;
-}
-
-inline D3DXPLANE::operator CONST FLOAT* () const
-{
- return (CONST FLOAT*)&a;
-}
-
-inline D3DXPLANE D3DXPLANE::operator + () const
-{
- return *this;
-}
-
-inline D3DXPLANE D3DXPLANE::operator - () const
-{
- return D3DXPLANE(-a, -b, -c, -d);
-}
-
-inline BOOL D3DXPLANE::operator == (CONST D3DXPLANE& pl) const
-{
- return a == pl.a && b == pl.b && c == pl.c && d == pl.d;
-}
-
-inline BOOL D3DXPLANE::operator != (CONST D3DXPLANE& pl) const
-{
- return a != pl.a || b != pl.b || c != pl.c || d != pl.d;
-}
-
-inline D3DXCOLOR::D3DXCOLOR()
-{
-}
-
-inline D3DXCOLOR::D3DXCOLOR(DWORD col)
-{
- CONST FLOAT f = 1.0f / 255.0f;
- r = f * (FLOAT)(unsigned char)(col >> 16);
- g = f * (FLOAT)(unsigned char)(col >> 8);
- b = f * (FLOAT)(unsigned char)col;
- a = f * (FLOAT)(unsigned char)(col >> 24);
-}
-
-inline D3DXCOLOR::D3DXCOLOR(CONST FLOAT *pf)
-{
- if(!pf) return;
- r = pf[0];
- g = pf[1];
- b = pf[2];
- a = pf[3];
-}
-
-inline D3DXCOLOR::D3DXCOLOR(CONST D3DCOLORVALUE& col)
-{
- r = col.r;
- g = col.g;
- b = col.b;
- a = col.a;
-}
-
-inline D3DXCOLOR::D3DXCOLOR(FLOAT fr, FLOAT fg, FLOAT fb, FLOAT fa)
-{
- r = fr;
- g = fg;
- b = fb;
- a = fa;
-}
-
-inline D3DXCOLOR::operator DWORD () const
-{
- DWORD _r = r >= 1.0f ? 0xff : r <= 0.0f ? 0x00 : (DWORD)(r * 255.0f + 0.5f);
- DWORD _g = g >= 1.0f ? 0xff : g <= 0.0f ? 0x00 : (DWORD)(g * 255.0f + 0.5f);
- DWORD _b = b >= 1.0f ? 0xff : b <= 0.0f ? 0x00 : (DWORD)(b * 255.0f + 0.5f);
- DWORD _a = a >= 1.0f ? 0xff : a <= 0.0f ? 0x00 : (DWORD)(a * 255.0f + 0.5f);
-
- return (_a << 24) | (_r << 16) | (_g << 8) | _b;
-}
-
-inline D3DXCOLOR::operator FLOAT * ()
-{
- return (FLOAT*)&r;
-}
-
-inline D3DXCOLOR::operator CONST FLOAT * () const
-{
- return (CONST FLOAT*)&r;
-}
-
-inline D3DXCOLOR::operator D3DCOLORVALUE * ()
-{
- return (D3DCOLORVALUE*)&r;
-}
-
-inline D3DXCOLOR::operator CONST D3DCOLORVALUE * () const
-{
- return (CONST D3DCOLORVALUE*)&r;
-}
-
-inline D3DXCOLOR::operator D3DCOLORVALUE& ()
-{
- return *((D3DCOLORVALUE*)&r);
-}
-
-inline D3DXCOLOR::operator CONST D3DCOLORVALUE& () const
-{
- return *((CONST D3DCOLORVALUE*)&r);
-}
-
-inline D3DXCOLOR& D3DXCOLOR::operator += (CONST D3DXCOLOR& col)
-{
- r += col.r;
- g += col.g;
- b += col.b;
- a += col.a;
- return *this;
-}
-
-inline D3DXCOLOR& D3DXCOLOR::operator -= (CONST D3DXCOLOR& col)
-{
- r -= col.r;
- g -= col.g;
- b -= col.b;
- a -= col.a;
- return *this;
-}
-
-inline D3DXCOLOR& D3DXCOLOR::operator *= (FLOAT f)
-{
- r *= f;
- g *= f;
- b *= f;
- a *= f;
- return *this;
-}
-
-inline D3DXCOLOR& D3DXCOLOR::operator /= (FLOAT f)
-{
- FLOAT inv = 1.0f / f;
- r *= inv;
- g *= inv;
- b *= inv;
- a *= inv;
- return *this;
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator + () const
-{
- return *this;
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator - () const
-{
- return D3DXCOLOR(-r, -g, -b, -a);
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator + (CONST D3DXCOLOR& col) const
-{
- return D3DXCOLOR(r + col.r, g + col.g, b + col.b, a + col.a);
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator - (CONST D3DXCOLOR& col) const
-{
- return D3DXCOLOR(r - col.r, g - col.g, b - col.b, a - col.a);
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator * (FLOAT f) const
-{
- return D3DXCOLOR(r * f, g * f, b * f, a * f);
-}
-
-inline D3DXCOLOR D3DXCOLOR::operator / (FLOAT f) const
-{
- FLOAT inv = 1.0f / f;
- return D3DXCOLOR(r * inv, g * inv, b * inv, a * inv);
-}
-
-inline D3DXCOLOR operator * (FLOAT f, CONST D3DXCOLOR& col)
-{
- return D3DXCOLOR(f * col.r, f * col.g, f * col.b, f * col.a);
-}
-
-inline BOOL D3DXCOLOR::operator == (CONST D3DXCOLOR& col) const
-{
- return r == col.r && g == col.g && b == col.b && a == col.a;
-}
-
-inline BOOL D3DXCOLOR::operator != (CONST D3DXCOLOR& col) const
-{
- return r != col.r || g != col.g || b != col.b || a != col.a;
-}
-
-#endif /* __cplusplus */
-
-/*_______________D3DXCOLOR_____________________*/
-
-static inline D3DXCOLOR* D3DXColorAdd(D3DXCOLOR *pout, CONST D3DXCOLOR *pc1, CONST D3DXCOLOR *pc2)
-{
- if ( !pout || !pc1 || !pc2 ) return NULL;
- pout->r = (pc1->r) + (pc2->r);
- pout->g = (pc1->g) + (pc2->g);
- pout->b = (pc1->b) + (pc2->b);
- pout->a = (pc1->a) + (pc2->a);
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorLerp(D3DXCOLOR *pout, CONST D3DXCOLOR *pc1, CONST D3DXCOLOR *pc2, FLOAT s)
-{
- if ( !pout || !pc1 || !pc2 ) return NULL;
- pout->r = (1-s) * (pc1->r) + s *(pc2->r);
- pout->g = (1-s) * (pc1->g) + s *(pc2->g);
- pout->b = (1-s) * (pc1->b) + s *(pc2->b);
- pout->a = (1-s) * (pc1->a) + s *(pc2->a);
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorModulate(D3DXCOLOR *pout, CONST D3DXCOLOR *pc1, CONST D3DXCOLOR *pc2)
-{
- if ( !pout || !pc1 || !pc2 ) return NULL;
- pout->r = (pc1->r) * (pc2->r);
- pout->g = (pc1->g) * (pc2->g);
- pout->b = (pc1->b) * (pc2->b);
- pout->a = (pc1->a) * (pc2->a);
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorNegative(D3DXCOLOR *pout, CONST D3DXCOLOR *pc)
-{
- if ( !pout || !pc ) return NULL;
- pout->r = 1.0f - pc->r;
- pout->g = 1.0f - pc->g;
- pout->b = 1.0f - pc->b;
- pout->a = pc->a;
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorScale(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s)
-{
- if ( !pout || !pc ) return NULL;
- pout->r = s* (pc->r);
- pout->g = s* (pc->g);
- pout->b = s* (pc->b);
- pout->a = s* (pc->a);
- return pout;
-}
-
-static inline D3DXCOLOR* D3DXColorSubtract(D3DXCOLOR *pout, CONST D3DXCOLOR *pc1, CONST D3DXCOLOR *pc2)
-{
- if ( !pout || !pc1 || !pc2 ) return NULL;
- pout->r = (pc1->r) - (pc2->r);
- pout->g = (pc1->g) - (pc2->g);
- pout->b = (pc1->b) - (pc2->b);
- pout->a = (pc1->a) - (pc2->a);
- return pout;
-}
-
-/*_______________D3DXVECTOR2________________________*/
-
-static inline D3DXVECTOR2* D3DXVec2Add(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x + pv2->x;
- pout->y = pv1->y + pv2->y;
- return pout;
-}
-
-static inline FLOAT D3DXVec2CCW(CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pv1 || !pv2) return 0.0f;
- return ( (pv1->x) * (pv2->y) - (pv1->y) * (pv2->x) );
-}
-
-static inline FLOAT D3DXVec2Dot(CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pv1 || !pv2) return 0.0f;
- return ( (pv1->x * pv2->x + pv1->y * pv2->y) );
-}
-
-static inline FLOAT D3DXVec2Length(CONST D3DXVECTOR2 *pv)
-{
- if (!pv) return 0.0f;
- return sqrt( (pv->x) * (pv->x) + (pv->y) * (pv->y) );
-}
-
-static inline FLOAT D3DXVec2LengthSq(CONST D3DXVECTOR2 *pv)
-{
- if (!pv) return 0.0f;
- return( (pv->x) * (pv->x) + (pv->y) * (pv->y) );
-}
-
-static inline D3DXVECTOR2* D3DXVec2Lerp(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2, FLOAT s)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = (1-s) * (pv1->x) + s * (pv2->x);
- pout->y = (1-s) * (pv1->y) + s * (pv2->y);
- return pout;
-}
-
-static inline D3DXVECTOR2* D3DXVec2Maximize(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = max(pv1->x , pv2->x);
- pout->y = max(pv1->y , pv2->y);
- return pout;
-}
-
-static inline D3DXVECTOR2* D3DXVec2Minimize(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = min(pv1->x , pv2->x);
- pout->y = min(pv1->y , pv2->y);
- return pout;
-}
-
-static inline D3DXVECTOR2* D3DXVec2Scale(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv, FLOAT s)
-{
- if ( !pout || !pv) return NULL;
- pout->x = s * (pv->x);
- pout->y = s * (pv->y);
- return pout;
-}
-
-static inline D3DXVECTOR2* D3DXVec2Subtract(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv1, CONST D3DXVECTOR2 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x - pv2->x;
- pout->y = pv1->y - pv2->y;
- return pout;
-}
-
-/*__________________D3DXVECTOR3_______________________*/
-
-static inline D3DXVECTOR3* D3DXVec3Add(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x + pv2->x;
- pout->y = pv1->y + pv2->y;
- pout->z = pv1->z + pv2->z;
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Cross(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = (pv1->y) * (pv2->z) - (pv1->z) * (pv2->y);
- pout->y = (pv1->z) * (pv2->x) - (pv1->x) * (pv2->z);
- pout->z = (pv1->x) * (pv2->y) - (pv1->y) * (pv2->x);
- return pout;
-}
-
-static inline FLOAT D3DXVec3Dot(CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pv1 || !pv2 ) return 0.0f;
- return (pv1->x) * (pv2->x) + (pv1->y) * (pv2->y) + (pv1->z) * (pv2->z);
-}
-
-static inline FLOAT D3DXVec3Length(CONST D3DXVECTOR3 *pv)
-{
- if (!pv) return 0.0f;
- return sqrt( (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z) );
-}
-
-static inline FLOAT D3DXVec3LengthSq(CONST D3DXVECTOR3 *pv)
-{
- if (!pv) return 0.0f;
- return (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z);
-}
-
-static inline D3DXVECTOR3* D3DXVec3Lerp(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2, FLOAT s)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = (1-s) * (pv1->x) + s * (pv2->x);
- pout->y = (1-s) * (pv1->y) + s * (pv2->y);
- pout->z = (1-s) * (pv1->z) + s * (pv2->z);
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Maximize(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = max(pv1->x , pv2->x);
- pout->y = max(pv1->y , pv2->y);
- pout->z = max(pv1->z , pv2->z);
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Minimize(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = min(pv1->x , pv2->x);
- pout->y = min(pv1->y , pv2->y);
- pout->z = min(pv1->z , pv2->z);
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Scale(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv, FLOAT s)
-{
- if ( !pout || !pv) return NULL;
- pout->x = s * (pv->x);
- pout->y = s * (pv->y);
- pout->z = s * (pv->z);
- return pout;
-}
-
-static inline D3DXVECTOR3* D3DXVec3Subtract(D3DXVECTOR3 *pout, CONST D3DXVECTOR3 *pv1, CONST D3DXVECTOR3 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x - pv2->x;
- pout->y = pv1->y - pv2->y;
- pout->z = pv1->z - pv2->z;
- return pout;
-}
-/*__________________D3DXVECTOR4_______________________*/
-
-static inline D3DXVECTOR4* D3DXVec4Add(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x + pv2->x;
- pout->y = pv1->y + pv2->y;
- pout->z = pv1->z + pv2->z;
- pout->w = pv1->w + pv2->w;
- return pout;
-}
-
-static inline FLOAT D3DXVec4Dot(CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if (!pv1 || !pv2 ) return 0.0f;
- return (pv1->x) * (pv2->x) + (pv1->y) * (pv2->y) + (pv1->z) * (pv2->z) + (pv1->w) * (pv2->w);
-}
-
-static inline FLOAT D3DXVec4Length(CONST D3DXVECTOR4 *pv)
-{
- if (!pv) return 0.0f;
- return sqrt( (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z) + (pv->w) * (pv->w) );
-}
-
-static inline FLOAT D3DXVec4LengthSq(CONST D3DXVECTOR4 *pv)
-{
- if (!pv) return 0.0f;
- return (pv->x) * (pv->x) + (pv->y) * (pv->y) + (pv->z) * (pv->z) + (pv->w) * (pv->w);
-}
-
-static inline D3DXVECTOR4* D3DXVec4Lerp(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2, FLOAT s)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = (1-s) * (pv1->x) + s * (pv2->x);
- pout->y = (1-s) * (pv1->y) + s * (pv2->y);
- pout->z = (1-s) * (pv1->z) + s * (pv2->z);
- pout->w = (1-s) * (pv1->w) + s * (pv2->w);
- return pout;
-}
-
-
-static inline D3DXVECTOR4* D3DXVec4Maximize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = max(pv1->x , pv2->x);
- pout->y = max(pv1->y , pv2->y);
- pout->z = max(pv1->z , pv2->z);
- pout->w = max(pv1->w , pv2->w);
- return pout;
-}
-
-static inline D3DXVECTOR4* D3DXVec4Minimize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = min(pv1->x , pv2->x);
- pout->y = min(pv1->y , pv2->y);
- pout->z = min(pv1->z , pv2->z);
- pout->w = min(pv1->w , pv2->w);
- return pout;
-}
-
-static inline D3DXVECTOR4* D3DXVec4Scale(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv, FLOAT s)
-{
- if ( !pout || !pv) return NULL;
- pout->x = s * (pv->x);
- pout->y = s * (pv->y);
- pout->z = s * (pv->z);
- pout->w = s * (pv->w);
- return pout;
-}
-
-static inline D3DXVECTOR4* D3DXVec4Subtract(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CONST D3DXVECTOR4 *pv2)
-{
- if ( !pout || !pv1 || !pv2) return NULL;
- pout->x = pv1->x - pv2->x;
- pout->y = pv1->y - pv2->y;
- pout->z = pv1->z - pv2->z;
- pout->w = pv1->w - pv2->w;
- return pout;
-}
-
-/*__________________D3DXMatrix____________________*/
-#ifdef NONAMELESSUNION
-# define D3DX_U(x) (x).u
-#else
-# define D3DX_U(x) (x)
-#endif
-
-static inline D3DXMATRIX* D3DXMatrixIdentity(D3DXMATRIX *pout)
-{
- if ( !pout ) return NULL;
- D3DX_U(*pout).m[0][1] = 0.0f;
- D3DX_U(*pout).m[0][2] = 0.0f;
- D3DX_U(*pout).m[0][3] = 0.0f;
- D3DX_U(*pout).m[1][0] = 0.0f;
- D3DX_U(*pout).m[1][2] = 0.0f;
- D3DX_U(*pout).m[1][3] = 0.0f;
- D3DX_U(*pout).m[2][0] = 0.0f;
- D3DX_U(*pout).m[2][1] = 0.0f;
- D3DX_U(*pout).m[2][3] = 0.0f;
- D3DX_U(*pout).m[3][0] = 0.0f;
- D3DX_U(*pout).m[3][1] = 0.0f;
- D3DX_U(*pout).m[3][2] = 0.0f;
- D3DX_U(*pout).m[0][0] = 1.0f;
- D3DX_U(*pout).m[1][1] = 1.0f;
- D3DX_U(*pout).m[2][2] = 1.0f;
- D3DX_U(*pout).m[3][3] = 1.0f;
- return pout;
-}
-
-static inline BOOL D3DXMatrixIsIdentity(D3DXMATRIX *pm)
-{
- int i,j;
- D3DXMATRIX testmatrix;
-
- if ( !pm ) return FALSE;
- D3DXMatrixIdentity(&testmatrix);
- for (i=0; i<4; i++)
- {
- for (j=0; j<4; j++)
- {
- if ( D3DX_U(*pm).m[i][j] != D3DX_U(testmatrix).m[i][j] ) return FALSE;
- }
- }
- return TRUE;
-}
-#undef D3DX_U
-
-/*__________________D3DXPLANE____________________*/
-
-static inline FLOAT D3DXPlaneDot(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv)
-{
- if ( !pp || !pv ) return 0.0f;
- return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) + (pp->d) * (pv->w) );
-}
-
-static inline FLOAT D3DXPlaneDotCoord(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv)
-{
- if ( !pp || !pv ) return 0.0f;
- return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) + (pp->d) );
-}
-
-static inline FLOAT D3DXPlaneDotNormal(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv)
-{
- if ( !pp || !pv ) return 0.0f;
- return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) );
-}
-
-/*__________________D3DXQUATERNION____________________*/
-
-static inline D3DXQUATERNION* D3DXQuaternionConjugate(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq)
-{
- if ( !pout || !pq) return NULL;
- pout->x = -pq->x;
- pout->y = -pq->y;
- pout->z = -pq->z;
- pout->w = pq->w;
- return pout;
-}
-
-static inline FLOAT D3DXQuaternionDot(CONST D3DXQUATERNION *pq1, CONST D3DXQUATERNION *pq2)
-{
- if ( !pq1 || !pq2 ) return 0.0f;
- return (pq1->x) * (pq2->x) + (pq1->y) * (pq2->y) + (pq1->z) * (pq2->z) + (pq1->w) * (pq2->w);
-}
-
-static inline D3DXQUATERNION* D3DXQuaternionIdentity(D3DXQUATERNION *pout)
-{
- if ( !pout) return NULL;
- pout->x = 0.0f;
- pout->y = 0.0f;
- pout->z = 0.0f;
- pout->w = 1.0f;
- return pout;
-}
-
-static inline BOOL D3DXQuaternionIsIdentity(D3DXQUATERNION *pq)
-{
- if ( !pq) return FALSE;
- return ( (pq->x == 0.0f) && (pq->y == 0.0f) && (pq->z == 0.0f) && (pq->w == 1.0f) );
-}
-
-static inline FLOAT D3DXQuaternionLength(CONST D3DXQUATERNION *pq)
-{
- if (!pq) return 0.0f;
- return sqrt( (pq->x) * (pq->x) + (pq->y) * (pq->y) + (pq->z) * (pq->z) + (pq->w) * (pq->w) );
-}
-
-static inline FLOAT D3DXQuaternionLengthSq(CONST D3DXQUATERNION *pq)
-{
- if (!pq) return 0.0f;
- return (pq->x) * (pq->x) + (pq->y) * (pq->y) + (pq->z) * (pq->z) + (pq->w) * (pq->w);
-}
-
-#endif
+++ /dev/null
-/*
- * Copyright (C) 2009 David Adam
- * Copyright (C) 2010 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <d3dx9.h>
-
-#ifndef __WINE_D3DX9MESH_H
-#define __WINE_D3DX9MESH_H
-
-DEFINE_GUID(IID_ID3DXBaseMesh, 0x7ed943dd, 0x52e8, 0x40b5, 0xa8, 0xd8, 0x76, 0x68, 0x5c, 0x40, 0x63, 0x30);
-DEFINE_GUID(IID_ID3DXMesh, 0x4020e5c2, 0x1403, 0x4929, 0x88, 0x3f, 0xe2, 0xe8, 0x49, 0xfa, 0xc1, 0x95);
-
-enum _MAX_FVF_DECL_SIZE
-{
- MAX_FVF_DECL_SIZE = MAXD3DDECLLENGTH + 1
-};
-
-typedef struct ID3DXBaseMesh* LPD3DXBASEMESH;
-typedef struct ID3DXMesh* LPD3DXMESH;
-
-typedef struct _D3DXATTRIBUTERANGE {
- DWORD AttribId;
- DWORD FaceStart;
- DWORD FaceCount;
- DWORD VertexStart;
- DWORD VertexCount;
-} D3DXATTRIBUTERANGE;
-
-typedef D3DXATTRIBUTERANGE* LPD3DXATTRIBUTERANGE;
-
-#undef INTERFACE
-#define INTERFACE ID3DXBaseMesh
-
-DECLARE_INTERFACE_(ID3DXBaseMesh, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseMesh ***/
- STDMETHOD(DrawSubset)(THIS_ DWORD attrib_id) PURE;
- STDMETHOD_(DWORD, GetNumFaces)(THIS) PURE;
- STDMETHOD_(DWORD, GetNumVertices)(THIS) PURE;
- STDMETHOD_(DWORD, GetFVF)(THIS) PURE;
- STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE]) PURE;
- STDMETHOD_(DWORD, GetNumBytesPerVertex)(THIS) PURE;
- STDMETHOD_(DWORD, GetOptions)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9* device) PURE;
- STDMETHOD(CloneMeshFVF)(THIS_ DWORD options, DWORD fvf, LPDIRECT3DDEVICE9 device, LPD3DXMESH* clone_mesh) PURE;
- STDMETHOD(CloneMesh)(THIS_ DWORD options, CONST D3DVERTEXELEMENT9* declaration, LPDIRECT3DDEVICE9 device,
- LPD3DXMESH* clone_mesh) PURE;
- STDMETHOD(GetVertexBuffer)(THIS_ LPDIRECT3DVERTEXBUFFER9* vertex_buffer) PURE;
- STDMETHOD(GetIndexBuffer)(THIS_ LPDIRECT3DINDEXBUFFER9* index_buffer) PURE;
- STDMETHOD(LockVertexBuffer)(THIS_ DWORD flags, LPVOID* data) PURE;
- STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
- STDMETHOD(LockIndexBuffer)(THIS_ DWORD flags, LPVOID* data) PURE;
- STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
- STDMETHOD(GetAttributeTable)(THIS_ D3DXATTRIBUTERANGE* attrib_table, DWORD* attrib_table_size) PURE;
- STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST DWORD* point_reps, DWORD* adjacency) PURE;
- STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST DWORD* adjacency, DWORD* point_reps) PURE;
- STDMETHOD(GenerateAdjacency)(THIS_ FLOAT epsilon, DWORD* adjacency) PURE;
- STDMETHOD(UpdateSemantics)(THIS_ D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE]) PURE;
-};
-
-
-#undef INTERFACE
-#define INTERFACE ID3DXMesh
-
-DECLARE_INTERFACE_(ID3DXMesh, ID3DXBaseMesh)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID* object) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBaseMesh ***/
- STDMETHOD(DrawSubset)(THIS_ DWORD attrib_id) PURE;
- STDMETHOD_(DWORD, GetNumFaces)(THIS) PURE;
- STDMETHOD_(DWORD, GetNumVertices)(THIS) PURE;
- STDMETHOD_(DWORD, GetFVF)(THIS) PURE;
- STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE]) PURE;
- STDMETHOD_(DWORD, GetNumBytesPerVertex)(THIS) PURE;
- STDMETHOD_(DWORD, GetOptions)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9* device) PURE;
- STDMETHOD(CloneMeshFVF)(THIS_ DWORD options, DWORD fvf, LPDIRECT3DDEVICE9 device, LPD3DXMESH* clone_mesh) PURE;
- STDMETHOD(CloneMesh)(THIS_ DWORD options, CONST D3DVERTEXELEMENT9* declaration, LPDIRECT3DDEVICE9 device,
- LPD3DXMESH* clone_mesh) PURE;
- STDMETHOD(GetVertexBuffer)(THIS_ LPDIRECT3DVERTEXBUFFER9* vertex_buffer) PURE;
- STDMETHOD(GetIndexBuffer)(THIS_ LPDIRECT3DINDEXBUFFER9* index_buffer) PURE;
- STDMETHOD(LockVertexBuffer)(THIS_ DWORD flags, LPVOID* data) PURE;
- STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
- STDMETHOD(LockIndexBuffer)(THIS_ DWORD flags, LPVOID* data) PURE;
- STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
- STDMETHOD(GetAttributeTable)(THIS_ D3DXATTRIBUTERANGE* attrib_table, DWORD* attrib_table_size) PURE;
- STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST DWORD* point_reps, DWORD* adjacency) PURE;
- STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST DWORD* adjacency, DWORD* point_reps) PURE;
- STDMETHOD(GenerateAdjacency)(THIS_ FLOAT epsilon, DWORD* adjacency) PURE;
- STDMETHOD(UpdateSemantics)(THIS_ D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE]) PURE;
- /*** ID3DXMesh ***/
- STDMETHOD(LockAttributeBuffer)(THIS_ DWORD flags, DWORD** data) PURE;
- STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
- STDMETHOD(Optimize)(THIS_ DWORD flags, CONST DWORD* adjacency_in, DWORD* adjacency_out,
- DWORD* face_remap, LPD3DXBUFFER* vertex_remap, LPD3DXMESH* opt_mesh) PURE;
- STDMETHOD(OptimizeInplace)(THIS_ DWORD flags, CONST DWORD* adjacency_in, DWORD* adjacency_out,
- DWORD* face_remap, LPD3DXBUFFER* vertex_remap) PURE;
- STDMETHOD(SetAttributeTable)(THIS_ CONST D3DXATTRIBUTERANGE* attrib_table, DWORD attrib_table_size) PURE;
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3DXCreateBuffer(DWORD, LPD3DXBUFFER*);
-UINT WINAPI D3DXGetDeclVertexSize(const D3DVERTEXELEMENT9 *decl, DWORD stream_idx);
-UINT WINAPI D3DXGetFVFVertexSize(DWORD);
-BOOL WINAPI D3DXBoxBoundProbe(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *);
-BOOL WINAPI D3DXSphereBoundProbe(CONST D3DXVECTOR3 *,FLOAT,CONST D3DXVECTOR3 *,CONST D3DXVECTOR3 *);
-HRESULT WINAPI D3DXComputeBoundingBox(CONST D3DXVECTOR3 *, DWORD, DWORD, D3DXVECTOR3 *, D3DXVECTOR3 *);
-HRESULT WINAPI D3DXComputeBoundingSphere(CONST D3DXVECTOR3 *, DWORD, DWORD, D3DXVECTOR3 *, FLOAT *);
-HRESULT WINAPI D3DXDeclaratorFromFVF(DWORD, D3DVERTEXELEMENT9[MAX_FVF_DECL_SIZE]);
-BOOL WINAPI D3DXIntersectTri(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3*, FLOAT *, FLOAT *, FLOAT *);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINE_D3DX9MESH_H */
+++ /dev/null
-/*
- * Copyright 2008 Luis Busquets
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include "d3dx9.h"
-
-#ifndef __D3DX9SHADER_H__
-#define __D3DX9SHADER_H__
-
-#define D3DXSHADER_DEBUG 0x1
-#define D3DXSHADER_SKIPVALIDATION 0x2
-#define D3DXSHADER_SKIPOPTIMIZATION 0x4
-#define D3DXSHADER_PACKMATRIX_ROWMAJOR 0x8
-#define D3DXSHADER_PACKMATRIX_COLUMNMAJOR 0x10
-#define D3DXSHADER_PARTIALPRECISION 0x20
-#define D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT 0x40
-#define D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT 0x80
-#define D3DXSHADER_NO_PRESHADER 0x100
-#define D3DXSHADER_AVOID_FLOW_CONTROL 0x200
-#define D3DXSHADER_PREFER_FLOW_CONTROL 0x400
-#define D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY 0x1000
-#define D3DXSHADER_IEEE_STRICTNESS 0x2000
-
-#define D3DXSHADER_OPTIMIZATION_LEVEL0 0x4000
-#define D3DXSHADER_OPTIMIZATION_LEVEL1 0x0
-#define D3DXSHADER_OPTIMIZATION_LEVEL2 0xC000
-#define D3DXSHADER_OPTIMIZATION_LEVEL3 0x8000
-
-#define D3DXSHADER_USE_LEGACY_D3DX9_31_DLL 0x10000
-
-typedef LPCSTR D3DXHANDLE;
-
-typedef enum _D3DXREGISTER_SET
-{
- D3DXRS_BOOL,
- D3DXRS_INT4,
- D3DXRS_FLOAT4,
- D3DXRS_SAMPLER,
- D3DXRS_FORCE_DWORD = 0x7fffffff
-} D3DXREGISTER_SET, *LPD3DXREGISTER_SET;
-
-typedef enum D3DXPARAMETER_CLASS
-{
- D3DXPC_SCALAR,
- D3DXPC_VECTOR,
- D3DXPC_MATRIX_ROWS,
- D3DXPC_MATRIX_COLUMNS,
- D3DXPC_OBJECT,
- D3DXPC_STRUCT,
- D3DXPC_FORCE_DWORD = 0x7fffffff,
-} D3DXPARAMETER_CLASS, *LPD3DXPARAMETER_CLASS;
-
-typedef enum D3DXPARAMETER_TYPE
-{
- D3DXPT_VOID,
- D3DXPT_BOOL,
- D3DXPT_INT,
- D3DXPT_FLOAT,
- D3DXPT_STRING,
- D3DXPT_TEXTURE,
- D3DXPT_TEXTURE1D,
- D3DXPT_TEXTURE2D,
- D3DXPT_TEXTURE3D,
- D3DXPT_TEXTURECUBE,
- D3DXPT_SAMPLER,
- D3DXPT_SAMPLER1D,
- D3DXPT_SAMPLER2D,
- D3DXPT_SAMPLER3D,
- D3DXPT_SAMPLERCUBE,
- D3DXPT_PIXELSHADER,
- D3DXPT_VERTEXSHADER,
- D3DXPT_PIXELFRAGMENT,
- D3DXPT_VERTEXFRAGMENT,
- D3DXPT_UNSUPPORTED,
- D3DXPT_FORCE_DWORD = 0x7fffffff,
-} D3DXPARAMETER_TYPE, *LPD3DXPARAMETER_TYPE;
-
-typedef struct _D3DXCONSTANTTABLE_DESC
-{
- LPCSTR Creator;
- DWORD Version;
- UINT Constants;
-} D3DXCONSTANTTABLE_DESC, *LPD3DXCONSTANTTABLE_DESC;
-
-typedef struct _D3DXCONSTANT_DESC
-{
- LPCSTR Name;
- D3DXREGISTER_SET RegisterSet;
- UINT RegisterIndex;
- UINT RegisterCount;
- D3DXPARAMETER_CLASS Class;
- D3DXPARAMETER_TYPE Type;
- UINT Rows;
- UINT Columns;
- UINT Elements;
- UINT StructMembers;
- UINT Bytes;
- LPCVOID DefaultValue;
-} D3DXCONSTANT_DESC, *LPD3DXCONSTANT_DESC;
-
-DEFINE_GUID(IID_ID3DXConstantTable, 0x9dca3190, 0x38b9, 0x4fc3, 0x92, 0xe3, 0x39, 0xc6, 0xdd, 0xfb, 0x35, 0x8b);
-
-#undef INTERFACE
-#define INTERFACE ID3DXConstantTable
-
-DECLARE_INTERFACE_(ID3DXConstantTable, ID3DXBuffer)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- /*** ID3DXBuffer methods ***/
- STDMETHOD_(LPVOID, GetBufferPointer)(THIS) PURE;
- STDMETHOD_(DWORD, GetBufferSize)(THIS) PURE;
- /*** ID3DXConstantTable methods ***/
- STDMETHOD(GetDesc)(THIS_ D3DXCONSTANTTABLE_DESC *pDesc) PURE;
- STDMETHOD(GetConstantDesc)(THIS_ D3DXHANDLE hConstant, D3DXCONSTANT_DESC *pConstantDesc, UINT *pCount) PURE;
- STDMETHOD_(UINT, GetSamplerIndex)(THIS_ D3DXHANDLE hConstant) PURE;
- STDMETHOD_(D3DXHANDLE, GetConstant)(THIS_ D3DXHANDLE hConstant, UINT Index) PURE;
- STDMETHOD_(D3DXHANDLE, GetConstantByName)(THIS_ D3DXHANDLE hConstant, LPCSTR pName) PURE;
- STDMETHOD_(D3DXHANDLE, GetConstantElement)(THIS_ D3DXHANDLE hConstant, UINT Index) PURE;
- STDMETHOD(SetDefaults)(THIS_ LPDIRECT3DDEVICE9 pDevice) PURE;
- STDMETHOD(SetValue)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes) PURE;
- STDMETHOD(SetBool)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL b) PURE;
- STDMETHOD(SetBoolArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST BOOL* pb, UINT Count) PURE;
- STDMETHOD(SetInt)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT n) PURE;
- STDMETHOD(SetIntArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST INT* pn, UINT Count) PURE;
- STDMETHOD(SetFloat)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT f) PURE;
- STDMETHOD(SetFloatArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST FLOAT* pf, UINT Count) PURE;
- STDMETHOD(SetVector)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXVECTOR4* pVector) PURE;
- STDMETHOD(SetVectorArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXVECTOR4* pVector, UINT Count) PURE;
- STDMETHOD(SetMatrix)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix) PURE;
- STDMETHOD(SetMatrixArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
- STDMETHOD(SetMatrixPointerArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
- STDMETHOD(SetMatrixTranspose)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix) PURE;
- STDMETHOD(SetMatrixTransposeArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
- STDMETHOD(SetMatrixTransposePointerArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define ID3DXConstantTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ID3DXConstantTable_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ID3DXConstantTable_Release(p) (p)->lpVtbl->Release(p)
-/*** ID3DXBuffer methods ***/
-#define ID3DXConstantTable_GetBufferPointer(p) (p)->lpVtbl->GetBufferPointer(p)
-#define ID3DXConstantTable_GetBufferSize(p) (p)->lpVtbl->GetBufferSize(p)
-/*** ID3DXConstantTable methods ***/
-#define ID3DXConstantTable_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define ID3DXConstantTable_GetConstantDesc(p,a,b,c) (p)->lpVtbl->GetConstantDesc(p,a,b,c)
-#define ID3DXConstantTable_GetSamplerIndex(p,a) (p)->lpVtbl->GetSamplerIndex(p,a)
-#define ID3DXConstantTable_GetConstant(p,a,b) (p)->lpVtbl->GetConstant(p,a,b)
-#define ID3DXConstantTable_GetConstantByName(p,a,b) (p)->lpVtbl->GetConstantByName(p,a,b)
-#define ID3DXConstantTable_GetConstantElement(p,a,b) (p)->lpVtbl->GetConstantElement(p,a,b)
-#define ID3DXConstantTable_SetDefaults(p,a) (p)->lpVtbl->SetDefaults(p,a)
-#define ID3DXConstantTable_SetValue(p,a,b,c,d) (p)->lpVtbl->SetValue(p,a,b,c,d)
-#define ID3DXConstantTable_SetBool(p,a,b,c) (p)->lpVtbl->SetBool(p,a,b,c)
-#define ID3DXConstantTable_SetBoolArray(p,a,b,c,d) (p)->lpVtbl->SetBoolArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetInt(p,a,b,c) (p)->lpVtbl->SetInt(p,a,b,c)
-#define ID3DXConstantTable_SetIntArray(p,a,b,c,d) (p)->lpVtbl->SetIntArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetFloat(p,a,b,c) (p)->lpVtbl->SetFloat(p,a,b,c)
-#define ID3DXConstantTable_SetFloatArray(p,a,b,c,d) (p)->lpVtbl->SetFloatArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetVector(p,a,b,c) (p)->lpVtbl->SetVector(p,a,b,c)
-#define ID3DXConstantTable_SetVectorArray(p,a,b,c,d) (p)->lpVtbl->SetVectorArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetMatrix(p,a,b,c) (p)->lpVtbl->SetMatrix(p,a,b,c)
-#define ID3DXConstantTable_SetMatrixArray(p,a,b,c,d) (p)->lpVtbl->SetMatrixArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetMatrixPointerArray(p,a,b,c,d) (p)->lpVtbl->SetMatrixPointerArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetMatrixTranspose(p,a,b,c) (p)->lpVtbl->SetMatrixTranspose(p,a,b,c)
-#define ID3DXConstantTable_SetMatrixTransposeArray(p,a,b,c,d) (p)->lpVtbl->SetMatrixTransposeArray(p,a,b,c,d)
-#define ID3DXConstantTable_SetMatrixTransposePointerArray(p,a,b,c,d) (p)->lpVtbl->SetMatrixTransposePointerArray(p,a,b,c,d)
-#else
-/*** IUnknown methods ***/
-#define ID3DXConstantTable_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define ID3DXConstantTable_AddRef(p) (p)->AddRef()
-#define ID3DXConstantTable_Release(p) (p)->Release()
-/*** ID3DXBuffer methods ***/
-#define ID3DXConstantTable_GetBufferPointer(p) (p)->GetBufferPointer()
-#define ID3DXConstantTable_GetBufferSize(p) (p)->GetBufferSize()
-/*** ID3DXConstantTable methods ***/
-#define ID3DXConstantTable_GetDesc(p,a) (p)->GetDesc(a)
-#define ID3DXConstantTable_GetConstantDesc(p,a,b,c) (p)->GetConstantDesc(a,b,c)
-#define ID3DXConstantTable_GetSamplerIndex(p,a) (p)->GetConstantDesc(a)
-#define ID3DXConstantTable_GetConstant(p,a,b) (p)->GetConstant(a,b)
-#define ID3DXConstantTable_GetConstantByName(p,a,b) (p)->GetConstantByName(a,b)
-#define ID3DXConstantTable_GetConstantElement(p,a,b) (p)->GetConstantElement(a,b)
-#define ID3DXConstantTable_SetDefaults(p,a) (p)->SetDefaults(a)
-#define ID3DXConstantTable_SetValue(p,a,b,c,d) (p)->SetValue(a,b,c,d)
-#define ID3DXConstantTable_SetBool(p,a,b,c) (p)->SetBool(a,b,c)
-#define ID3DXConstantTable_SetBoolArray(p,a,b,c,d) (p)->SetBoolArray(a,b,c,d)
-#define ID3DXConstantTable_SetInt(p,a,b,c) (p)->SetInt(a,b,c)
-#define ID3DXConstantTable_SetIntArray(p,a,b,c,d) (p)->SetIntArray(a,b,c,d)
-#define ID3DXConstantTable_SetFloat(p,a,b,c) (p)->SetFloat(a,b,c)
-#define ID3DXConstantTable_SetFloatArray(p,a,b,c,d) (p)->SetFloatArray(a,b,c,d)
-#define ID3DXConstantTable_SetVector(p,a,b,c) (p)->SetVector(a,b,c)
-#define ID3DXConstantTable_SetVectorArray(p,a,b,c,d) (p)->SetVectorArray(a,b,c,d)
-#define ID3DXConstantTable_SetMatrix(p,a,b,c) (p)->SetMatrix(a,b,c)
-#define ID3DXConstantTable_SetMatrixArray(p,a,b,c,d) (p)->SetMatrixArray(a,b,c,d)
-#define ID3DXConstantTable_SetMatrixPointerArray(p,a,b,c,d) (p)->SetMatrixPointerArray(a,b,c,d)
-#define ID3DXConstantTable_SetMatrixTranspose(p,a,b,c) (p)->SetMatrixTranspose(a,b,c)
-#define ID3DXConstantTable_SetMatrixTransposeArray(p,a,b,c,d) (p)->SetMatrixTransposeArray(a,b,c,d)
-#define ID3DXConstantTable_SetMatrixTransposePointerArray(p,a,b,c,d) (p)->SetMatrixTransposePointerArray(a,b,c,d)
-#endif
-
-typedef struct ID3DXConstantTable *LPD3DXCONSTANTTABLE;
-
-typedef struct _D3DXMACRO {
- LPCSTR Name;
- LPCSTR Definition;
-} D3DXMACRO, *LPD3DXMACRO;
-
-typedef struct _D3DXSEMANTIC {
- UINT Usage;
- UINT UsageIndex;
-} D3DXSEMANTIC, *LPD3DXSEMANTIC;
-
-typedef enum _D3DXINCLUDE_TYPE
-{
- D3DXINC_LOCAL,
- D3DXINC_SYSTEM,
- D3DXINC_FORCE_DWORD = 0x7fffffff,
-} D3DXINCLUDE_TYPE, *LPD3DXINCLUDE_TYPE;
-
-#undef INTERFACE
-#define INTERFACE ID3DXInclude
-
-DECLARE_INTERFACE(ID3DXInclude)
-{
- STDMETHOD(Open)(THIS_ D3DXINCLUDE_TYPE include_type, LPCSTR filename, LPCVOID parent_data, LPCVOID *data, UINT *bytes) PURE;
- STDMETHOD(Close)(THIS_ LPCVOID data) PURE;
-};
-
-#define ID3DXInclude_Open(p,a,b,c,d,e) (p)->lpVtbl->Open(p,a,b,c,d,e)
-#define ID3DXInclude_Close(p,a) (p)->lpVtbl->Close(p,a)
-
-typedef struct ID3DXInclude *LPD3DXINCLUDE;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-LPCSTR WINAPI D3DXGetPixelShaderProfile(LPDIRECT3DDEVICE9 device);
-UINT WINAPI D3DXGetShaderSize(const DWORD *byte_code);
-DWORD WINAPI D3DXGetShaderVersion(const DWORD *byte_code);
-LPCSTR WINAPI D3DXGetVertexShaderProfile(LPDIRECT3DDEVICE9 device);
-HRESULT WINAPI D3DXFindShaderComment(CONST DWORD* byte_code, DWORD fourcc, LPCVOID* data, UINT* size);
-
-HRESULT WINAPI D3DXAssembleShaderFromFileA(LPCSTR filename,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXAssembleShaderFromFileW(LPCWSTR filename,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXAssembleShaderFromResourceA(HMODULE module,
- LPCSTR resource,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXAssembleShaderFromResourceW(HMODULE module,
- LPCWSTR resource,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXAssembleShader(LPCSTR data,
- UINT data_len,
- CONST D3DXMACRO* defines,
- LPD3DXINCLUDE include,
- DWORD flags,
- LPD3DXBUFFER* shader,
- LPD3DXBUFFER* error_messages);
-
-HRESULT WINAPI D3DXGetShaderConstantTableEx(CONST DWORD* byte_code,
- DWORD flags,
- LPD3DXCONSTANTTABLE* constant_table);
-
-HRESULT WINAPI D3DXGetShaderConstantTable(CONST DWORD* byte_code,
- LPD3DXCONSTANTTABLE* constant_table);
-
-#ifdef __cplusplus
-}
-#endif
-
-typedef struct _D3DXSHADER_CONSTANTTABLE
-{
- DWORD Size;
- DWORD Creator;
- DWORD Version;
- DWORD Constants;
- DWORD ConstantInfo;
- DWORD Flags;
- DWORD Target;
-} D3DXSHADER_CONSTANTTABLE, *LPD3DXSHADER_CONSTANTTABLE;
-
-typedef struct _D3DXSHADER_CONSTANTINFO
-{
- DWORD Name;
- WORD RegisterSet;
- WORD RegisterIndex;
- WORD RegisterCount;
- WORD Reserved;
- DWORD TypeInfo;
- DWORD DefaultValue;
-} D3DXSHADER_CONSTANTINFO, *LPD3DXSHADER_CONSTANTINFO;
-
-typedef struct _D3DXSHADER_TYPEINFO
-{
- WORD Class;
- WORD Type;
- WORD Rows;
- WORD Columns;
- WORD Elements;
- WORD StructMembers;
- DWORD StructMemberInfo;
-} D3DXSHADER_TYPEINFO, *LPD3DXSHADER_TYPEINFO;
-
-typedef struct _D3DXSHADER_STRUCTMEMBERINFO
-{
- DWORD Name;
- DWORD TypeInfo;
-} D3DXSHADER_STRUCTMEMBERINFO, *LPD3DXSHADER_STRUCTMEMBERINFO;
-
-#endif /* __D3DX9SHADER_H__ */
+++ /dev/null
-/*
- * Copyright 2010 Christian Costa
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include "d3dx9.h"
-
-#ifndef __D3DX9SHAPE_H__
-#define __D3DX9SHAPE_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HRESULT WINAPI D3DXCreateBox(LPDIRECT3DDEVICE9 device,
- FLOAT width,
- FLOAT height,
- FLOAT depth,
- LPD3DXMESH* mesh,
- LPD3DXBUFFER* adjacency);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D3DX9SHAPE_H__ */
+++ /dev/null
-/*
- * Copyright (C) 2008 Tony Wasserka
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include <_mingw_dxhelper.h>
-#include <d3dx9.h>
-
-#ifndef __WINE_D3DX9TEX_H
-#define __WINE_D3DX9TEX_H
-
-/**********************************************
- ***************** Definitions ****************
- **********************************************/
-#define D3DX_FILTER_NONE 0x00000001
-#define D3DX_FILTER_POINT 0x00000002
-#define D3DX_FILTER_LINEAR 0x00000003
-#define D3DX_FILTER_TRIANGLE 0x00000004
-#define D3DX_FILTER_BOX 0x00000005
-#define D3DX_FILTER_MIRROR_U 0x00010000
-#define D3DX_FILTER_MIRROR_V 0x00020000
-#define D3DX_FILTER_MIRROR_W 0x00040000
-#define D3DX_FILTER_MIRROR 0x00070000
-#define D3DX_FILTER_DITHER 0x00080000
-#define D3DX_FILTER_DITHER_DIFFUSION 0x00100000
-#define D3DX_FILTER_SRGB_IN 0x00200000
-#define D3DX_FILTER_SRGB_OUT 0x00400000
-#define D3DX_FILTER_SRGB 0x00600000
-
-#define D3DX_NORMALMAP_MIRROR_U 0x00010000
-#define D3DX_NORMALMAP_MIRROR_V 0x00020000
-#define D3DX_NORMALMAP_MIRROR 0x00030000
-#define D3DX_NORMALMAP_INVERTSIGN 0x00080000
-#define D3DX_NORMALMAP_COMPUTE_OCCLUSION 0x00100000
-
-#define D3DX_CHANNEL_RED 0x00000001
-#define D3DX_CHANNEL_BLUE 0x00000002
-#define D3DX_CHANNEL_GREEN 0x00000004
-#define D3DX_CHANNEL_ALPHA 0x00000008
-#define D3DX_CHANNEL_LUMINANCE 0x00000010
-
-/**********************************************
- **************** Typedefs ****************
- **********************************************/
-typedef enum _D3DXIMAGE_FILEFORMAT
-{
- D3DXIFF_BMP,
- D3DXIFF_JPG,
- D3DXIFF_TGA,
- D3DXIFF_PNG,
- D3DXIFF_DDS,
- D3DXIFF_PPM,
- D3DXIFF_DIB,
- D3DXIFF_FORCE_DWORD = 0x7fffffff
-} D3DXIMAGE_FILEFORMAT;
-
-typedef struct _D3DXIMAGE_INFO
-{
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT MipLevels;
- D3DFORMAT Format;
- D3DRESOURCETYPE ResourceType;
- D3DXIMAGE_FILEFORMAT ImageFileFormat;
-} D3DXIMAGE_INFO;
-
-/**********************************************
- ****************** Functions *****************
- **********************************************/
-/* Typedefs for callback functions */
-typedef VOID (WINAPI *LPD3DXFILL2D)(D3DXVECTOR4 *out, CONST D3DXVECTOR2 *texcoord, CONST D3DXVECTOR2 *texelsize, LPVOID data);
-typedef VOID (WINAPI *LPD3DXFILL3D)(D3DXVECTOR4 *out, CONST D3DXVECTOR3 *texcoord, CONST D3DXVECTOR3 *texelsize, LPVOID data);
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Image Information */
-HRESULT WINAPI D3DXGetImageInfoFromFileA(LPCSTR file, D3DXIMAGE_INFO *info);
-HRESULT WINAPI D3DXGetImageInfoFromFileW(LPCWSTR file, D3DXIMAGE_INFO *info);
-#define D3DXGetImageInfoFromFile WINELIB_NAME_AW(D3DXGetImageInfoFromFile)
-
-HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, LPCSTR resource, D3DXIMAGE_INFO *info);
-HRESULT WINAPI D3DXGetImageInfoFromResourceW(HMODULE module, LPCWSTR resource, D3DXIMAGE_INFO *info);
-#define D3DXGetImageInfoFromResource WINELIB_NAME_AW(D3DXGetImageInfoFromResource)
-
-HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(LPCVOID data, UINT datasize, D3DXIMAGE_INFO *info);
-
-
-/* Surface Loading/Saving */
-HRESULT WINAPI D3DXLoadSurfaceFromFileA( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- LPCSTR srcfile,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadSurfaceFromFileW( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- LPCWSTR srcfile,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-#define D3DXLoadSurfaceFromFile WINELIB_NAME_AW(D3DXLoadSurfaceFromFile)
-
-HRESULT WINAPI D3DXLoadSurfaceFromResourceA( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- HMODULE srcmodule,
- LPCSTR resource,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadSurfaceFromResourceW( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- HMODULE srcmodule,
- LPCWSTR resource,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-#define D3DXLoadSurfaceFromResource WINELIB_NAME_AW(D3DXLoadSurfaceFromResource)
-
-HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT*destrect,
- LPCVOID srcdata,
- UINT srcdatasize,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadSurfaceFromSurface( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- LPDIRECT3DSURFACE9 srcsurface,
- CONST PALETTEENTRY *srcpalette,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey);
-
-HRESULT WINAPI D3DXLoadSurfaceFromMemory( LPDIRECT3DSURFACE9 destsurface,
- CONST PALETTEENTRY *destpalette,
- CONST RECT *destrect,
- LPCVOID srcmemory,
- D3DFORMAT srcformat,
- UINT srcpitch,
- CONST PALETTEENTRY *srcpalette,
- CONST RECT *srcrect,
- DWORD filter,
- D3DCOLOR colorkey);
-
-HRESULT WINAPI D3DXSaveSurfaceToFileA( LPCSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DSURFACE9 srcsurface,
- CONST PALETTEENTRY *srcpalette,
- CONST RECT *srcrect);
-
-HRESULT WINAPI D3DXSaveSurfaceToFileW( LPCWSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DSURFACE9 srcsurface,
- CONST PALETTEENTRY *srcpalette,
- CONST RECT *srcrect);
-#define D3DXSaveSurfaceToFile WINELIB_NAME_AW(D3DXSaveSurfaceToFile)
-
-
-/* Volume Loading/Saving */
-HRESULT WINAPI D3DXLoadVolumeFromFileA( LPDIRECT3DVOLUME9 destvolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPCSTR srcfile,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadVolumeFromFileW( LPDIRECT3DVOLUME9 destVolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPCWSTR srcfile,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-#define D3DXLoadVolumeFromFile WINELIB_NAME_AW(D3DXLoadVolumeFromFile)
-
-HRESULT WINAPI D3DXLoadVolumeFromResourceA( LPDIRECT3DVOLUME9 destVolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- HMODULE srcmodule,
- LPCSTR resource,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadVolumeFromResourceW( LPDIRECT3DVOLUME9 destVolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- HMODULE srcmodule,
- LPCWSTR resource,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-#define D3DXLoadVolumeFromResource WINELIB_NAME_AW(D3DXLoadVolumeFromResource)
-
-HRESULT WINAPI D3DXLoadVolumeFromFileInMemory(LPDIRECT3DVOLUME9 destvolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPCVOID srcdata,
- UINT srcdatasize,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo);
-
-HRESULT WINAPI D3DXLoadVolumeFromVolume( LPDIRECT3DVOLUME9 destvolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPDIRECT3DVOLUME9 srcvolume,
- CONST PALETTEENTRY *srcpalette,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey);
-
-HRESULT WINAPI D3DXLoadVolumeFromMemory( LPDIRECT3DVOLUME9 destvolume,
- CONST PALETTEENTRY *destpalette,
- CONST D3DBOX *destbox,
- LPCVOID srcmemory,
- D3DFORMAT srcformat,
- UINT srcrowpitch,
- UINT srcslicepitch,
- CONST PALETTEENTRY *srcpalette,
- CONST D3DBOX *srcbox,
- DWORD filter,
- D3DCOLOR colorkey);
-
-HRESULT WINAPI D3DXSaveVolumeToFileA( LPCSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DVOLUME9 srcvolume,
- CONST PALETTEENTRY *srcpalette,
- CONST D3DBOX *srcbox);
-
-HRESULT WINAPI D3DXSaveVolumeToFileW( LPCWSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DVOLUME9 srcvolume,
- CONST PALETTEENTRY *srcpalette,
- CONST D3DBOX *srcbox);
-#define D3DXSaveVolumeToFile WINELIB_NAME_AW(D3DXSaveVolumeToFile)
-
-
-/* Texture, cube texture and volume texture creation */
-HRESULT WINAPI D3DXCheckTextureRequirements( LPDIRECT3DDEVICE9 device,
- UINT *width,
- UINT *height,
- UINT *miplevels,
- DWORD usage,
- D3DFORMAT *format,
- D3DPOOL pool);
-HRESULT WINAPI D3DXCheckCubeTextureRequirements( LPDIRECT3DDEVICE9 device,
- UINT *size,
- UINT *miplevels,
- DWORD usage,
- D3DFORMAT *format,
- D3DPOOL pool);
-
-HRESULT WINAPI D3DXCheckVolumeTextureRequirements(LPDIRECT3DDEVICE9 device,
- UINT *width,
- UINT *height,
- UINT *depth,
- UINT *miplevels,
- DWORD usage,
- D3DFORMAT *format,
- D3DPOOL pool);
-
-HRESULT WINAPI D3DXCreateTexture( LPDIRECT3DDEVICE9 device,
- UINT width,
- UINT height,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- LPDIRECT3DTEXTURE9 *texture);
-
-HRESULT WINAPI D3DXCreateCubeTexture( LPDIRECT3DDEVICE9 device,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateVolumeTexture(LPDIRECT3DDEVICE9 device,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateTextureFromFileA( LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- LPDIRECT3DTEXTURE9 *texture);
-
-HRESULT WINAPI D3DXCreateTextureFromFileW( LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- LPDIRECT3DTEXTURE9 *texture);
-#define D3DXCreateTextureFromFile WINELIB_NAME_AW(D3DXCreateTextureFromFile)
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileA( LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileW( LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- LPDIRECT3DCUBETEXTURE9 *cube);
-#define D3DXCreateCubeTextureFromFile WINELIB_NAME_AW(D3DXCreateCubeTextureFromFile)
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileA(LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileW(LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-#define D3DXCreateVolumeTextureFromFile WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFile)
-
-HRESULT WINAPI D3DXCreateTextureFromResourceA( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- LPDIRECT3DTEXTURE9 *texture);
-
-HRESULT WINAPI D3DXCreateTextureFromResourceW( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- LPDIRECT3DTEXTURE9 *texture);
-#define D3DXCreateTextureFromResource WINELIB_NAME_AW(D3DXCreateTextureFromResource)
-
-HRESULT WINAPI D3DXCreateCubeTextureFromResourceA( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- LPDIRECT3DCUBETEXTURE9 *cube);
-HRESULT WINAPI D3DXCreateCubeTextureFromResourceW( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- LPDIRECT3DCUBETEXTURE9 *cube);
-#define D3DXCreateCubeTextureFromResource WINELIB_NAME_AW(D3DXCreateCubeTextureFromResource)
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromResourceA(LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-HRESULT WINAPI D3DXCreateVolumeTextureFromResourceW(LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-#define D3DXCreateVolumeTextureFromResource WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResource)
-
-HRESULT WINAPI D3DXCreateTextureFromFileExA( LPDIRECT3DDEVICE9 device,
- LPCSTR 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 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);
-#define D3DXCreateTextureFromFileEx WINELIB_NAME_AW(D3DXCreateTextureFromFileEx)
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileExA( LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileExW( LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-#define D3DXCreateCubeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromFileEx)
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileExA(LPDIRECT3DDEVICE9 device,
- LPCSTR srcfile,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileExW(LPDIRECT3DDEVICE9 device,
- LPCWSTR srcfile,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-#define D3DXCreateVolumeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFileEx)
-
-HRESULT WINAPI D3DXCreateTextureFromResourceExA( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- 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 WINAPI D3DXCreateTextureFromResourceExW( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- 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);
-#define D3DXCreateTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateTextureFromResourceEx)
-
-HRESULT WINAPI D3DXCreateCubeTextureFromResourceExA( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateCubeTextureFromResourceExW( LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-#define D3DXCreateCubeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromResourceEx)
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExA(LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCSTR resource,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExW(LPDIRECT3DDEVICE9 device,
- HMODULE srcmodule,
- LPCWSTR resource,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-#define D3DXCreateVolumeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResourceEx)
-
-HRESULT WINAPI D3DXCreateTextureFromFileInMemory( LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- LPDIRECT3DTEXTURE9* texture);
-
-HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemory( LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- LPDIRECT3DCUBETEXTURE9* cube);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemory(LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx( LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- 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 WINAPI D3DXCreateCubeTextureFromFileInMemoryEx( LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- UINT size,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DCUBETEXTURE9 *cube);
-
-HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemoryEx(LPDIRECT3DDEVICE9 device,
- LPCVOID srcdata,
- UINT srcdatasize,
- UINT width,
- UINT height,
- UINT depth,
- UINT miplevels,
- DWORD usage,
- D3DFORMAT format,
- D3DPOOL pool,
- DWORD filter,
- DWORD mipfilter,
- D3DCOLOR colorkey,
- D3DXIMAGE_INFO *srcinfo,
- PALETTEENTRY *palette,
- LPDIRECT3DVOLUMETEXTURE9 *volume);
-
-HRESULT WINAPI D3DXSaveTextureToFileA(LPCSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DBASETEXTURE9 srctexture,
- CONST PALETTEENTRY *srcpalette);
-HRESULT WINAPI D3DXSaveTextureToFileW(LPCWSTR destfile,
- D3DXIMAGE_FILEFORMAT destformat,
- LPDIRECT3DBASETEXTURE9 srctexture,
- CONST PALETTEENTRY *srcpalette);
-#define D3DXSaveTextureToFile WINELIB_NAME_AW(D3DXSaveTextureToFile)
-
-
-/* Other functions */
-HRESULT WINAPI D3DXFilterTexture( LPDIRECT3DBASETEXTURE9 texture,
- CONST PALETTEENTRY *palette,
- UINT srclevel,
- DWORD filter);
-#define D3DXFilterCubeTexture D3DXFilterTexture
-#define D3DXFilterVolumeTexture D3DXFilterTexture
-
-HRESULT WINAPI D3DXFillTexture( LPDIRECT3DTEXTURE9 texture,
- LPD3DXFILL2D function,
- LPVOID data);
-
-HRESULT WINAPI D3DXFillCubeTexture( LPDIRECT3DCUBETEXTURE9 cube,
- LPD3DXFILL3D function,
- LPVOID data);
-
-HRESULT WINAPI D3DXFillVolumeTexture( LPDIRECT3DVOLUMETEXTURE9 volume,
- LPD3DXFILL3D function,
- LPVOID data);
-
-HRESULT WINAPI D3DXFillTextureTX( LPDIRECT3DTEXTURE9 texture,
- CONST DWORD *function,
- CONST D3DXVECTOR4 *constants,
- UINT numconstants);
-
-HRESULT WINAPI D3DXFillCubeTextureTX( LPDIRECT3DCUBETEXTURE9 cube,
- CONST DWORD *function,
- CONST D3DXVECTOR4 *constants,
- UINT numconstants);
-
-HRESULT WINAPI D3DXFillVolumeTextureTX(LPDIRECT3DVOLUMETEXTURE9 volume,
- CONST DWORD *function,
- CONST D3DXVECTOR4 *constants,
- UINT numconstants);
-
-HRESULT WINAPI D3DXComputeNormalMap( LPDIRECT3DTEXTURE9 texture,
- LPDIRECT3DTEXTURE9 srctexture,
- CONST PALETTEENTRY *srcpalette,
- DWORD flags,
- DWORD channel,
- FLOAT amplitude);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINE_D3DX9TEX_H */
+++ /dev/null
-/*==========================================================================;
- *
- * Copyright (C) 1994-1997 Microsoft Corporation. All Rights Reserved.
- *
- * File: ddraw.h
- * Content: DirectDraw include file
- *
- ***************************************************************************/
-
-#ifndef __DDRAW_INCLUDED__
-#define __DDRAW_INCLUDED__
-
-/*
- * If you wish an application built against the newest version of DirectDraw
- * to run against an older DirectDraw run time then define DIRECTDRAW_VERSION
- * to be the earlies version of DirectDraw you wish to run against. For,
- * example if you wish an application to run against a DX 3 runtime define
- * DIRECTDRAW_VERSION to be 0x0300.
- */
-#ifndef DIRECTDRAW_VERSION
-#define DIRECTDRAW_VERSION 0x0600
-#endif /* DIRECTDRAW_VERSION */
-
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-#else
-#define IUnknown void
-#if !defined( NT_BUILD_ENVIRONMENT ) && !defined(WINNT)
- #define CO_E_NOTINITIALIZED 0x800401F0L
-#endif
-#endif
-
-#define _FACDD 0x876
-#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-//
-// For compilers that don't support nameless unions, do a
-//
-// #define NONAMELESSUNION
-//
-// before #include <ddraw.h>
-//
-#ifndef DUMMYUNIONNAMEN
-#if defined(__cplusplus) || !defined(NONAMELESSUNION)
-#define DUMMYUNIONNAMEN(n)
-#else
-#define DUMMYUNIONNAMEN(n) u##n
-#endif
-#endif
-
-#ifndef MAKEFOURCC
- #define MAKEFOURCC(ch0, ch1, ch2, ch3) \
- ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
- ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
-#endif //defined(MAKEFOURCC)
-
-/*
- * FOURCC codes for DX compressed-texture pixel formats
- */
-#define FOURCC_DXT1 (MAKEFOURCC('D','X','T','1'))
-#define FOURCC_DXT2 (MAKEFOURCC('D','X','T','2'))
-#define FOURCC_DXT3 (MAKEFOURCC('D','X','T','3'))
-#define FOURCC_DXT4 (MAKEFOURCC('D','X','T','4'))
-#define FOURCC_DXT5 (MAKEFOURCC('D','X','T','5'))
-
-/*
- * GUIDS used by DirectDraw objects
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-
-DEFINE_GUID( CLSID_DirectDraw, 0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35 );
-DEFINE_GUID( CLSID_DirectDrawClipper, 0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56 );
-DEFINE_GUID( IID_IDirectDraw, 0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
-DEFINE_GUID( IID_IDirectDraw2, 0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
-DEFINE_GUID( IID_IDirectDraw4, 0x9c59509a,0x39bd,0x11d1,0x8c,0x4a,0x00,0xc0,0x4f,0xd9,0x30,0xc5 );
-DEFINE_GUID( IID_IDirectDrawSurface, 0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
-DEFINE_GUID( IID_IDirectDrawSurface2, 0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27 );
-DEFINE_GUID( IID_IDirectDrawSurface3, 0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB );
-DEFINE_GUID( IID_IDirectDrawSurface4, 0x0B2B8630,0xAD35,0x11D0,0x8E,0xA6,0x00,0x60,0x97,0x97,0xEA,0x5B );
-
-DEFINE_GUID( IID_IDirectDrawPalette, 0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
-DEFINE_GUID( IID_IDirectDrawClipper, 0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
-DEFINE_GUID( IID_IDirectDrawColorControl, 0x4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8 );
-DEFINE_GUID( IID_IDirectDrawGammaControl, 0x69C11C3E,0xB46B,0x11D1,0xAD,0x7A,0x00,0xC0,0x4F,0xC2,0x9B,0x4E );
-
-#endif
-
-/*============================================================================
- *
- * DirectDraw Structures
- *
- * Various structures used to invoke DirectDraw.
- *
- *==========================================================================*/
-
-struct IDirectDraw;
-struct IDirectDrawSurface;
-struct IDirectDrawPalette;
-struct IDirectDrawClipper;
-
-typedef struct IDirectDraw FAR *LPDIRECTDRAW;
-typedef struct IDirectDraw2 FAR *LPDIRECTDRAW2;
-typedef struct IDirectDraw4 FAR *LPDIRECTDRAW4;
-typedef struct IDirectDrawSurface FAR *LPDIRECTDRAWSURFACE;
-typedef struct IDirectDrawSurface2 FAR *LPDIRECTDRAWSURFACE2;
-typedef struct IDirectDrawSurface3 FAR *LPDIRECTDRAWSURFACE3;
-typedef struct IDirectDrawSurface4 FAR *LPDIRECTDRAWSURFACE4;
-
-typedef struct IDirectDrawPalette FAR *LPDIRECTDRAWPALETTE;
-typedef struct IDirectDrawClipper FAR *LPDIRECTDRAWCLIPPER;
-typedef struct IDirectDrawColorControl FAR *LPDIRECTDRAWCOLORCONTROL;
-typedef struct IDirectDrawGammaControl FAR *LPDIRECTDRAWGAMMACONTROL;
-
-typedef struct _DDFXROP FAR *LPDDFXROP;
-typedef struct _DDSURFACEDESC FAR *LPDDSURFACEDESC;
-typedef struct _DDSURFACEDESC2 FAR *LPDDSURFACEDESC2;
-typedef struct _DDCOLORCONTROL FAR *LPDDCOLORCONTROL;
-
-/*
- * API's
- */
-#if (defined (WIN32) || defined( _WIN32 ) ) && !defined( _NO_COM )
-//#if defined( _WIN32 ) && !defined( _NO_ENUM )
- typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKA)(GUID FAR *, LPSTR, LPSTR, LPVOID);
- typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKW)(GUID FAR *, LPWSTR, LPWSTR, LPVOID);
- extern HRESULT WINAPI DirectDrawEnumerateW( LPDDENUMCALLBACKW lpCallback, LPVOID lpContext );
- extern HRESULT WINAPI DirectDrawEnumerateA( LPDDENUMCALLBACKA lpCallback, LPVOID lpContext );
- /*
- * Protect against old SDKs
- */
- #ifndef SM_CMONITORS
- #define HMONITOR HANDLE
- #endif
- typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKEXA)(GUID FAR *, LPSTR, LPSTR, LPVOID, HMONITOR);
- typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKEXW)(GUID FAR *, LPWSTR, LPWSTR, LPVOID, HMONITOR);
- extern HRESULT WINAPI DirectDrawEnumerateExW( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);
- extern HRESULT WINAPI DirectDrawEnumerateExA( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);
- typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXA)( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);
- typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXW)( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);
-
- #ifdef UNICODE
- typedef LPDDENUMCALLBACKW LPDDENUMCALLBACK;
- #define DirectDrawEnumerate DirectDrawEnumerateW
- typedef LPDDENUMCALLBACKEXW LPDDENUMCALLBACKEX;
- typedef LPDIRECTDRAWENUMERATEEXW LPDIRECTDRAWENUMERATEEX;
- #define DirectDrawEnumerateEx DirectDrawEnumerateExW
- #else
- typedef LPDDENUMCALLBACKA LPDDENUMCALLBACK;
- #define DirectDrawEnumerate DirectDrawEnumerateA
- typedef LPDDENUMCALLBACKEXA LPDDENUMCALLBACKEX;
- typedef LPDIRECTDRAWENUMERATEEXA LPDIRECTDRAWENUMERATEEX;
- #define DirectDrawEnumerateEx DirectDrawEnumerateExA
- #endif
- extern HRESULT WINAPI DirectDrawCreate( GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter );
- extern HRESULT WINAPI DirectDrawCreateClipper( DWORD dwFlags, LPDIRECTDRAWCLIPPER FAR *lplpDDClipper, IUnknown FAR *pUnkOuter );
-#endif
-/*
- * Flags for DirectDrawEnumerateEx
- * DirectDrawEnumerateEx supercedes DirectDrawEnumerate. You must use GetProcAddress to
- * obtain a function pointer (of type LPDIRECTDRAWENUMERATEEX) to DirectDrawEnumerateEx.
- * By default, only the primary display device is enumerated.
- * DirectDrawEnumerate is equivalent to DirectDrawEnumerate(,,DDENUM_NONDISPLAYDEVICES)
- */
-
-/*
- * This flag causes enumeration of any GDI display devices which are part of
- * the Windows Desktop
- */
-#define DDENUM_ATTACHEDSECONDARYDEVICES 0x00000001L
-
-/*
- * This flag causes enumeration of any GDI display devices which are not
- * part of the Windows Desktop
- */
-#define DDENUM_DETACHEDSECONDARYDEVICES 0x00000002L
-
-/*
- * This flag causes enumeration of non-display devices
- */
-#define DDENUM_NONDISPLAYDEVICES 0x00000004L
-
-
-#define REGSTR_KEY_DDHW_DESCRIPTION "Description"
-#define REGSTR_KEY_DDHW_DRIVERNAME "DriverName"
-#define REGSTR_PATH_DDHW "Hardware\\DirectDrawDrivers"
-
-#define DDCREATE_HARDWAREONLY 0x00000001l
-#define DDCREATE_EMULATIONONLY 0x00000002l
-
-#if defined(WINNT) || !defined(WIN32)
-typedef long HRESULT;
-#endif
-
-//#ifndef WINNT
-typedef HRESULT (FAR PASCAL * LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID);
-typedef HRESULT (FAR PASCAL * LPDDENUMMODESCALLBACK2)(LPDDSURFACEDESC2, LPVOID);
-typedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID);
-typedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK2)(LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID);
-//#endif
-
-/*
- * Generic pixel format with 8-bit RGB and alpha components
- */
-typedef struct _DDRGBA
-{
- BYTE red;
- BYTE green;
- BYTE blue;
- BYTE alpha;
-} DDRGBA;
-
-typedef DDRGBA FAR *LPDDRGBA;
-
-/*
- * DDCOLORKEY
- */
-typedef struct _DDCOLORKEY
-{
- DWORD dwColorSpaceLowValue; // low boundary of color space that is to
- // be treated as Color Key, inclusive
- DWORD dwColorSpaceHighValue; // high boundary of color space that is
- // to be treated as Color Key, inclusive
-} DDCOLORKEY;
-
-typedef DDCOLORKEY FAR* LPDDCOLORKEY;
-
-/*
- * DDBLTFX
- * Used to pass override information to the DIRECTDRAWSURFACE callback Blt.
- */
-typedef struct _DDBLTFX
-{
- DWORD dwSize; // size of structure
- DWORD dwDDFX; // FX operations
- DWORD dwROP; // Win32 raster operations
- DWORD dwDDROP; // Raster operations new for DirectDraw
- DWORD dwRotationAngle; // Rotation angle for blt
- DWORD dwZBufferOpCode; // ZBuffer compares
- DWORD dwZBufferLow; // Low limit of Z buffer
- DWORD dwZBufferHigh; // High limit of Z buffer
- DWORD dwZBufferBaseDest; // Destination base value
- DWORD dwZDestConstBitDepth; // Bit depth used to specify Z constant for destination
- union
- {
- DWORD dwZDestConst; // Constant to use as Z buffer for dest
- LPDIRECTDRAWSURFACE lpDDSZBufferDest; // Surface to use as Z buffer for dest
- } DUMMYUNIONNAMEN(1);
- DWORD dwZSrcConstBitDepth; // Bit depth used to specify Z constant for source
- union
- {
- DWORD dwZSrcConst; // Constant to use as Z buffer for src
- LPDIRECTDRAWSURFACE lpDDSZBufferSrc; // Surface to use as Z buffer for src
- } DUMMYUNIONNAMEN(2);
- DWORD dwAlphaEdgeBlendBitDepth; // Bit depth used to specify constant for alpha edge blend
- DWORD dwAlphaEdgeBlend; // Alpha for edge blending
- DWORD dwReserved;
- DWORD dwAlphaDestConstBitDepth; // Bit depth used to specify alpha constant for destination
- union
- {
- DWORD dwAlphaDestConst; // Constant to use as Alpha Channel
- LPDIRECTDRAWSURFACE lpDDSAlphaDest; // Surface to use as Alpha Channel
- } DUMMYUNIONNAMEN(3);
- DWORD dwAlphaSrcConstBitDepth; // Bit depth used to specify alpha constant for source
- union
- {
- DWORD dwAlphaSrcConst; // Constant to use as Alpha Channel
- LPDIRECTDRAWSURFACE lpDDSAlphaSrc; // Surface to use as Alpha Channel
- } DUMMYUNIONNAMEN(4);
- union
- {
- DWORD dwFillColor; // color in RGB or Palettized
- DWORD dwFillDepth; // depth value for z-buffer
- DWORD dwFillPixel; // pixel value for RGBA or RGBZ
- LPDIRECTDRAWSURFACE lpDDSPattern; // Surface to use as pattern
- } DUMMYUNIONNAMEN(5);
- DDCOLORKEY ddckDestColorkey; // DestColorkey override
- DDCOLORKEY ddckSrcColorkey; // SrcColorkey override
-} DDBLTFX;
-
-typedef DDBLTFX FAR* LPDDBLTFX;
-
-
-/*
- * DDSCAPS
- */
-typedef struct _DDSCAPS
-{
- DWORD dwCaps; // capabilities of surface wanted
-} DDSCAPS;
-
-typedef DDSCAPS FAR* LPDDSCAPS;
-
-
-/*
- * DDOSCAPS
- */
-typedef struct _DDOSCAPS
-{
- DWORD dwCaps; // capabilities of surface wanted
-} DDOSCAPS;
-
-typedef DDOSCAPS FAR* LPDDOSCAPS;
-
-/*
- * This structure is used internally by DirectDraw.
- */
-typedef struct _DDSCAPSEX
-{
- DWORD dwCaps2;
- DWORD dwCaps3;
- DWORD dwCaps4;
-} DDSCAPSEX, FAR * LPDDSCAPSEX;
-
-/*
- * DDSCAPS2
- */
-typedef struct _DDSCAPS2
-{
- DWORD dwCaps; // capabilities of surface wanted
- DWORD dwCaps2;
- DWORD dwCaps3;
- DWORD dwCaps4;
-} DDSCAPS2;
-
-typedef DDSCAPS2 FAR* LPDDSCAPS2;
-
-/*
- * DDCAPS
- */
-#define DD_ROP_SPACE (256/32) // space required to store ROP array
-
-/*
- * This structure is the DDCAPS structure as it was in version 2 and 3 of Direct X.
- * It is present for back compatability.
- */
-typedef struct _DDCAPS_DX3
-{
- DWORD dwSize; // size of the DDDRIVERCAPS structure
- DWORD dwCaps; // driver specific capabilities
- DWORD dwCaps2; // more driver specific capabilites
- DWORD dwCKeyCaps; // color key capabilities of the surface
- DWORD dwFXCaps; // driver specific stretching and effects capabilites
- DWORD dwFXAlphaCaps; // alpha driver specific capabilities
- DWORD dwPalCaps; // palette capabilities
- DWORD dwSVCaps; // stereo vision capabilities
- DWORD dwAlphaBltConstBitDepths; // DDBD_2,4,8
- DWORD dwAlphaBltPixelBitDepths; // DDBD_1,2,4,8
- DWORD dwAlphaBltSurfaceBitDepths; // DDBD_1,2,4,8
- DWORD dwAlphaOverlayConstBitDepths; // DDBD_2,4,8
- DWORD dwAlphaOverlayPixelBitDepths; // DDBD_1,2,4,8
- DWORD dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8
- DWORD dwZBufferBitDepths; // DDBD_8,16,24,32
- DWORD dwVidMemTotal; // total amount of video memory
- DWORD dwVidMemFree; // amount of free video memory
- DWORD dwMaxVisibleOverlays; // maximum number of visible overlays
- DWORD dwCurrVisibleOverlays; // current number of visible overlays
- DWORD dwNumFourCCCodes; // number of four cc codes
- DWORD dwAlignBoundarySrc; // source rectangle alignment
- DWORD dwAlignSizeSrc; // source rectangle byte size
- DWORD dwAlignBoundaryDest; // dest rectangle alignment
- DWORD dwAlignSizeDest; // dest rectangle byte size
- DWORD dwAlignStrideAlign; // stride alignment
- DWORD dwRops[DD_ROP_SPACE]; // ROPS supported
- DDSCAPS ddsCaps; // DDSCAPS structure has all the general capabilities
- DWORD dwMinOverlayStretch; // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMaxOverlayStretch; // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMinLiveVideoStretch; // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMaxLiveVideoStretch; // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMinHwCodecStretch; // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwMaxHwCodecStretch; // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
- DWORD dwReserved1; // reserved
- DWORD dwReserved2; // reserved
- DWORD dwReserved3; // reserved
- DWORD dwSVBCaps; // driver specific capabilities for System->Vmem blts
- DWORD dwSVBCKeyCaps; // driver color key capabilities for System->Vmem blts
- DWORD dwSVBFXCaps; // driver FX capabilities for System->Vmem blts
- DWORD dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts
- DWORD dwVSBCaps; // driver specific capabilities for Vmem->System blts
- DWORD dwVSBCKeyCaps; // driver color key capabilities for Vmem->System blts
- DWORD dwVSBFXCaps; // driver FX capabilities for Vmem->System blts
- DWORD dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts
- DWORD dwSSBCaps; // driver specific capabilities for System->System blts
- DWORD dwSSBCKeyCaps; // driver color key capabilities for System->System blts
- DWORD dwSSBFXCaps; // driver FX capabilities for System->System blts
- DWORD dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts
- DWORD dwReserved4; // reserved
- DWORD dwReserved5; // reserved
- DWORD dwReserved6; // reserved
-} DDCAPS_DX3;
-typedef DDCAPS_DX3 FAR* LPDDCAPS_DX3;
-
-/*
- * This structure is the DDCAPS structure as it was in version 5 of Direct X.
- * It is present for back compatability.
- */
-typedef struct _DDCAPS_DX5
-{
-/* 0*/ DWORD dwSize; // size of the DDDRIVERCAPS structure
-/* 4*/ DWORD dwCaps; // driver specific capabilities
-/* 8*/ DWORD dwCaps2; // more driver specific capabilites
-/* c*/ DWORD dwCKeyCaps; // color key capabilities of the surface
-/* 10*/ DWORD dwFXCaps; // driver specific stretching and effects capabilites
-/* 14*/ DWORD dwFXAlphaCaps; // alpha driver specific capabilities
-/* 18*/ DWORD dwPalCaps; // palette capabilities
-/* 1c*/ DWORD dwSVCaps; // stereo vision capabilities
-/* 20*/ DWORD dwAlphaBltConstBitDepths; // DDBD_2,4,8
-/* 24*/ DWORD dwAlphaBltPixelBitDepths; // DDBD_1,2,4,8
-/* 28*/ DWORD dwAlphaBltSurfaceBitDepths; // DDBD_1,2,4,8
-/* 2c*/ DWORD dwAlphaOverlayConstBitDepths; // DDBD_2,4,8
-/* 30*/ DWORD dwAlphaOverlayPixelBitDepths; // DDBD_1,2,4,8
-/* 34*/ DWORD dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8
-/* 38*/ DWORD dwZBufferBitDepths; // DDBD_8,16,24,32
-/* 3c*/ DWORD dwVidMemTotal; // total amount of video memory
-/* 40*/ DWORD dwVidMemFree; // amount of free video memory
-/* 44*/ DWORD dwMaxVisibleOverlays; // maximum number of visible overlays
-/* 48*/ DWORD dwCurrVisibleOverlays; // current number of visible overlays
-/* 4c*/ DWORD dwNumFourCCCodes; // number of four cc codes
-/* 50*/ DWORD dwAlignBoundarySrc; // source rectangle alignment
-/* 54*/ DWORD dwAlignSizeSrc; // source rectangle byte size
-/* 58*/ DWORD dwAlignBoundaryDest; // dest rectangle alignment
-/* 5c*/ DWORD dwAlignSizeDest; // dest rectangle byte size
-/* 60*/ DWORD dwAlignStrideAlign; // stride alignment
-/* 64*/ DWORD dwRops[DD_ROP_SPACE]; // ROPS supported
-/* 84*/ DDSCAPS ddsCaps; // DDSCAPS structure has all the general capabilities
-/* 88*/ DWORD dwMinOverlayStretch; // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 8c*/ DWORD dwMaxOverlayStretch; // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 90*/ DWORD dwMinLiveVideoStretch; // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 94*/ DWORD dwMaxLiveVideoStretch; // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 98*/ DWORD dwMinHwCodecStretch; // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 9c*/ DWORD dwMaxHwCodecStretch; // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* a0*/ DWORD dwReserved1; // reserved
-/* a4*/ DWORD dwReserved2; // reserved
-/* a8*/ DWORD dwReserved3; // reserved
-/* ac*/ DWORD dwSVBCaps; // driver specific capabilities for System->Vmem blts
-/* b0*/ DWORD dwSVBCKeyCaps; // driver color key capabilities for System->Vmem blts
-/* b4*/ DWORD dwSVBFXCaps; // driver FX capabilities for System->Vmem blts
-/* b8*/ DWORD dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts
-/* d8*/ DWORD dwVSBCaps; // driver specific capabilities for Vmem->System blts
-/* dc*/ DWORD dwVSBCKeyCaps; // driver color key capabilities for Vmem->System blts
-/* e0*/ DWORD dwVSBFXCaps; // driver FX capabilities for Vmem->System blts
-/* e4*/ DWORD dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts
-/*104*/ DWORD dwSSBCaps; // driver specific capabilities for System->System blts
-/*108*/ DWORD dwSSBCKeyCaps; // driver color key capabilities for System->System blts
-/*10c*/ DWORD dwSSBFXCaps; // driver FX capabilities for System->System blts
-/*110*/ DWORD dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts
-// Members added for DX5:
-/*130*/ DWORD dwMaxVideoPorts; // maximum number of usable video ports
-/*134*/ DWORD dwCurrVideoPorts; // current number of video ports used
-/*138*/ DWORD dwSVBCaps2; // more driver specific capabilities for System->Vmem blts
-/*13c*/ DWORD dwNLVBCaps; // driver specific capabilities for non-local->local vidmem blts
-/*140*/ DWORD dwNLVBCaps2; // more driver specific capabilities non-local->local vidmem blts
-/*144*/ DWORD dwNLVBCKeyCaps; // driver color key capabilities for non-local->local vidmem blts
-/*148*/ DWORD dwNLVBFXCaps; // driver FX capabilities for non-local->local blts
-/*14c*/ DWORD dwNLVBRops[DD_ROP_SPACE]; // ROPS supported for non-local->local blts
-} DDCAPS_DX5;
-typedef DDCAPS_DX5 FAR* LPDDCAPS_DX5;
-
-typedef struct _DDCAPS_DX6
-{
-/* 0*/ DWORD dwSize; // size of the DDDRIVERCAPS structure
-/* 4*/ DWORD dwCaps; // driver specific capabilities
-/* 8*/ DWORD dwCaps2; // more driver specific capabilites
-/* c*/ DWORD dwCKeyCaps; // color key capabilities of the surface
-/* 10*/ DWORD dwFXCaps; // driver specific stretching and effects capabilites
-/* 14*/ DWORD dwFXAlphaCaps; // alpha caps
-/* 18*/ DWORD dwPalCaps; // palette capabilities
-/* 1c*/ DWORD dwSVCaps; // stereo vision capabilities
-/* 20*/ DWORD dwAlphaBltConstBitDepths; // DDBD_2,4,8
-/* 24*/ DWORD dwAlphaBltPixelBitDepths; // DDBD_1,2,4,8
-/* 28*/ DWORD dwAlphaBltSurfaceBitDepths; // DDBD_1,2,4,8
-/* 2c*/ DWORD dwAlphaOverlayConstBitDepths; // DDBD_2,4,8
-/* 30*/ DWORD dwAlphaOverlayPixelBitDepths; // DDBD_1,2,4,8
-/* 34*/ DWORD dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8
-/* 38*/ DWORD dwZBufferBitDepths; // DDBD_8,16,24,32
-/* 3c*/ DWORD dwVidMemTotal; // total amount of video memory
-/* 40*/ DWORD dwVidMemFree; // amount of free video memory
-/* 44*/ DWORD dwMaxVisibleOverlays; // maximum number of visible overlays
-/* 48*/ DWORD dwCurrVisibleOverlays; // current number of visible overlays
-/* 4c*/ DWORD dwNumFourCCCodes; // number of four cc codes
-/* 50*/ DWORD dwAlignBoundarySrc; // source rectangle alignment
-/* 54*/ DWORD dwAlignSizeSrc; // source rectangle byte size
-/* 58*/ DWORD dwAlignBoundaryDest; // dest rectangle alignment
-/* 5c*/ DWORD dwAlignSizeDest; // dest rectangle byte size
-/* 60*/ DWORD dwAlignStrideAlign; // stride alignment
-/* 64*/ DWORD dwRops[DD_ROP_SPACE]; // ROPS supported
-/* 84*/ DDSCAPS ddsOldCaps; // Was DDSCAPS ddsCaps. ddsCaps is of type DDSCAPS2 for DX6
-/* 88*/ DWORD dwMinOverlayStretch; // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 8c*/ DWORD dwMaxOverlayStretch; // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 90*/ DWORD dwMinLiveVideoStretch; // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 94*/ DWORD dwMaxLiveVideoStretch; // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 98*/ DWORD dwMinHwCodecStretch; // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* 9c*/ DWORD dwMaxHwCodecStretch; // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
-/* a0*/ DWORD dwReserved1; // reserved
-/* a4*/ DWORD dwReserved2; // reserved
-/* a8*/ DWORD dwReserved3; // reserved
-/* ac*/ DWORD dwSVBCaps; // driver specific capabilities for System->Vmem blts
-/* b0*/ DWORD dwSVBCKeyCaps; // driver color key capabilities for System->Vmem blts
-/* b4*/ DWORD dwSVBFXCaps; // driver FX capabilities for System->Vmem blts
-/* b8*/ DWORD dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts
-/* d8*/ DWORD dwVSBCaps; // driver specific capabilities for Vmem->System blts
-/* dc*/ DWORD dwVSBCKeyCaps; // driver color key capabilities for Vmem->System blts
-/* e0*/ DWORD dwVSBFXCaps; // driver FX capabilities for Vmem->System blts
-/* e4*/ DWORD dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts
-/*104*/ DWORD dwSSBCaps; // driver specific capabilities for System->System blts
-/*108*/ DWORD dwSSBCKeyCaps; // driver color key capabilities for System->System blts
-/*10c*/ DWORD dwSSBFXCaps; // driver FX capabilities for System->System blts
-/*110*/ DWORD dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts
-/*130*/ DWORD dwMaxVideoPorts; // maximum number of usable video ports
-/*134*/ DWORD dwCurrVideoPorts; // current number of video ports used
-/*138*/ DWORD dwSVBCaps2; // more driver specific capabilities for System->Vmem blts
-/*13c*/ DWORD dwNLVBCaps; // driver specific capabilities for non-local->local vidmem blts
-/*140*/ DWORD dwNLVBCaps2; // more driver specific capabilities non-local->local vidmem blts
-/*144*/ DWORD dwNLVBCKeyCaps; // driver color key capabilities for non-local->local vidmem blts
-/*148*/ DWORD dwNLVBFXCaps; // driver FX capabilities for non-local->local blts
-/*14c*/ DWORD dwNLVBRops[DD_ROP_SPACE]; // ROPS supported for non-local->local blts
-// Members added for DX6 release
-/*16c*/ DDSCAPS2 ddsCaps; // Surface Caps
-} DDCAPS_DX6;
-typedef DDCAPS_DX6 FAR* LPDDCAPS_DX6;
-
-
-#if DIRECTDRAW_VERSION <= 0x300
- typedef DDCAPS_DX3 DDCAPS;
-#elif DIRECTDRAW_VERSION <= 0x500
- typedef DDCAPS_DX5 DDCAPS;
-#else
- typedef DDCAPS_DX6 DDCAPS;
-#endif
-
-typedef DDCAPS FAR* LPDDCAPS;
-
-
-
-/*
- * DDPIXELFORMAT
- */
-typedef struct _DDPIXELFORMAT
-{
- DWORD dwSize; // size of structure
- DWORD dwFlags; // pixel format flags
- DWORD dwFourCC; // (FOURCC code)
- union
- {
- DWORD dwRGBBitCount; // how many bits per pixel
- DWORD dwYUVBitCount; // how many bits per pixel
- DWORD dwZBufferBitDepth; // how many total bits/pixel in z buffer (including any stencil bits)
- DWORD dwAlphaBitDepth; // how many bits for alpha channels
- DWORD dwLuminanceBitCount; // how many bits per pixel
- DWORD dwBumpBitCount; // how many bits per "buxel", total
- } DUMMYUNIONNAMEN(1);
- union
- {
- DWORD dwRBitMask; // mask for red bit
- DWORD dwYBitMask; // mask for Y bits
- DWORD dwStencilBitDepth; // how many stencil bits (note: dwZBufferBitDepth-dwStencilBitDepth is total Z-only bits)
- DWORD dwLuminanceBitMask; // mask for luminance bits
- DWORD dwBumpDuBitMask; // mask for bump map U delta bits
- } DUMMYUNIONNAMEN(2);
- union
- {
- DWORD dwGBitMask; // mask for green bits
- DWORD dwUBitMask; // mask for U bits
- DWORD dwZBitMask; // mask for Z bits
- DWORD dwBumpDvBitMask; // mask for bump map V delta bits
- } DUMMYUNIONNAMEN(3);
- union
- {
- DWORD dwBBitMask; // mask for blue bits
- DWORD dwVBitMask; // mask for V bits
- DWORD dwStencilBitMask; // mask for stencil bits
- DWORD dwBumpLuminanceBitMask; // mask for luminance in bump map
- } DUMMYUNIONNAMEN(4);
- union
- {
- DWORD dwRGBAlphaBitMask; // mask for alpha channel
- DWORD dwYUVAlphaBitMask; // mask for alpha channel
- DWORD dwLuminanceAlphaBitMask;// mask for alpha channel
- DWORD dwRGBZBitMask; // mask for Z channel
- DWORD dwYUVZBitMask; // mask for Z channel
- } DUMMYUNIONNAMEN(5);
-} DDPIXELFORMAT;
-
-typedef DDPIXELFORMAT FAR* LPDDPIXELFORMAT;
-
-/*
- * DDOVERLAYFX
- */
-typedef struct _DDOVERLAYFX
-{
- DWORD dwSize; // size of structure
- DWORD dwAlphaEdgeBlendBitDepth; // Bit depth used to specify constant for alpha edge blend
- DWORD dwAlphaEdgeBlend; // Constant to use as alpha for edge blend
- DWORD dwReserved;
- DWORD dwAlphaDestConstBitDepth; // Bit depth used to specify alpha constant for destination
- union
- {
- DWORD dwAlphaDestConst; // Constant to use as alpha channel for dest
- LPDIRECTDRAWSURFACE lpDDSAlphaDest; // Surface to use as alpha channel for dest
- } DUMMYUNIONNAMEN(1);
- DWORD dwAlphaSrcConstBitDepth; // Bit depth used to specify alpha constant for source
- union
- {
- DWORD dwAlphaSrcConst; // Constant to use as alpha channel for src
- LPDIRECTDRAWSURFACE lpDDSAlphaSrc; // Surface to use as alpha channel for src
- } DUMMYUNIONNAMEN(2);
- DDCOLORKEY dckDestColorkey; // DestColorkey override
- DDCOLORKEY dckSrcColorkey; // DestColorkey override
- DWORD dwDDFX; // Overlay FX
- DWORD dwFlags; // flags
-} DDOVERLAYFX;
-
-typedef DDOVERLAYFX FAR *LPDDOVERLAYFX;
-
-
-/*
- * DDBLTBATCH: BltBatch entry structure
- */
-typedef struct _DDBLTBATCH
-{
- LPRECT lprDest;
- LPDIRECTDRAWSURFACE lpDDSSrc;
- LPRECT lprSrc;
- DWORD dwFlags;
- LPDDBLTFX lpDDBltFx;
-} DDBLTBATCH;
-
-typedef DDBLTBATCH FAR * LPDDBLTBATCH;
-
-
-/*
- * DDGAMMARAMP
- */
-typedef struct _DDGAMMARAMP
-{
- WORD red[256];
- WORD green[256];
- WORD blue[256];
-} DDGAMMARAMP;
-typedef DDGAMMARAMP FAR * LPDDGAMMARAMP;
-
-/*
- * This is the structure within which DirectDraw returns data about the current graphics driver and chipset
- */
-
-#define MAX_DDDEVICEID_STRING 512
-
-typedef struct tagDDDEVICEIDENTIFIER
-{
- /*
- * These elements are for presentation to the user only. They should not be used to identify particular
- * drivers, since this is unreliable and many different strings may be associated with the same
- * device, and the same driver from different vendors.
- */
- char szDriver[MAX_DDDEVICEID_STRING];
- char szDescription[MAX_DDDEVICEID_STRING];
-
- /*
- * This element is the version of the DirectDraw/3D driver. It is legal to do <, > comparisons
- * on the whole 64 bits. Caution should be exercised if you use this element to identify problematic
- * drivers. It is recommended that guidDeviceIdentifier is used for this purpose.
- *
- * This version has the form:
- * wProduct = HIWORD(liDriverVersion.HighPart)
- * wVersion = LOWORD(liDriverVersion.HighPart)
- * wSubVersion = HIWORD(liDriverVersion.LowPart)
- * wBuild = LOWORD(liDriverVersion.LowPart)
- */
-#ifdef _WIN32
- LARGE_INTEGER liDriverVersion; /* Defined for applications and other 32 bit components */
-#else
- DWORD dwDriverVersionLowPart; /* Defined for 16 bit driver components */
- DWORD dwDriverVersionHighPart;
-#endif
-
-
- /*
- * These elements can be used to identify particular chipsets. Use with extreme caution.
- * dwVendorId Identifies the manufacturer. May be zero if unknown.
- * dwDeviceId Identifies the type of chipset. May be zero if unknown.
- * dwSubSysId Identifies the subsystem, typically this means the particular board. May be zero if unknown.
- * dwRevision Identifies the revision level of the chipset. May be zero if unknown.
- */
- DWORD dwVendorId;
- DWORD dwDeviceId;
- DWORD dwSubSysId;
- DWORD dwRevision;
-
- /*
- * This element can be used to check changes in driver/chipset. This GUID is a unique identifier for the
- * driver/chipset pair. Use this element if you wish to track changes to the driver/chipset in order to
- * reprofile the graphics subsystem.
- * This element can also be used to identify particular problematic drivers.
- */
- GUID guidDeviceIdentifier;
-} DDDEVICEIDENTIFIER, * LPDDDEVICEIDENTIFIER;
-
-/*
- * Flags for the IDirectDraw4::GetDeviceIdentifier method
- */
-
-/*
- * This flag causes GetDeviceIdentifier to return information about the host (typically 2D) adapter in a system equipped
- * with a stacked secondary 3D adapter. Such an adapter appears to the application as if it were part of the
- * host adapter, but is typically physcially located on a separate card. The stacked secondary's information is
- * returned when GetDeviceIdentifier's dwFlags field is zero, since this most accurately reflects the qualities
- * of the DirectDraw object involved.
- */
-#define DDGDI_GETHOSTIDENTIFIER 0x00000001L
-
-
-
-/*
- * callbacks
- */
-typedef DWORD (FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper, HWND hWnd, DWORD code, LPVOID lpContext );
-#ifdef STREAMING
-typedef DWORD (FAR PASCAL *LPSURFACESTREAMINGCALLBACK)(DWORD);
-#endif
-
-
-/*
- * INTERACES FOLLOW:
- * IDirectDraw
- * IDirectDrawClipper
- * IDirectDrawPalette
- * IDirectDrawSurface
- */
-
-/*
- * IDirectDraw
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDraw
-DECLARE_INTERFACE_( IDirectDraw, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDraw methods ***/
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;
- STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;
- STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;
- STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;
- STDMETHOD(FlipToGDISurface)(THIS) PURE;
- STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
- STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
- STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
- STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
- STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
- STDMETHOD(RestoreDisplayMode)(THIS) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
- STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD) PURE;
- STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDraw_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDraw_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDraw_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDraw_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectDraw_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
-#define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
-#define IDirectDraw_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
-#define IDirectDraw_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
-#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
-#define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
-#define IDirectDraw_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
-#define IDirectDraw_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
-#define IDirectDraw_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
-#define IDirectDraw_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
-#define IDirectDraw_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
-#define IDirectDraw_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
-#define IDirectDraw_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
-#define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
-#define IDirectDraw_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
-#define IDirectDraw_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
-#define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
-#define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->lpVtbl->SetDisplayMode(p, a, b, c)
-#define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
-#else
-#define IDirectDraw_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDraw_AddRef(p) (p)->AddRef()
-#define IDirectDraw_Release(p) (p)->Release()
-#define IDirectDraw_Compact(p) (p)->Compact()
-#define IDirectDraw_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
-#define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
-#define IDirectDraw_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
-#define IDirectDraw_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
-#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
-#define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
-#define IDirectDraw_FlipToGDISurface(p) (p)->FlipToGDISurface()
-#define IDirectDraw_GetCaps(p, a, b) (p)->GetCaps(a, b)
-#define IDirectDraw_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
-#define IDirectDraw_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
-#define IDirectDraw_GetGDISurface(p, a) (p)->GetGDISurface(a)
-#define IDirectDraw_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
-#define IDirectDraw_GetScanLine(p, a) (p)->GetScanLine(a)
-#define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
-#define IDirectDraw_Initialize(p, a) (p)->Initialize(a)
-#define IDirectDraw_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
-#define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
-#define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->SetDisplayMode(a, b, c)
-#define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
-#endif
-
-#endif
-
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDraw2
-DECLARE_INTERFACE_( IDirectDraw2, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDraw methods ***/
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;
- STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;
- STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;
- STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;
- STDMETHOD(FlipToGDISurface)(THIS) PURE;
- STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
- STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
- STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
- STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
- STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
- STDMETHOD(RestoreDisplayMode)(THIS) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
- STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;
- STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS, LPDWORD, LPDWORD) PURE;
-};
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDraw2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDraw2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDraw2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDraw2_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectDraw2_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
-#define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
-#define IDirectDraw2_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
-#define IDirectDraw2_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
-#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
-#define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
-#define IDirectDraw2_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
-#define IDirectDraw2_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
-#define IDirectDraw2_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
-#define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
-#define IDirectDraw2_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
-#define IDirectDraw2_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
-#define IDirectDraw2_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
-#define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
-#define IDirectDraw2_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
-#define IDirectDraw2_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
-#define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
-#define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e)
-#define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
-#define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)
-#else
-#define IDirectDraw2_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDraw2_AddRef(p) (p)->AddRef()
-#define IDirectDraw2_Release(p) (p)->Release()
-#define IDirectDraw2_Compact(p) (p)->Compact()
-#define IDirectDraw2_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
-#define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
-#define IDirectDraw2_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
-#define IDirectDraw2_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
-#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
-#define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
-#define IDirectDraw2_FlipToGDISurface(p) (p)->FlipToGDISurface()
-#define IDirectDraw2_GetCaps(p, a, b) (p)->GetCaps(a, b)
-#define IDirectDraw2_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
-#define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
-#define IDirectDraw2_GetGDISurface(p, a) (p)->GetGDISurface(a)
-#define IDirectDraw2_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
-#define IDirectDraw2_GetScanLine(p, a) (p)->GetScanLine(a)
-#define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
-#define IDirectDraw2_Initialize(p, a) (p)->Initialize(a)
-#define IDirectDraw2_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
-#define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
-#define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e)
-#define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
-#define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->GetAvailableVidMem(a, b, c)
-#endif
-
-#endif
-
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDraw4
-DECLARE_INTERFACE_( IDirectDraw4, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDraw methods ***/
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
- STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE4 FAR *, IUnknown FAR *) PURE;
- STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE4, LPDIRECTDRAWSURFACE4 FAR * ) PURE;
- STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ) PURE;
- STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2 ) PURE;
- STDMETHOD(FlipToGDISurface)(THIS) PURE;
- STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
- STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC2) PURE;
- STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
- STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE4 FAR *) PURE;
- STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
- STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
- STDMETHOD(RestoreDisplayMode)(THIS) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
- STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;
- STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2, LPDWORD, LPDWORD) PURE;
- /*** Added in the V4 Interface ***/
- STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE4 *) PURE;
- STDMETHOD(RestoreAllSurfaces)(THIS) PURE;
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER, DWORD ) PURE;
-};
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDraw4_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDraw4_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDraw4_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDraw4_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectDraw4_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
-#define IDirectDraw4_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
-#define IDirectDraw4_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
-#define IDirectDraw4_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
-#define IDirectDraw4_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
-#define IDirectDraw4_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
-#define IDirectDraw4_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
-#define IDirectDraw4_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
-#define IDirectDraw4_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
-#define IDirectDraw4_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
-#define IDirectDraw4_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
-#define IDirectDraw4_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
-#define IDirectDraw4_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
-#define IDirectDraw4_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
-#define IDirectDraw4_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
-#define IDirectDraw4_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
-#define IDirectDraw4_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
-#define IDirectDraw4_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e)
-#define IDirectDraw4_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
-#define IDirectDraw4_GetAvailableVidMem(p, a, b, c) (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)
-#define IDirectDraw4_GetSurfaceFromDC(p, a, b) (p)->lpVtbl->GetSurfaceFromDC(p, a, b)
-#define IDirectDraw4_RestoreAllSurfaces(p) (p)->lpVtbl->RestoreAllSurfaces(p)
-#define IDirectDraw4_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirectDraw4_GetDeviceIdentifier(p,a,b) (p)->lpVtbl->GetDeviceIdentifier(p,a,b)
-#else
-#define IDirectDraw4_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDraw4_AddRef(p) (p)->AddRef()
-#define IDirectDraw4_Release(p) (p)->Release()
-#define IDirectDraw4_Compact(p) (p)->Compact()
-#define IDirectDraw4_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
-#define IDirectDraw4_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
-#define IDirectDraw4_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
-#define IDirectDraw4_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
-#define IDirectDraw4_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
-#define IDirectDraw4_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
-#define IDirectDraw4_FlipToGDISurface(p) (p)->FlipToGDISurface()
-#define IDirectDraw4_GetCaps(p, a, b) (p)->GetCaps(a, b)
-#define IDirectDraw4_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
-#define IDirectDraw4_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
-#define IDirectDraw4_GetGDISurface(p, a) (p)->GetGDISurface(a)
-#define IDirectDraw4_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
-#define IDirectDraw4_GetScanLine(p, a) (p)->GetScanLine(a)
-#define IDirectDraw4_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
-#define IDirectDraw4_Initialize(p, a) (p)->Initialize(a)
-#define IDirectDraw4_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
-#define IDirectDraw4_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
-#define IDirectDraw4_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e)
-#define IDirectDraw4_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
-#define IDirectDraw4_GetAvailableVidMem(p, a, b, c) (p)->GetAvailableVidMem(a, b, c)
-#define IDirectDraw4_GetSurfaceFromDC(p, a, b) (p)->GetSurfaceFromDC(a, b)
-#define IDirectDraw4_RestoreAllSurfaces(p) (p)->RestoreAllSurfaces()
-#define IDirectDraw4_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
-#define IDirectDraw4_GetDeviceIdentifier(p,a,b) (p)->GetDeviceIdentifier(a,b)
-#endif
-
-#endif
-
-
-/*
- * IDirectDrawPalette
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawPalette
-DECLARE_INTERFACE_( IDirectDrawPalette, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawPalette methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDWORD) PURE;
- STDMETHOD(GetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD, LPPALETTEENTRY) PURE;
- STDMETHOD(SetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawPalette_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDrawPalette_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawPalette_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawPalette_GetCaps(p, a) (p)->lpVtbl->GetCaps(p, a)
-#define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->lpVtbl->GetEntries(p, a, b, c, d)
-#define IDirectDrawPalette_Initialize(p, a, b, c) (p)->lpVtbl->Initialize(p, a, b, c)
-#define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->lpVtbl->SetEntries(p, a, b, c, d)
-#else
-#define IDirectDrawPalette_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDrawPalette_AddRef(p) (p)->AddRef()
-#define IDirectDrawPalette_Release(p) (p)->Release()
-#define IDirectDrawPalette_GetCaps(p, a) (p)->GetCaps(a)
-#define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->GetEntries(a, b, c, d)
-#define IDirectDrawPalette_Initialize(p, a, b, c) (p)->Initialize(a, b, c)
-#define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->SetEntries(a, b, c, d)
-#endif
-
-#endif
-
-
-
-/*
- * IDirectDrawClipper
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawClipper
-DECLARE_INTERFACE_( IDirectDrawClipper, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawClipper methods ***/
- STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE;
- STDMETHOD(GetHWnd)(THIS_ HWND FAR *) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD) PURE;
- STDMETHOD(IsClipListChanged)(THIS_ BOOL FAR *) PURE;
- STDMETHOD(SetClipList)(THIS_ LPRGNDATA,DWORD) PURE;
- STDMETHOD(SetHWnd)(THIS_ DWORD, HWND ) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawClipper_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDrawClipper_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawClipper_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->lpVtbl->GetClipList(p, a, b, c)
-#define IDirectDrawClipper_GetHWnd(p, a) (p)->lpVtbl->GetHWnd(p, a)
-#define IDirectDrawClipper_Initialize(p, a, b) (p)->lpVtbl->Initialize(p, a, b)
-#define IDirectDrawClipper_IsClipListChanged(p, a) (p)->lpVtbl->IsClipListChanged(p, a)
-#define IDirectDrawClipper_SetClipList(p, a, b) (p)->lpVtbl->SetClipList(p, a, b)
-#define IDirectDrawClipper_SetHWnd(p, a, b) (p)->lpVtbl->SetHWnd(p, a, b)
-#else
-#define IDirectDrawClipper_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDrawClipper_AddRef(p) (p)->AddRef()
-#define IDirectDrawClipper_Release(p) (p)->Release()
-#define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->GetClipList(a, b, c)
-#define IDirectDrawClipper_GetHWnd(p, a) (p)->GetHWnd(a)
-#define IDirectDrawClipper_Initialize(p, a, b) (p)->Initialize(a, b)
-#define IDirectDrawClipper_IsClipListChanged(p, a) (p)->IsClipListChanged(a)
-#define IDirectDrawClipper_SetClipList(p, a, b) (p)->SetClipList(a, b)
-#define IDirectDrawClipper_SetHWnd(p, a, b) (p)->SetHWnd(a, b)
-#endif
-
-#endif
-
-/*
- * IDirectDrawSurface and related interfaces
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface
-DECLARE_INTERFACE_( IDirectDrawSurface, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawSurface methods ***/
- STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
- STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE, LPRECT,DWORD, LPDDBLTFX) PURE;
- STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE, LPRECT,DWORD) PURE;
- STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE) PURE;
- STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;
- STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE FAR *) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
- STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
- STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
- STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
- STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
- STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
- STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
- STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawSurface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectDrawSurface_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawSurface_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
-#define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
-#define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
-#define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
-#define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
-#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
-#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
-#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
-#define IDirectDrawSurface_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
-#define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
-#define IDirectDrawSurface_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
-#define IDirectDrawSurface_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
-#define IDirectDrawSurface_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
-#define IDirectDrawSurface_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
-#define IDirectDrawSurface_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirectDrawSurface_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
-#define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
-#define IDirectDrawSurface_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
-#define IDirectDrawSurface_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
-#define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
-#define IDirectDrawSurface_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectDrawSurface_IsLost(p) (p)->lpVtbl->IsLost(p)
-#define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirectDrawSurface_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#define IDirectDrawSurface_Restore(p) (p)->lpVtbl->Restore(p)
-#define IDirectDrawSurface_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
-#define IDirectDrawSurface_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
-#define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
-#define IDirectDrawSurface_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
-#define IDirectDrawSurface_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
-#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
-#define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
-#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
-#else
-#define IDirectDrawSurface_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectDrawSurface_AddRef(p) (p)->AddRef()
-#define IDirectDrawSurface_Release(p) (p)->Release()
-#define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
-#define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
-#define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
-#define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
-#define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
-#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
-#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
-#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
-#define IDirectDrawSurface_Flip(p,a,b) (p)->Flip(a,b)
-#define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
-#define IDirectDrawSurface_GetBltStatus(p,a) (p)->GetBltStatus(a)
-#define IDirectDrawSurface_GetCaps(p,b) (p)->GetCaps(b)
-#define IDirectDrawSurface_GetClipper(p,a) (p)->GetClipper(a)
-#define IDirectDrawSurface_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
-#define IDirectDrawSurface_GetDC(p,a) (p)->GetDC(a)
-#define IDirectDrawSurface_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
-#define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
-#define IDirectDrawSurface_GetPalette(p,a) (p)->GetPalette(a)
-#define IDirectDrawSurface_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
-#define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
-#define IDirectDrawSurface_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectDrawSurface_IsLost(p) (p)->IsLost()
-#define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirectDrawSurface_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#define IDirectDrawSurface_Restore(p) (p)->Restore()
-#define IDirectDrawSurface_SetClipper(p,a) (p)->SetClipper(a)
-#define IDirectDrawSurface_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
-#define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
-#define IDirectDrawSurface_SetPalette(p,a) (p)->SetPalette(a)
-#define IDirectDrawSurface_Unlock(p,b) (p)->Unlock(b)
-#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
-#define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
-#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
-#endif
-
-/*
- * IDirectDrawSurface2 and related interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface2
-DECLARE_INTERFACE_( IDirectDrawSurface2, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawSurface methods ***/
- STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2) PURE;
- STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
- STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX) PURE;
- STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD) PURE;
- STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE2) PURE;
- STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2, DWORD) PURE;
- STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
- STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
- STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
- STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
- STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
- STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
- STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
- STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE2) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
- STDMETHOD(PageLock)(THIS_ DWORD) PURE;
- STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectDrawSurface2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawSurface2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
-#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
-#define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
-#define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
-#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
-#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
-#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
-#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
-#define IDirectDrawSurface2_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
-#define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
-#define IDirectDrawSurface2_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
-#define IDirectDrawSurface2_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
-#define IDirectDrawSurface2_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
-#define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
-#define IDirectDrawSurface2_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
-#define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
-#define IDirectDrawSurface2_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
-#define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
-#define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
-#define IDirectDrawSurface2_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectDrawSurface2_IsLost(p) (p)->lpVtbl->IsLost(p)
-#define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirectDrawSurface2_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#define IDirectDrawSurface2_Restore(p) (p)->lpVtbl->Restore(p)
-#define IDirectDrawSurface2_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
-#define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
-#define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
-#define IDirectDrawSurface2_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
-#define IDirectDrawSurface2_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
-#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
-#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
-#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
-#define IDirectDrawSurface2_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
-#define IDirectDrawSurface2_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
-#define IDirectDrawSurface2_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
-#else
-#define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectDrawSurface2_AddRef(p) (p)->AddRef()
-#define IDirectDrawSurface2_Release(p) (p)->Release()
-#define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
-#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
-#define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
-#define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
-#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
-#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
-#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
-#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
-#define IDirectDrawSurface2_Flip(p,a,b) (p)->Flip(a,b)
-#define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
-#define IDirectDrawSurface2_GetBltStatus(p,a) (p)->GetBltStatus(a)
-#define IDirectDrawSurface2_GetCaps(p,b) (p)->GetCaps(b)
-#define IDirectDrawSurface2_GetClipper(p,a) (p)->GetClipper(a)
-#define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
-#define IDirectDrawSurface2_GetDC(p,a) (p)->GetDC(a)
-#define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
-#define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
-#define IDirectDrawSurface2_GetPalette(p,a) (p)->GetPalette(a)
-#define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
-#define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
-#define IDirectDrawSurface2_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectDrawSurface2_IsLost(p) (p)->IsLost()
-#define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirectDrawSurface2_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#define IDirectDrawSurface2_Restore(p) (p)->Restore()
-#define IDirectDrawSurface2_SetClipper(p,a) (p)->SetClipper(a)
-#define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
-#define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
-#define IDirectDrawSurface2_SetPalette(p,a) (p)->SetPalette(a)
-#define IDirectDrawSurface2_Unlock(p,b) (p)->Unlock(b)
-#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
-#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
-#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
-#define IDirectDrawSurface2_GetDDInterface(p,a) (p)->GetDDInterface(a)
-#define IDirectDrawSurface2_PageLock(p,a) (p)->PageLock(a)
-#define IDirectDrawSurface2_PageUnlock(p,a) (p)->PageUnlock(a)
-#endif
-
-/*
- * IDirectDrawSurface3 and related interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface3
-DECLARE_INTERFACE_( IDirectDrawSurface3, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawSurface methods ***/
- STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3) PURE;
- STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
- STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX) PURE;
- STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD) PURE;
- STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE3) PURE;
- STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
- STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3, DWORD) PURE;
- STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
- STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
- STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
- STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
- STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
- STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
- STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
- STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE3) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
- STDMETHOD(PageLock)(THIS_ DWORD) PURE;
- STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
- /*** Added in the V3 interface ***/
- STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC, DWORD) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectDrawSurface3_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawSurface3_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
-#define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
-#define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
-#define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
-#define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
-#define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
-#define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
-#define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
-#define IDirectDrawSurface3_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
-#define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
-#define IDirectDrawSurface3_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
-#define IDirectDrawSurface3_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
-#define IDirectDrawSurface3_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
-#define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
-#define IDirectDrawSurface3_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
-#define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
-#define IDirectDrawSurface3_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
-#define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
-#define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
-#define IDirectDrawSurface3_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectDrawSurface3_IsLost(p) (p)->lpVtbl->IsLost(p)
-#define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirectDrawSurface3_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#define IDirectDrawSurface3_Restore(p) (p)->lpVtbl->Restore(p)
-#define IDirectDrawSurface3_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
-#define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
-#define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
-#define IDirectDrawSurface3_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
-#define IDirectDrawSurface3_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
-#define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
-#define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
-#define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
-#define IDirectDrawSurface3_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
-#define IDirectDrawSurface3_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
-#define IDirectDrawSurface3_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
-#define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->lpVtbl->SetSurfaceDesc(p,a,b)
-#else
-#define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectDrawSurface3_AddRef(p) (p)->AddRef()
-#define IDirectDrawSurface3_Release(p) (p)->Release()
-#define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
-#define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
-#define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
-#define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
-#define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
-#define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
-#define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
-#define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
-#define IDirectDrawSurface3_Flip(p,a,b) (p)->Flip(a,b)
-#define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
-#define IDirectDrawSurface3_GetBltStatus(p,a) (p)->GetBltStatus(a)
-#define IDirectDrawSurface3_GetCaps(p,b) (p)->GetCaps(b)
-#define IDirectDrawSurface3_GetClipper(p,a) (p)->GetClipper(a)
-#define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
-#define IDirectDrawSurface3_GetDC(p,a) (p)->GetDC(a)
-#define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
-#define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
-#define IDirectDrawSurface3_GetPalette(p,a) (p)->GetPalette(a)
-#define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
-#define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
-#define IDirectDrawSurface3_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectDrawSurface3_IsLost(p) (p)->IsLost()
-#define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirectDrawSurface3_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#define IDirectDrawSurface3_Restore(p) (p)->Restore()
-#define IDirectDrawSurface3_SetClipper(p,a) (p)->SetClipper(a)
-#define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
-#define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
-#define IDirectDrawSurface3_SetPalette(p,a) (p)->SetPalette(a)
-#define IDirectDrawSurface3_Unlock(p,b) (p)->Unlock(b)
-#define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
-#define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
-#define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
-#define IDirectDrawSurface3_GetDDInterface(p,a) (p)->GetDDInterface(a)
-#define IDirectDrawSurface3_PageLock(p,a) (p)->PageLock(a)
-#define IDirectDrawSurface3_PageUnlock(p,a) (p)->PageUnlock(a)
-#define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->SetSurfaceDesc(a,b)
-#endif
-
-/*
- * IDirectDrawSurface4 and related interfaces
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface4
-DECLARE_INTERFACE_( IDirectDrawSurface4, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawSurface methods ***/
- STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE4) PURE;
- STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
- STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX) PURE;
- STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD) PURE;
- STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE4) PURE;
- STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK2) PURE;
- STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2) PURE;
- STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE4, DWORD) PURE;
- STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2, LPDIRECTDRAWSURFACE4 FAR *) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2) PURE;
- STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
- STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
- STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
- STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
- STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC2) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
- STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
- STDMETHOD(Unlock)(THIS_ LPRECT) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
- STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE4) PURE;
- /*** Added in the v2 interface ***/
- STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
- STDMETHOD(PageLock)(THIS_ DWORD) PURE;
- STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
- /*** Added in the v3 interface ***/
- STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2, DWORD) PURE;
- /*** Added in the v4 interface ***/
- STDMETHOD(SetPrivateData)(THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID, LPVOID, LPDWORD) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD) PURE;
- STDMETHOD(ChangeUniquenessValue)(THIS) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawSurface4_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectDrawSurface4_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawSurface4_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawSurface4_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
-#define IDirectDrawSurface4_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
-#define IDirectDrawSurface4_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
-#define IDirectDrawSurface4_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
-#define IDirectDrawSurface4_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
-#define IDirectDrawSurface4_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
-#define IDirectDrawSurface4_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
-#define IDirectDrawSurface4_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
-#define IDirectDrawSurface4_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
-#define IDirectDrawSurface4_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
-#define IDirectDrawSurface4_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
-#define IDirectDrawSurface4_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
-#define IDirectDrawSurface4_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
-#define IDirectDrawSurface4_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
-#define IDirectDrawSurface4_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirectDrawSurface4_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
-#define IDirectDrawSurface4_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
-#define IDirectDrawSurface4_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
-#define IDirectDrawSurface4_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
-#define IDirectDrawSurface4_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
-#define IDirectDrawSurface4_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectDrawSurface4_IsLost(p) (p)->lpVtbl->IsLost(p)
-#define IDirectDrawSurface4_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirectDrawSurface4_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#define IDirectDrawSurface4_Restore(p) (p)->lpVtbl->Restore(p)
-#define IDirectDrawSurface4_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
-#define IDirectDrawSurface4_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
-#define IDirectDrawSurface4_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
-#define IDirectDrawSurface4_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
-#define IDirectDrawSurface4_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
-#define IDirectDrawSurface4_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
-#define IDirectDrawSurface4_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
-#define IDirectDrawSurface4_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
-#define IDirectDrawSurface4_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
-#define IDirectDrawSurface4_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
-#define IDirectDrawSurface4_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
-#define IDirectDrawSurface4_SetSurfaceDesc(p,a,b) (p)->lpVtbl->SetSurfaceDesc(p,a,b)
-#define IDirectDrawSurface4_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirectDrawSurface4_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirectDrawSurface4_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirectDrawSurface4_GetUniquenessValue(p, a) (p)->lpVtbl->GetUniquenessValue(p, a)
-#define IDirectDrawSurface4_ChangeUniquenessValue(p) (p)->lpVtbl->ChangeUniquenessValue(p)
-#else
-#define IDirectDrawSurface4_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectDrawSurface4_AddRef(p) (p)->AddRef()
-#define IDirectDrawSurface4_Release(p) (p)->Release()
-#define IDirectDrawSurface4_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
-#define IDirectDrawSurface4_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
-#define IDirectDrawSurface4_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
-#define IDirectDrawSurface4_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
-#define IDirectDrawSurface4_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
-#define IDirectDrawSurface4_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
-#define IDirectDrawSurface4_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
-#define IDirectDrawSurface4_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
-#define IDirectDrawSurface4_Flip(p,a,b) (p)->Flip(a,b)
-#define IDirectDrawSurface4_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
-#define IDirectDrawSurface4_GetBltStatus(p,a) (p)->GetBltStatus(a)
-#define IDirectDrawSurface4_GetCaps(p,b) (p)->GetCaps(b)
-#define IDirectDrawSurface4_GetClipper(p,a) (p)->GetClipper(a)
-#define IDirectDrawSurface4_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
-#define IDirectDrawSurface4_GetDC(p,a) (p)->GetDC(a)
-#define IDirectDrawSurface4_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
-#define IDirectDrawSurface4_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
-#define IDirectDrawSurface4_GetPalette(p,a) (p)->GetPalette(a)
-#define IDirectDrawSurface4_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
-#define IDirectDrawSurface4_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
-#define IDirectDrawSurface4_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectDrawSurface4_IsLost(p) (p)->IsLost()
-#define IDirectDrawSurface4_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirectDrawSurface4_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#define IDirectDrawSurface4_Restore(p) (p)->Restore()
-#define IDirectDrawSurface4_SetClipper(p,a) (p)->SetClipper(a)
-#define IDirectDrawSurface4_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
-#define IDirectDrawSurface4_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
-#define IDirectDrawSurface4_SetPalette(p,a) (p)->SetPalette(a)
-#define IDirectDrawSurface4_Unlock(p,b) (p)->Unlock(b)
-#define IDirectDrawSurface4_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
-#define IDirectDrawSurface4_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
-#define IDirectDrawSurface4_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
-#define IDirectDrawSurface4_GetDDInterface(p,a) (p)->GetDDInterface(a)
-#define IDirectDrawSurface4_PageLock(p,a) (p)->PageLock(a)
-#define IDirectDrawSurface4_PageUnlock(p,a) (p)->PageUnlock(a)
-#define IDirectDrawSurface4_SetSurfaceDesc(p,a,b) (p)->SetSurfaceDesc(a,b)
-#define IDirectDrawSurface4_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirectDrawSurface4_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirectDrawSurface4_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirectDrawSurface4_GetUniquenessValue(p, a) (p)->GetUniquenessValue(a)
-#define IDirectDrawSurface4_ChangeUniquenessValue(p) (p)->ChangeUniquenessValue()
-#endif
-
-
-
-/*
- * IDirectDrawColorControl
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawColorControl
-DECLARE_INTERFACE_( IDirectDrawColorControl, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawColorControl methods ***/
- STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;
- STDMETHOD(SetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDrawColorControl_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawColorControl_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawColorControl_GetColorControls(p, a) (p)->lpVtbl->GetColorControls(p, a)
-#define IDirectDrawColorControl_SetColorControls(p, a) (p)->lpVtbl->SetColorControls(p, a)
-#else
-#define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDrawColorControl_AddRef(p) (p)->AddRef()
-#define IDirectDrawColorControl_Release(p) (p)->Release()
-#define IDirectDrawColorControl_GetColorControls(p, a) (p)->GetColorControls(a)
-#define IDirectDrawColorControl_SetColorControls(p, a) (p)->SetColorControls(a)
-#endif
-
-#endif
-
-
-/*
- * IDirectDrawGammaControl
- */
-#if defined( _WIN32 ) && !defined( _NO_COM )
-#undef INTERFACE
-#define INTERFACE IDirectDrawGammaControl
-DECLARE_INTERFACE_( IDirectDrawGammaControl, IUnknown )
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IDirectDrawColorControl methods ***/
- STDMETHOD(GetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE;
- STDMETHOD(SetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE;
-};
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectDrawGammaControl_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
-#define IDirectDrawGammaControl_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectDrawGammaControl_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectDrawGammaControl_GetGammaRamp(p, a, b) (p)->lpVtbl->GetGammaRamp(p, a, b)
-#define IDirectDrawGammaControl_SetGammaRamp(p, a, b) (p)->lpVtbl->SetGammaRamp(p, a, b)
-#else
-#define IDirectDrawGammaControl_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
-#define IDirectDrawGammaControl_AddRef(p) (p)->AddRef()
-#define IDirectDrawGammaControl_Release(p) (p)->Release()
-#define IDirectDrawGammaControl_GetGammaRamp(p, a, b) (p)->GetGammaRamp(a, b)
-#define IDirectDrawGammaControl_SetGammaRamp(p, a, b) (p)->SetGammaRamp(a, b)
-#endif
-
-#endif
-
-
-
-#endif
-
-
-/*
- * DDSURFACEDESC
- */
-typedef struct _DDSURFACEDESC
-{
- DWORD dwSize; // size of the DDSURFACEDESC structure
- DWORD dwFlags; // determines what fields are valid
- DWORD dwHeight; // height of surface to be created
- DWORD dwWidth; // width of input surface
- union
- {
- LONG lPitch; // distance to start of next line (return value only)
- DWORD dwLinearSize; // Formless late-allocated optimized surface size
- } DUMMYUNIONNAMEN(1);
- DWORD dwBackBufferCount; // number of back buffers requested
- union
- {
- DWORD dwMipMapCount; // number of mip-map levels requested
- DWORD dwZBufferBitDepth; // depth of Z buffer requested
- DWORD dwRefreshRate; // refresh rate (used when display mode is described)
- } DUMMYUNIONNAMEN(2);
- DWORD dwAlphaBitDepth; // depth of alpha buffer requested
- DWORD dwReserved; // reserved
- LPVOID lpSurface; // pointer to the associated surface memory
- DDCOLORKEY ddckCKDestOverlay; // color key for destination overlay use
- DDCOLORKEY ddckCKDestBlt; // color key for destination blt use
- DDCOLORKEY ddckCKSrcOverlay; // color key for source overlay use
- DDCOLORKEY ddckCKSrcBlt; // color key for source blt use
- DDPIXELFORMAT ddpfPixelFormat; // pixel format description of the surface
- DDSCAPS ddsCaps; // direct draw surface capabilities
-} DDSURFACEDESC;
-
-/*
- * DDSURFACEDESC2
- */
-typedef struct _DDSURFACEDESC2
-{
- DWORD dwSize; // size of the DDSURFACEDESC structure
- DWORD dwFlags; // determines what fields are valid
- DWORD dwHeight; // height of surface to be created
- DWORD dwWidth; // width of input surface
- union
- {
- LONG lPitch; // distance to start of next line (return value only)
- DWORD dwLinearSize; // Formless late-allocated optimized surface size
- } DUMMYUNIONNAMEN(1);
- DWORD dwBackBufferCount; // number of back buffers requested
- union
- {
- DWORD dwMipMapCount; // number of mip-map levels requestde
- // dwZBufferBitDepth removed, use ddpfPixelFormat one instead
- DWORD dwRefreshRate; // refresh rate (used when display mode is described)
- } DUMMYUNIONNAMEN(2);
- DWORD dwAlphaBitDepth; // depth of alpha buffer requested
- DWORD dwReserved; // reserved
- LPVOID lpSurface; // pointer to the associated surface memory
- DDCOLORKEY ddckCKDestOverlay; // color key for destination overlay use
- DDCOLORKEY ddckCKDestBlt; // color key for destination blt use
- DDCOLORKEY ddckCKSrcOverlay; // color key for source overlay use
- DDCOLORKEY ddckCKSrcBlt; // color key for source blt use
- DDPIXELFORMAT ddpfPixelFormat; // pixel format description of the surface
- DDSCAPS2 ddsCaps; // direct draw surface capabilities
- DWORD dwTextureStage; // stage in multitexture cascade
-} DDSURFACEDESC2;
-
-/*
- * ddsCaps field is valid.
- */
-#define DDSD_CAPS 0x00000001l // default
-
-/*
- * dwHeight field is valid.
- */
-#define DDSD_HEIGHT 0x00000002l
-
-/*
- * dwWidth field is valid.
- */
-#define DDSD_WIDTH 0x00000004l
-
-/*
- * lPitch is valid.
- */
-#define DDSD_PITCH 0x00000008l
-
-/*
- * dwBackBufferCount is valid.
- */
-#define DDSD_BACKBUFFERCOUNT 0x00000020l
-
-/*
- * dwZBufferBitDepth is valid. (shouldnt be used in DDSURFACEDESC2)
- */
-#define DDSD_ZBUFFERBITDEPTH 0x00000040l
-
-/*
- * dwAlphaBitDepth is valid.
- */
-#define DDSD_ALPHABITDEPTH 0x00000080l
-
-
-/*
- * lpSurface is valid.
- */
-#define DDSD_LPSURFACE 0x00000800l
-
-/*
- * ddpfPixelFormat is valid.
- */
-#define DDSD_PIXELFORMAT 0x00001000l
-
-/*
- * ddckCKDestOverlay is valid.
- */
-#define DDSD_CKDESTOVERLAY 0x00002000l
-
-/*
- * ddckCKDestBlt is valid.
- */
-#define DDSD_CKDESTBLT 0x00004000l
-
-/*
- * ddckCKSrcOverlay is valid.
- */
-#define DDSD_CKSRCOVERLAY 0x00008000l
-
-/*
- * ddckCKSrcBlt is valid.
- */
-#define DDSD_CKSRCBLT 0x00010000l
-
-/*
- * dwMipMapCount is valid.
- */
-#define DDSD_MIPMAPCOUNT 0x00020000l
-
- /*
- * dwRefreshRate is valid
- */
-#define DDSD_REFRESHRATE 0x00040000l
-
-/*
- * dwLinearSize is valid
- */
-#define DDSD_LINEARSIZE 0x00080000l
-
-/*
- * dwTextureStage is valid
- */
-#define DDSD_TEXTURESTAGE 0x00100000l
-/*
- * All input fields are valid.
- */
-#define DDSD_ALL 0x001ff9eel
-
-
-/*
- * DDOPTSURFACEDESC
- */
-typedef struct _DDOPTSURFACEDESC
-{
- DWORD dwSize; // size of the DDOPTSURFACEDESC structure
- DWORD dwFlags; // determines what fields are valid
- DDSCAPS2 ddSCaps; // Common caps like: Memory type
- DDOSCAPS ddOSCaps; // Common caps like: Memory type
- GUID guid; // Compression technique GUID
- DWORD dwCompressionRatio; // Compression ratio
-} DDOPTSURFACEDESC;
-
-/*
- * guid field is valid.
- */
-#define DDOSD_GUID 0x00000001l
-
-/*
- * dwCompressionRatio field is valid.
- */
-#define DDOSD_COMPRESSION_RATIO 0x00000002l
-
-/*
- * ddSCaps field is valid.
- */
-#define DDOSD_SCAPS 0x00000004l
-
-/*
- * ddOSCaps field is valid.
- */
-#define DDOSD_OSCAPS 0x00000008l
-
-/*
- * All input fields are valid.
- */
-#define DDOSD_ALL 0x0000000fl
-
-/*
- * The surface's optimized pixelformat is compressed
- */
-#define DDOSDCAPS_OPTCOMPRESSED 0x00000001l
-
-/*
- * The surface's optimized pixelformat is reordered
- */
-#define DDOSDCAPS_OPTREORDERED 0x00000002l
-
-/*
- * The opt surface is a monolithic mipmap
- */
-#define DDOSDCAPS_MONOLITHICMIPMAP 0x00000004l
-
-/*
- * The valid Surf caps:
- * #define DDSCAPS_SYSTEMMEMORY 0x00000800l
- * #define DDSCAPS_VIDEOMEMORY 0x00004000l
- * #define DDSCAPS_LOCALVIDMEM 0x10000000l
- * #define DDSCAPS_NONLOCALVIDMEM 0x20000000l
- */
-#define DDOSDCAPS_VALIDSCAPS 0x30004800l
-
-/*
- * The valid OptSurf caps
- */
-#define DDOSDCAPS_VALIDOSCAPS 0x00000007l
-
-
-/*
- * DDCOLORCONTROL
- */
-typedef struct _DDCOLORCONTROL
-{
- DWORD dwSize;
- DWORD dwFlags;
- LONG lBrightness;
- LONG lContrast;
- LONG lHue;
- LONG lSaturation;
- LONG lSharpness;
- LONG lGamma;
- LONG lColorEnable;
- DWORD dwReserved1;
-} DDCOLORCONTROL;
-
-
-/*
- * lBrightness field is valid.
- */
-#define DDCOLOR_BRIGHTNESS 0x00000001l
-
-/*
- * lContrast field is valid.
- */
-#define DDCOLOR_CONTRAST 0x00000002l
-
-/*
- * lHue field is valid.
- */
-#define DDCOLOR_HUE 0x00000004l
-
-/*
- * lSaturation field is valid.
- */
-#define DDCOLOR_SATURATION 0x00000008l
-
-/*
- * lSharpness field is valid.
- */
-#define DDCOLOR_SHARPNESS 0x00000010l
-
-/*
- * lGamma field is valid.
- */
-#define DDCOLOR_GAMMA 0x00000020l
-
-/*
- * lColorEnable field is valid.
- */
-#define DDCOLOR_COLORENABLE 0x00000040l
-
-
-
-/*============================================================================
- *
- * Direct Draw Capability Flags
- *
- * These flags are used to describe the capabilities of a given Surface.
- * All flags are bit flags.
- *
- *==========================================================================*/
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * This bit is reserved. It should not be specified.
- */
-#define DDSCAPS_RESERVED1 0x00000001l
-
-/*
- * Indicates that this surface contains alpha-only information.
- * (To determine if a surface is RGBA/YUVA, the pixel format must be
- * interrogated.)
- */
-#define DDSCAPS_ALPHA 0x00000002l
-
-/*
- * Indicates that this surface is a backbuffer. It is generally
- * set by CreateSurface when the DDSCAPS_FLIP capability bit is set.
- * It indicates that this surface is THE back buffer of a surface
- * flipping structure. DirectDraw supports N surfaces in a
- * surface flipping structure. Only the surface that immediately
- * precedeces the DDSCAPS_FRONTBUFFER has this capability bit set.
- * The other surfaces are identified as back buffers by the presence
- * of the DDSCAPS_FLIP capability, their attachment order, and the
- * absence of the DDSCAPS_FRONTBUFFER and DDSCAPS_BACKBUFFER
- * capabilities. The bit is sent to CreateSurface when a standalone
- * back buffer is being created. This surface could be attached to
- * a front buffer and/or back buffers to form a flipping surface
- * structure after the CreateSurface call. See AddAttachments for
- * a detailed description of the behaviors in this case.
- */
-#define DDSCAPS_BACKBUFFER 0x00000004l
-
-/*
- * Indicates a complex surface structure is being described. A
- * complex surface structure results in the creation of more than
- * one surface. The additional surfaces are attached to the root
- * surface. The complex structure can only be destroyed by
- * destroying the root.
- */
-#define DDSCAPS_COMPLEX 0x00000008l
-
-/*
- * Indicates that this surface is a part of a surface flipping structure.
- * When it is passed to CreateSurface the DDSCAPS_FRONTBUFFER and
- * DDSCAP_BACKBUFFER bits are not set. They are set by CreateSurface
- * on the resulting creations. The dwBackBufferCount field in the
- * DDSURFACEDESC structure must be set to at least 1 in order for
- * the CreateSurface call to succeed. The DDSCAPS_COMPLEX capability
- * must always be set with creating multiple surfaces through CreateSurface.
- */
-#define DDSCAPS_FLIP 0x00000010l
-
-/*
- * Indicates that this surface is THE front buffer of a surface flipping
- * structure. It is generally set by CreateSurface when the DDSCAPS_FLIP
- * capability bit is set.
- * If this capability is sent to CreateSurface then a standalonw front buffer
- * is created. This surface will not have the DDSCAPS_FLIP capability.
- * It can be attached to other back buffers to form a flipping structure.
- * See AddAttachments for a detailed description of the behaviors in this
- * case.
- */
-#define DDSCAPS_FRONTBUFFER 0x00000020l
-
-/*
- * Indicates that this surface is any offscreen surface that is not an overlay,
- * texture, zbuffer, front buffer, back buffer, or alpha surface. It is used
- * to identify plain vanilla surfaces.
- */
-#define DDSCAPS_OFFSCREENPLAIN 0x00000040l
-
-/*
- * Indicates that this surface is an overlay. It may or may not be directly visible
- * depending on whether or not it is currently being overlayed onto the primary
- * surface. DDSCAPS_VISIBLE can be used to determine whether or not it is being
- * overlayed at the moment.
- */
-#define DDSCAPS_OVERLAY 0x00000080l
-
-/*
- * Indicates that unique DirectDrawPalette objects can be created and
- * attached to this surface.
- */
-#define DDSCAPS_PALETTE 0x00000100l
-
-/*
- * Indicates that this surface is the primary surface. The primary
- * surface represents what the user is seeing at the moment.
- */
-#define DDSCAPS_PRIMARYSURFACE 0x00000200l
-
-/*
- * Indicates that this surface is the primary surface for the left eye.
- * The primary surface for the left eye represents what the user is seeing
- * at the moment with the users left eye. When this surface is created the
- * DDSCAPS_PRIMARYSURFACE represents what the user is seeing with the users
- * right eye.
- */
-#define DDSCAPS_PRIMARYSURFACELEFT 0x00000400l
-
-/*
- * Indicates that this surface memory was allocated in system memory
- */
-#define DDSCAPS_SYSTEMMEMORY 0x00000800l
-
-/*
- * Indicates that this surface can be used as a 3D texture. It does not
- * indicate whether or not the surface is being used for that purpose.
- */
-#define DDSCAPS_TEXTURE 0x00001000l
-
-/*
- * Indicates that a surface may be a destination for 3D rendering. This
- * bit must be set in order to query for a Direct3D Device Interface
- * from this surface.
- */
-#define DDSCAPS_3DDEVICE 0x00002000l
-
-/*
- * Indicates that this surface exists in video memory.
- */
-#define DDSCAPS_VIDEOMEMORY 0x00004000l
-
-/*
- * Indicates that changes made to this surface are immediately visible.
- * It is always set for the primary surface and is set for overlays while
- * they are being overlayed and texture maps while they are being textured.
- */
-#define DDSCAPS_VISIBLE 0x00008000l
-
-/*
- * Indicates that only writes are permitted to the surface. Read accesses
- * from the surface may or may not generate a protection fault, but the
- * results of a read from this surface will not be meaningful. READ ONLY.
- */
-#define DDSCAPS_WRITEONLY 0x00010000l
-
-/*
- * Indicates that this surface is a z buffer. A z buffer does not contain
- * displayable information. Instead it contains bit depth information that is
- * used to determine which pixels are visible and which are obscured.
- */
-#define DDSCAPS_ZBUFFER 0x00020000l
-
-/*
- * Indicates surface will have a DC associated long term
- */
-#define DDSCAPS_OWNDC 0x00040000l
-
-/*
- * Indicates surface should be able to receive live video
- */
-#define DDSCAPS_LIVEVIDEO 0x00080000l
-
-/*
- * Indicates surface should be able to have a stream decompressed
- * to it by the hardware.
- */
-#define DDSCAPS_HWCODEC 0x00100000l
-
-/*
- * Surface is a ModeX surface.
- *
- */
-#define DDSCAPS_MODEX 0x00200000l
-
-/*
- * Indicates surface is one level of a mip-map. This surface will
- * be attached to other DDSCAPS_MIPMAP surfaces to form the mip-map.
- * This can be done explicitly, by creating a number of surfaces and
- * attaching them with AddAttachedSurface or by implicitly by CreateSurface.
- * If this bit is set then DDSCAPS_TEXTURE must also be set.
- */
-#define DDSCAPS_MIPMAP 0x00400000l
-
-/*
- * This bit is reserved. It should not be specified.
- */
-#define DDSCAPS_RESERVED2 0x00800000l
-
-
-/*
- * Indicates that memory for the surface is not allocated until the surface
- * is loaded (via the Direct3D texture Load() function).
- */
-#define DDSCAPS_ALLOCONLOAD 0x04000000l
-
-/*
- * Indicates that the surface will recieve data from a video port.
- */
-#define DDSCAPS_VIDEOPORT 0x08000000l
-
-/*
- * Indicates that a video memory surface is resident in true, local video
- * memory rather than non-local video memory. If this flag is specified then
- * so must DDSCAPS_VIDEOMEMORY. This flag is mutually exclusive with
- * DDSCAPS_NONLOCALVIDMEM.
- */
-#define DDSCAPS_LOCALVIDMEM 0x10000000l
-
-/*
- * Indicates that a video memory surface is resident in non-local video
- * memory rather than true, local video memory. If this flag is specified
- * then so must DDSCAPS_VIDEOMEMORY. This flag is mutually exclusive with
- * DDSCAPS_LOCALVIDMEM.
- */
-#define DDSCAPS_NONLOCALVIDMEM 0x20000000l
-
-/*
- * Indicates that this surface is a standard VGA mode surface, and not a
- * ModeX surface. (This flag will never be set in combination with the
- * DDSCAPS_MODEX flag).
- */
-#define DDSCAPS_STANDARDVGAMODE 0x40000000l
-
-/*
- * Indicates that this surface will be an optimized surface. This flag is
- * currently only valid in conjunction with the DDSCAPS_TEXTURE flag. The surface
- * will be created without any underlying video memory until loaded.
- */
-#define DDSCAPS_OPTIMIZED 0x80000000l
-
-
-
-
-/*
- * Indicates that this surface will receive data from a video port using
- * the de-interlacing hardware. This allows the driver to allocate memory
- * for any extra buffers that may be required. The DDSCAPS_VIDEOPORT and
- * DDSCAPS_OVERLAY flags must also be set.
- */
-#define DDSCAPS2_HARDWAREDEINTERLACE 0x00000002L
-
-/*
- * Indicates to the driver that this surface will be locked very frequently
- * (for procedural textures, dynamic lightmaps, etc). Surfaces with this cap
- * set must also have DDSCAPS_TEXTURE. This cap cannot be used with
- * DDSCAPS2_HINTSTATIC and DDSCAPS2_OPAQUE.
- */
-#define DDSCAPS2_HINTDYNAMIC 0x00000004L
-
-/*
- * Indicates to the driver that this surface can be re-ordered/retiled on
- * load. This operation will not change the size of the texture. It is
- * relatively fast and symmetrical, since the application may lock these
- * bits (although it will take a performance hit when doing so). Surfaces
- * with this cap set must also have DDSCAPS_TEXTURE. This cap cannot be
- * used with DDSCAPS2_HINTDYNAMIC and DDSCAPS2_OPAQUE.
- */
-#define DDSCAPS2_HINTSTATIC 0x00000008L
-
-/*
- * Indicates that the client would like this texture surface to be managed by the
- * DirectDraw/Direct3D runtime. Surfaces with this cap set must also have
- * DDSCAPS_TEXTURE set.
- */
-#define DDSCAPS2_TEXTUREMANAGE 0x00000010L
-
-/*
- * These bits are reserved for internal use */
-#define DDSCAPS2_RESERVED1 0x00000020L
-#define DDSCAPS2_RESERVED2 0x00000040L
-
-/*
- * Indicates to the driver that this surface will never be locked again.
- * The driver is free to optimize this surface via retiling and actual compression.
- * All calls to Lock() or Blts from this surface will fail. Surfaces with this
- * cap set must also have DDSCAPS_TEXTURE. This cap cannot be used with
- * DDSCAPS2_HINTDYNAMIC and DDSCAPS2_HINTSTATIC.
- */
-#define DDSCAPS2_OPAQUE 0x00000080L
-
-/*
- * Applications should set this bit at CreateSurface time to indicate that they
- * intend to use antialiasing. Only valid if DDSCAPS_3DDEVICE is also set.
- */
-#define DDSCAPS2_HINTANTIALIASING 0x00000100L
-
-
-
-
- /****************************************************************************
- *
- * DIRECTDRAW DRIVER CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Display hardware has 3D acceleration.
- */
-#define DDCAPS_3D 0x00000001l
-
-/*
- * Indicates that DirectDraw will support only dest rectangles that are aligned
- * on DIRECTDRAWCAPS.dwAlignBoundaryDest boundaries of the surface, respectively.
- * READ ONLY.
- */
-#define DDCAPS_ALIGNBOUNDARYDEST 0x00000002l
-
-/*
- * Indicates that DirectDraw will support only source rectangles whose sizes in
- * BYTEs are DIRECTDRAWCAPS.dwAlignSizeDest multiples, respectively. READ ONLY.
- */
-#define DDCAPS_ALIGNSIZEDEST 0x00000004l
-/*
- * Indicates that DirectDraw will support only source rectangles that are aligned
- * on DIRECTDRAWCAPS.dwAlignBoundarySrc boundaries of the surface, respectively.
- * READ ONLY.
- */
-#define DDCAPS_ALIGNBOUNDARYSRC 0x00000008l
-
-/*
- * Indicates that DirectDraw will support only source rectangles whose sizes in
- * BYTEs are DIRECTDRAWCAPS.dwAlignSizeSrc multiples, respectively. READ ONLY.
- */
-#define DDCAPS_ALIGNSIZESRC 0x00000010l
-
-/*
- * Indicates that DirectDraw will create video memory surfaces that have a stride
- * alignment equal to DIRECTDRAWCAPS.dwAlignStride. READ ONLY.
- */
-#define DDCAPS_ALIGNSTRIDE 0x00000020l
-
-/*
- * Display hardware is capable of blt operations.
- */
-#define DDCAPS_BLT 0x00000040l
-
-/*
- * Display hardware is capable of asynchronous blt operations.
- */
-#define DDCAPS_BLTQUEUE 0x00000080l
-
-/*
- * Display hardware is capable of color space conversions during the blt operation.
- */
-#define DDCAPS_BLTFOURCC 0x00000100l
-
-/*
- * Display hardware is capable of stretching during blt operations.
- */
-#define DDCAPS_BLTSTRETCH 0x00000200l
-
-/*
- * Display hardware is shared with GDI.
- */
-#define DDCAPS_GDI 0x00000400l
-
-/*
- * Display hardware can overlay.
- */
-#define DDCAPS_OVERLAY 0x00000800l
-
-/*
- * Set if display hardware supports overlays but can not clip them.
- */
-#define DDCAPS_OVERLAYCANTCLIP 0x00001000l
-
-/*
- * Indicates that overlay hardware is capable of color space conversions during
- * the overlay operation.
- */
-#define DDCAPS_OVERLAYFOURCC 0x00002000l
-
-/*
- * Indicates that stretching can be done by the overlay hardware.
- */
-#define DDCAPS_OVERLAYSTRETCH 0x00004000l
-
-/*
- * Indicates that unique DirectDrawPalettes can be created for DirectDrawSurfaces
- * other than the primary surface.
- */
-#define DDCAPS_PALETTE 0x00008000l
-
-/*
- * Indicates that palette changes can be syncd with the veritcal refresh.
- */
-#define DDCAPS_PALETTEVSYNC 0x00010000l
-
-/*
- * Display hardware can return the current scan line.
- */
-#define DDCAPS_READSCANLINE 0x00020000l
-
-/*
- * Display hardware has stereo vision capabilities. DDSCAPS_PRIMARYSURFACELEFT
- * can be created.
- */
-#define DDCAPS_STEREOVIEW 0x00040000l
-
-/*
- * Display hardware is capable of generating a vertical blank interrupt.
- */
-#define DDCAPS_VBI 0x00080000l
-
-/*
- * Supports the use of z buffers with blt operations.
- */
-#define DDCAPS_ZBLTS 0x00100000l
-
-/*
- * Supports Z Ordering of overlays.
- */
-#define DDCAPS_ZOVERLAYS 0x00200000l
-
-/*
- * Supports color key
- */
-#define DDCAPS_COLORKEY 0x00400000l
-
-/*
- * Supports alpha surfaces
- */
-#define DDCAPS_ALPHA 0x00800000l
-
-/*
- * colorkey is hardware assisted(DDCAPS_COLORKEY will also be set)
- */
-#define DDCAPS_COLORKEYHWASSIST 0x01000000l
-
-/*
- * no hardware support at all
- */
-#define DDCAPS_NOHARDWARE 0x02000000l
-
-/*
- * Display hardware is capable of color fill with bltter
- */
-#define DDCAPS_BLTCOLORFILL 0x04000000l
-
-/*
- * Display hardware is bank switched, and potentially very slow at
- * random access to VRAM.
- */
-#define DDCAPS_BANKSWITCHED 0x08000000l
-
-/*
- * Display hardware is capable of depth filling Z-buffers with bltter
- */
-#define DDCAPS_BLTDEPTHFILL 0x10000000l
-
-/*
- * Display hardware is capable of clipping while bltting.
- */
-#define DDCAPS_CANCLIP 0x20000000l
-
-/*
- * Display hardware is capable of clipping while stretch bltting.
- */
-#define DDCAPS_CANCLIPSTRETCHED 0x40000000l
-
-/*
- * Display hardware is capable of bltting to or from system memory
- */
-#define DDCAPS_CANBLTSYSMEM 0x80000000l
-
-
- /****************************************************************************
- *
- * MORE DIRECTDRAW DRIVER CAPABILITY FLAGS (dwCaps2)
- *
- ****************************************************************************/
-
-/*
- * Display hardware is certified
- */
-#define DDCAPS2_CERTIFIED 0x00000001l
-
-/*
- * Driver cannot interleave 2D operations (lock and blt) to surfaces with
- * Direct3D rendering operations between calls to BeginScene() and EndScene()
- */
-#define DDCAPS2_NO2DDURING3DSCENE 0x00000002l
-
-/*
- * Display hardware contains a video port
- */
-#define DDCAPS2_VIDEOPORT 0x00000004l
-
-/*
- * The overlay can be automatically flipped according to the video port
- * VSYNCs, providing automatic doubled buffered display of video port
- * data using an overlay
- */
-#define DDCAPS2_AUTOFLIPOVERLAY 0x00000008l
-
-/*
- * Overlay can display each field of interlaced data individually while
- * it is interleaved in memory without causing jittery artifacts.
- */
-#define DDCAPS2_CANBOBINTERLEAVED 0x00000010l
-
-/*
- * Overlay can display each field of interlaced data individually while
- * it is not interleaved in memory without causing jittery artifacts.
- */
-#define DDCAPS2_CANBOBNONINTERLEAVED 0x00000020l
-
-/*
- * The overlay surface contains color controls (brightness, sharpness, etc.)
- */
-#define DDCAPS2_COLORCONTROLOVERLAY 0x00000040l
-
-/*
- * The primary surface contains color controls (gamma, etc.)
- */
-#define DDCAPS2_COLORCONTROLPRIMARY 0x00000080l
-
-/*
- * RGBZ -> RGB supported for 16:16 RGB:Z
- */
-#define DDCAPS2_CANDROPZ16BIT 0x00000100l
-
-/*
- * Driver supports non-local video memory.
- */
-#define DDCAPS2_NONLOCALVIDMEM 0x00000200l
-
-/*
- * Dirver supports non-local video memory but has different capabilities for
- * non-local video memory surfaces. If this bit is set then so must
- * DDCAPS2_NONLOCALVIDMEM.
- */
-#define DDCAPS2_NONLOCALVIDMEMCAPS 0x00000400l
-
-/*
- * Driver neither requires nor prefers surfaces to be pagelocked when performing
- * blts involving system memory surfaces
- */
-#define DDCAPS2_NOPAGELOCKREQUIRED 0x00000800l
-
-/*
- * Driver can create surfaces which are wider than the primary surface
- */
-#define DDCAPS2_WIDESURFACES 0x00001000l
-
-/*
- * Driver supports bob without using a video port by handling the
- * DDFLIP_ODD and DDFLIP_EVEN flags specified in Flip.
- */
-#define DDCAPS2_CANFLIPODDEVEN 0x00002000l
-
-/*
- * Driver supports bob using hardware
- */
-#define DDCAPS2_CANBOBHARDWARE 0x00004000l
-
-/*
- * Driver supports bltting any FOURCC surface to another surface of the same FOURCC
- */
-#define DDCAPS2_COPYFOURCC 0x00008000l
-
-
-/*
- * Driver supports loadable gamma ramps for the primary surface
- */
-#define DDCAPS2_PRIMARYGAMMA 0x00020000l
-
-/*
- * Driver can render in windowed mode.
- */
-#define DDCAPS2_CANRENDERWINDOWED 0x00080000l
-
-/*
- * A calibrator is available to adjust the gamma ramp according to the
- * physical display properties so that the result will be identical on
- * all calibrated systems.
- */
-#define DDCAPS2_CANCALIBRATEGAMMA 0x00100000l
-
-/*
- * Indicates that the driver will respond to DDFLIP_INTERVALn flags
- */
-#define DDCAPS2_FLIPINTERVAL 0x00200000l
-
-/*
- * Indicates that the driver will respond to DDFLIP_NOVSYNC
- */
-#define DDCAPS2_FLIPNOVSYNC 0x00400000l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW FX ALPHA CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Supports alpha blending around the edge of a source color keyed surface.
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHAEDGEBLEND 0x00000001l
-
-/*
- * Supports alpha information in the pixel format. The bit depth of alpha
- * information in the pixel format can be 1,2,4, or 8. The alpha value becomes
- * more opaque as the alpha value increases. (0 is transparent.)
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHAPIXELS 0x00000002l
-
-/*
- * Supports alpha information in the pixel format. The bit depth of alpha
- * information in the pixel format can be 1,2,4, or 8. The alpha value
- * becomes more transparent as the alpha value increases. (0 is opaque.)
- * This flag can only be set if DDCAPS_ALPHA is set.
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHAPIXELSNEG 0x00000004l
-
-/*
- * Supports alpha only surfaces. The bit depth of an alpha only surface can be
- * 1,2,4, or 8. The alpha value becomes more opaque as the alpha value increases.
- * (0 is transparent.)
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHASURFACES 0x00000008l
-
-/*
- * The depth of the alpha channel data can range can be 1,2,4, or 8.
- * The NEG suffix indicates that this alpha channel becomes more transparent
- * as the alpha value increases. (0 is opaque.) This flag can only be set if
- * DDCAPS_ALPHA is set.
- * For Blt.
- */
-#define DDFXALPHACAPS_BLTALPHASURFACESNEG 0x00000010l
-
-/*
- * Supports alpha blending around the edge of a source color keyed surface.
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND 0x00000020l
-
-/*
- * Supports alpha information in the pixel format. The bit depth of alpha
- * information in the pixel format can be 1,2,4, or 8. The alpha value becomes
- * more opaque as the alpha value increases. (0 is transparent.)
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHAPIXELS 0x00000040l
-
-/*
- * Supports alpha information in the pixel format. The bit depth of alpha
- * information in the pixel format can be 1,2,4, or 8. The alpha value
- * becomes more transparent as the alpha value increases. (0 is opaque.)
- * This flag can only be set if DDCAPS_ALPHA is set.
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG 0x00000080l
-
-/*
- * Supports alpha only surfaces. The bit depth of an alpha only surface can be
- * 1,2,4, or 8. The alpha value becomes more opaque as the alpha value increases.
- * (0 is transparent.)
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHASURFACES 0x00000100l
-
-/*
- * The depth of the alpha channel data can range can be 1,2,4, or 8.
- * The NEG suffix indicates that this alpha channel becomes more transparent
- * as the alpha value increases. (0 is opaque.) This flag can only be set if
- * DDCAPS_ALPHA is set.
- * For Overlays.
- */
-#define DDFXALPHACAPS_OVERLAYALPHASURFACESNEG 0x00000200l
-
-#if DIRECTDRAW_VERSION < 0x0600
-#endif //DIRECTDRAW_VERSION
-
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAW FX CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Uses arithmetic operations to stretch and shrink surfaces during blt
- * rather than pixel doubling techniques. Along the Y axis.
- */
-#define DDFXCAPS_BLTARITHSTRETCHY 0x00000020l
-
-/*
- * Uses arithmetic operations to stretch during blt
- * rather than pixel doubling techniques. Along the Y axis. Only
- * works for x1, x2, etc.
- */
-#define DDFXCAPS_BLTARITHSTRETCHYN 0x00000010l
-
-/*
- * Supports mirroring left to right in blt.
- */
-#define DDFXCAPS_BLTMIRRORLEFTRIGHT 0x00000040l
-
-/*
- * Supports mirroring top to bottom in blt.
- */
-#define DDFXCAPS_BLTMIRRORUPDOWN 0x00000080l
-
-/*
- * Supports arbitrary rotation for blts.
- */
-#define DDFXCAPS_BLTROTATION 0x00000100l
-
-/*
- * Supports 90 degree rotations for blts.
- */
-#define DDFXCAPS_BLTROTATION90 0x00000200l
-
-/*
- * DirectDraw supports arbitrary shrinking of a surface along the
- * x axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSHRINKX 0x00000400l
-
-/*
- * DirectDraw supports integer shrinking (1x,2x,) of a surface
- * along the x axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSHRINKXN 0x00000800l
-
-/*
- * DirectDraw supports arbitrary shrinking of a surface along the
- * y axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSHRINKY 0x00001000l
-
-/*
- * DirectDraw supports integer shrinking (1x,2x,) of a surface
- * along the y axis (vertical direction) for blts.
- */
-#define DDFXCAPS_BLTSHRINKYN 0x00002000l
-
-/*
- * DirectDraw supports arbitrary stretching of a surface along the
- * x axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSTRETCHX 0x00004000l
-
-/*
- * DirectDraw supports integer stretching (1x,2x,) of a surface
- * along the x axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSTRETCHXN 0x00008000l
-
-/*
- * DirectDraw supports arbitrary stretching of a surface along the
- * y axis (horizontal direction) for blts.
- */
-#define DDFXCAPS_BLTSTRETCHY 0x00010000l
-
-/*
- * DirectDraw supports integer stretching (1x,2x,) of a surface
- * along the y axis (vertical direction) for blts.
- */
-#define DDFXCAPS_BLTSTRETCHYN 0x00020000l
-
-/*
- * Uses arithmetic operations to stretch and shrink surfaces during
- * overlay rather than pixel doubling techniques. Along the Y axis
- * for overlays.
- */
-#define DDFXCAPS_OVERLAYARITHSTRETCHY 0x00040000l
-
-/*
- * Uses arithmetic operations to stretch surfaces during
- * overlay rather than pixel doubling techniques. Along the Y axis
- * for overlays. Only works for x1, x2, etc.
- */
-#define DDFXCAPS_OVERLAYARITHSTRETCHYN 0x00000008l
-
-/*
- * DirectDraw supports arbitrary shrinking of a surface along the
- * x axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSHRINKX 0x00080000l
-
-/*
- * DirectDraw supports integer shrinking (1x,2x,) of a surface
- * along the x axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSHRINKXN 0x00100000l
-
-/*
- * DirectDraw supports arbitrary shrinking of a surface along the
- * y axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSHRINKY 0x00200000l
-
-/*
- * DirectDraw supports integer shrinking (1x,2x,) of a surface
- * along the y axis (vertical direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSHRINKYN 0x00400000l
-
-/*
- * DirectDraw supports arbitrary stretching of a surface along the
- * x axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSTRETCHX 0x00800000l
-
-/*
- * DirectDraw supports integer stretching (1x,2x,) of a surface
- * along the x axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSTRETCHXN 0x01000000l
-
-/*
- * DirectDraw supports arbitrary stretching of a surface along the
- * y axis (horizontal direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSTRETCHY 0x02000000l
-
-/*
- * DirectDraw supports integer stretching (1x,2x,) of a surface
- * along the y axis (vertical direction) for overlays.
- */
-#define DDFXCAPS_OVERLAYSTRETCHYN 0x04000000l
-
-/*
- * DirectDraw supports mirroring of overlays across the vertical axis
- */
-#define DDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000l
-
-/*
- * DirectDraw supports mirroring of overlays across the horizontal axis
- */
-#define DDFXCAPS_OVERLAYMIRRORUPDOWN 0x10000000l
-
-/*
- * Driver can do alpha blending for blits.
- */
-#define DDFXCAPS_BLTALPHA 0x00000001l
-
-/*
- * Driver can do geometric transformations (or warps) for blits.
- */
-#define DDFXCAPS_BLTTRANSFORM 0x00000002l
-
-/*
- * Driver can do surface-reconstruction filtering for warped blits.
- */
-#define DDFXCAPS_BLTFILTER DDFXCAPS_BLTARITHSTRETCHY
-
-/*
- * Driver can do alpha blending for overlays.
- */
-#define DDFXCAPS_OVERLAYALPHA 0x00000004l
-
-/*
- * Driver can do geometric transformations (or warps) for overlays.
- */
-#define DDFXCAPS_OVERLAYTRANSFORM 0x20000000l
-
-/*
- * Driver can do surface-reconstruction filtering for warped overlays.
- */
-#define DDFXCAPS_OVERLAYFILTER DDFXCAPS_OVERLAYARITHSTRETCHY
-
-
-/****************************************************************************
- *
- * DIRECTDRAW STEREO VIEW CAPABILITIES
- *
- ****************************************************************************/
-
-/*
- * The stereo view is accomplished via enigma encoding.
- */
-#define DDSVCAPS_ENIGMA 0x00000001l
-
-/*
- * The stereo view is accomplished via high frequency flickering.
- */
-#define DDSVCAPS_FLICKER 0x00000002l
-
-/*
- * The stereo view is accomplished via red and blue filters applied
- * to the left and right eyes. All images must adapt their colorspaces
- * for this process.
- */
-#define DDSVCAPS_REDBLUE 0x00000004l
-
-/*
- * The stereo view is accomplished with split screen technology.
- */
-#define DDSVCAPS_SPLIT 0x00000008l
-
-/****************************************************************************
- *
- * DIRECTDRAWPALETTE CAPABILITIES
- *
- ****************************************************************************/
-
-/*
- * Index is 4 bits. There are sixteen color entries in the palette table.
- */
-#define DDPCAPS_4BIT 0x00000001l
-
-/*
- * Index is onto a 8 bit color index. This field is only valid with the
- * DDPCAPS_1BIT, DDPCAPS_2BIT or DDPCAPS_4BIT capability and the target
- * surface is in 8bpp. Each color entry is one byte long and is an index
- * into destination surface's 8bpp palette.
- */
-#define DDPCAPS_8BITENTRIES 0x00000002l
-
-/*
- * Index is 8 bits. There are 256 color entries in the palette table.
- */
-#define DDPCAPS_8BIT 0x00000004l
-
-/*
- * Indicates that this DIRECTDRAWPALETTE should use the palette color array
- * passed into the lpDDColorArray parameter to initialize the DIRECTDRAWPALETTE
- * object.
- */
-#define DDPCAPS_INITIALIZE 0x00000008l
-
-/*
- * This palette is the one attached to the primary surface. Changing this
- * table has immediate effect on the display unless DDPSETPAL_VSYNC is specified
- * and supported.
- */
-#define DDPCAPS_PRIMARYSURFACE 0x00000010l
-
-/*
- * This palette is the one attached to the primary surface left. Changing
- * this table has immediate effect on the display for the left eye unless
- * DDPSETPAL_VSYNC is specified and supported.
- */
-#define DDPCAPS_PRIMARYSURFACELEFT 0x00000020l
-
-/*
- * This palette can have all 256 entries defined
- */
-#define DDPCAPS_ALLOW256 0x00000040l
-
-/*
- * This palette can have modifications to it synced with the monitors
- * refresh rate.
- */
-#define DDPCAPS_VSYNC 0x00000080l
-
-/*
- * Index is 1 bit. There are two color entries in the palette table.
- */
-#define DDPCAPS_1BIT 0x00000100l
-
-/*
- * Index is 2 bit. There are four color entries in the palette table.
- */
-#define DDPCAPS_2BIT 0x00000200l
-
-/*
- * The peFlags member of PALETTEENTRY denotes an 8 bit alpha value
- */
-#define DDPCAPS_ALPHA 0x00000400l
-
-
-/****************************************************************************
- *
- * DIRECTDRAWPALETTE SETENTRY CONSTANTS
- *
- ****************************************************************************/
-
-
-/****************************************************************************
- *
- * DIRECTDRAWPALETTE GETENTRY CONSTANTS
- *
- ****************************************************************************/
-
-/* 0 is the only legal value */
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE SETPRIVATEDATA CONSTANTS
- *
- ****************************************************************************/
-
-/*
- * The passed pointer is an IUnknown ptr. The cbData argument to SetPrivateData
- * must be set to sizeof(IUnknown*). DirectDraw will call AddRef through this
- * pointer and Release when the private data is destroyed. This includes when
- * the surface or palette is destroyed before such priovate data is destroyed.
- */
-#define DDSPD_IUNKNOWNPOINTER 0x00000001L
-
-/*
- * Private data is only valid for the current state of the object,
- * as determined by the uniqueness value.
- */
-#define DDSPD_VOLATILE 0x00000002L
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE SETPALETTE CONSTANTS
- *
- ****************************************************************************/
-
-
-/****************************************************************************
- *
- * DIRECTDRAW BITDEPTH CONSTANTS
- *
- * NOTE: These are only used to indicate supported bit depths. These
- * are flags only, they are not to be used as an actual bit depth. The
- * absolute numbers 1, 2, 4, 8, 16, 24 and 32 are used to indicate actual
- * bit depths in a surface or for changing the display mode.
- *
- ****************************************************************************/
-
-/*
- * 1 bit per pixel.
- */
-#define DDBD_1 0x00004000l
-
-/*
- * 2 bits per pixel.
- */
-#define DDBD_2 0x00002000l
-
-/*
- * 4 bits per pixel.
- */
-#define DDBD_4 0x00001000l
-
-/*
- * 8 bits per pixel.
- */
-#define DDBD_8 0x00000800l
-
-/*
- * 16 bits per pixel.
- */
-#define DDBD_16 0x00000400l
-
-/*
- * 24 bits per pixel.
- */
-#define DDBD_24 0X00000200l
-
-/*
- * 32 bits per pixel.
- */
-#define DDBD_32 0x00000100l
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE SET/GET COLOR KEY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Set if the structure contains a color space. Not set if the structure
- * contains a single color key.
- */
-#define DDCKEY_COLORSPACE 0x00000001l
-
-/*
- * Set if the structure specifies a color key or color space which is to be
- * used as a destination color key for blt operations.
- */
-#define DDCKEY_DESTBLT 0x00000002l
-
-/*
- * Set if the structure specifies a color key or color space which is to be
- * used as a destination color key for overlay operations.
- */
-#define DDCKEY_DESTOVERLAY 0x00000004l
-
-/*
- * Set if the structure specifies a color key or color space which is to be
- * used as a source color key for blt operations.
- */
-#define DDCKEY_SRCBLT 0x00000008l
-
-/*
- * Set if the structure specifies a color key or color space which is to be
- * used as a source color key for overlay operations.
- */
-#define DDCKEY_SRCOVERLAY 0x00000010l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW COLOR KEY CAPABILITY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Supports transparent blting using a color key to identify the replaceable
- * bits of the destination surface for RGB colors.
- */
-#define DDCKEYCAPS_DESTBLT 0x00000001l
-
-/*
- * Supports transparent blting using a color space to identify the replaceable
- * bits of the destination surface for RGB colors.
- */
-#define DDCKEYCAPS_DESTBLTCLRSPACE 0x00000002l
-
-/*
- * Supports transparent blting using a color space to identify the replaceable
- * bits of the destination surface for YUV colors.
- */
-#define DDCKEYCAPS_DESTBLTCLRSPACEYUV 0x00000004l
-
-/*
- * Supports transparent blting using a color key to identify the replaceable
- * bits of the destination surface for YUV colors.
- */
-#define DDCKEYCAPS_DESTBLTYUV 0x00000008l
-
-/*
- * Supports overlaying using colorkeying of the replaceable bits of the surface
- * being overlayed for RGB colors.
- */
-#define DDCKEYCAPS_DESTOVERLAY 0x00000010l
-
-/*
- * Supports a color space as the color key for the destination for RGB colors.
- */
-#define DDCKEYCAPS_DESTOVERLAYCLRSPACE 0x00000020l
-
-/*
- * Supports a color space as the color key for the destination for YUV colors.
- */
-#define DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV 0x00000040l
-
-/*
- * Supports only one active destination color key value for visible overlay
- * surfaces.
- */
-#define DDCKEYCAPS_DESTOVERLAYONEACTIVE 0x00000080l
-
-/*
- * Supports overlaying using colorkeying of the replaceable bits of the
- * surface being overlayed for YUV colors.
- */
-#define DDCKEYCAPS_DESTOVERLAYYUV 0x00000100l
-
-/*
- * Supports transparent blting using the color key for the source with
- * this surface for RGB colors.
- */
-#define DDCKEYCAPS_SRCBLT 0x00000200l
-
-/*
- * Supports transparent blting using a color space for the source with
- * this surface for RGB colors.
- */
-#define DDCKEYCAPS_SRCBLTCLRSPACE 0x00000400l
-
-/*
- * Supports transparent blting using a color space for the source with
- * this surface for YUV colors.
- */
-#define DDCKEYCAPS_SRCBLTCLRSPACEYUV 0x00000800l
-
-/*
- * Supports transparent blting using the color key for the source with
- * this surface for YUV colors.
- */
-#define DDCKEYCAPS_SRCBLTYUV 0x00001000l
-
-/*
- * Supports overlays using the color key for the source with this
- * overlay surface for RGB colors.
- */
-#define DDCKEYCAPS_SRCOVERLAY 0x00002000l
-
-/*
- * Supports overlays using a color space as the source color key for
- * the overlay surface for RGB colors.
- */
-#define DDCKEYCAPS_SRCOVERLAYCLRSPACE 0x00004000l
-
-/*
- * Supports overlays using a color space as the source color key for
- * the overlay surface for YUV colors.
- */
-#define DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV 0x00008000l
-
-/*
- * Supports only one active source color key value for visible
- * overlay surfaces.
- */
-#define DDCKEYCAPS_SRCOVERLAYONEACTIVE 0x00010000l
-
-/*
- * Supports overlays using the color key for the source with this
- * overlay surface for YUV colors.
- */
-#define DDCKEYCAPS_SRCOVERLAYYUV 0x00020000l
-
-/*
- * there are no bandwidth trade-offs for using colorkey with an overlay
- */
-#define DDCKEYCAPS_NOCOSTOVERLAY 0x00040000l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW PIXELFORMAT FLAGS
- *
- ****************************************************************************/
-
-/*
- * The surface has alpha channel information in the pixel format.
- */
-#define DDPF_ALPHAPIXELS 0x00000001l
-
-/*
- * The pixel format contains alpha only information
- */
-#define DDPF_ALPHA 0x00000002l
-
-/*
- * The FourCC code is valid.
- */
-#define DDPF_FOURCC 0x00000004l
-
-/*
- * The surface is 4-bit color indexed.
- */
-#define DDPF_PALETTEINDEXED4 0x00000008l
-
-/*
- * The surface is indexed into a palette which stores indices
- * into the destination surface's 8-bit palette.
- */
-#define DDPF_PALETTEINDEXEDTO8 0x00000010l
-
-/*
- * The surface is 8-bit color indexed.
- */
-#define DDPF_PALETTEINDEXED8 0x00000020l
-
-/*
- * The RGB data in the pixel format structure is valid.
- */
-#define DDPF_RGB 0x00000040l
-
-/*
- * The surface will accept pixel data in the format specified
- * and compress it during the write.
- */
-#define DDPF_COMPRESSED 0x00000080l
-
-/*
- * The surface will accept RGB data and translate it during
- * the write to YUV data. The format of the data to be written
- * will be contained in the pixel format structure. The DDPF_RGB
- * flag will be set.
- */
-#define DDPF_RGBTOYUV 0x00000100l
-
-/*
- * pixel format is YUV - YUV data in pixel format struct is valid
- */
-#define DDPF_YUV 0x00000200l
-
-/*
- * pixel format is a z buffer only surface
- */
-#define DDPF_ZBUFFER 0x00000400l
-
-/*
- * The surface is 1-bit color indexed.
- */
-#define DDPF_PALETTEINDEXED1 0x00000800l
-
-/*
- * The surface is 2-bit color indexed.
- */
-#define DDPF_PALETTEINDEXED2 0x00001000l
-
-/*
- * The surface contains Z information in the pixels
- */
-#define DDPF_ZPIXELS 0x00002000l
-
-/*
- * The surface contains stencil information along with Z
- */
-#define DDPF_STENCILBUFFER 0x00004000l
-
-/*
- * Premultiplied alpha format -- the color components have been
- * premultiplied by the alpha component.
- */
-#define DDPF_ALPHAPREMULT 0x00008000l
-
-
-/*
- * Luminance data in the pixel format is valid.
- * Use this flag for luminance-only or luminance+alpha surfaces,
- * the bit depth is then ddpf.dwLuminanceBitCount.
- */
-#define DDPF_LUMINANCE 0x00020000l
-
-/*
- * Luminance data in the pixel format is valid.
- * Use this flag when hanging luminance off bumpmap surfaces,
- * the bit mask for the luminance portion of the pixel is then
- * ddpf.dwBumpLuminanceBitMask
- */
-#define DDPF_BUMPLUMINANCE 0x00040000l
-
-/*
- * Bump map dUdV data in the pixel format is valid.
- */
-#define DDPF_BUMPDUDV 0x00080000l
-
-/*===========================================================================
- *
- *
- * DIRECTDRAW CALLBACK FLAGS
- *
- *
- *==========================================================================*/
-
-/****************************************************************************
- *
- * DIRECTDRAW ENUMSURFACES FLAGS
- *
- ****************************************************************************/
-
-/*
- * Enumerate all of the surfaces that meet the search criterion.
- */
-#define DDENUMSURFACES_ALL 0x00000001l
-
-/*
- * A search hit is a surface that matches the surface description.
- */
-#define DDENUMSURFACES_MATCH 0x00000002l
-
-/*
- * A search hit is a surface that does not match the surface description.
- */
-#define DDENUMSURFACES_NOMATCH 0x00000004l
-
-/*
- * Enumerate the first surface that can be created which meets the search criterion.
- */
-#define DDENUMSURFACES_CANBECREATED 0x00000008l
-
-/*
- * Enumerate the surfaces that already exist that meet the search criterion.
- */
-#define DDENUMSURFACES_DOESEXIST 0x00000010l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW SETDISPLAYMODE FLAGS
- *
- ****************************************************************************/
-
-/*
- * The desired mode is a standard VGA mode
- */
-#define DDSDM_STANDARDVGAMODE 0x00000001l
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAW ENUMDISPLAYMODES FLAGS
- *
- ****************************************************************************/
-
-/*
- * Enumerate Modes with different refresh rates. EnumDisplayModes guarantees
- * that a particular mode will be enumerated only once. This flag specifies whether
- * the refresh rate is taken into account when determining if a mode is unique.
- */
-#define DDEDM_REFRESHRATES 0x00000001l
-
-/*
- * Enumerate VGA modes. Specify this flag if you wish to enumerate supported VGA
- * modes such as mode 0x13 in addition to the usual ModeX modes (which are always
- * enumerated if the application has previously called SetCooperativeLevel with the
- * DDSCL_ALLOWMODEX flag set).
- */
-#define DDEDM_STANDARDVGAMODES 0x00000002L
-
-
-/****************************************************************************
- *
- * DIRECTDRAW SETCOOPERATIVELEVEL FLAGS
- *
- ****************************************************************************/
-
-/*
- * Exclusive mode owner will be responsible for the entire primary surface.
- * GDI can be ignored. used with DD
- */
-#define DDSCL_FULLSCREEN 0x00000001l
-
-/*
- * allow CTRL_ALT_DEL to work while in fullscreen exclusive mode
- */
-#define DDSCL_ALLOWREBOOT 0x00000002l
-
-/*
- * prevents DDRAW from modifying the application window.
- * prevents DDRAW from minimize/restore the application window on activation.
- */
-#define DDSCL_NOWINDOWCHANGES 0x00000004l
-
-/*
- * app wants to work as a regular Windows application
- */
-#define DDSCL_NORMAL 0x00000008l
-
-/*
- * app wants exclusive access
- */
-#define DDSCL_EXCLUSIVE 0x00000010l
-
-
-/*
- * app can deal with non-windows display modes
- */
-#define DDSCL_ALLOWMODEX 0x00000040l
-
-/*
- * this window will receive the focus messages
- */
-#define DDSCL_SETFOCUSWINDOW 0x00000080l
-
-/*
- * this window is associated with the DDRAW object and will
- * cover the screen in fullscreen mode
- */
-#define DDSCL_SETDEVICEWINDOW 0x00000100l
-
-/*
- * app wants DDRAW to create a window to be associated with the
- * DDRAW object
- */
-#define DDSCL_CREATEDEVICEWINDOW 0x00000200l
-
-/*
- * App explicitly asks DDRAW/D3D to be multithread safe. This makes D3D
- * take the global crtisec more frequently.
- */
-#define DDSCL_MULTITHREADED 0x00000400l
-
-/*
- * App hints that it would like to keep the FPU set up for optimal Direct3D
- * performance (single precision and exceptions disabled) so Direct3D
- * does not need to explicitly set the FPU each time
- */
-#define DDSCL_FPUSETUP 0x00000800l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW BLT FLAGS
- *
- ****************************************************************************/
-
-/*
- * Use the alpha information in the pixel format or the alpha channel surface
- * attached to the destination surface as the alpha channel for this blt.
- */
-#define DDBLT_ALPHADEST 0x00000001l
-
-/*
- * Use the dwConstAlphaDest field in the DDBLTFX structure as the alpha channel
- * for the destination surface for this blt.
- */
-#define DDBLT_ALPHADESTCONSTOVERRIDE 0x00000002l
-
-/*
- * The NEG suffix indicates that the destination surface becomes more
- * transparent as the alpha value increases. (0 is opaque)
- */
-#define DDBLT_ALPHADESTNEG 0x00000004l
-
-/*
- * Use the lpDDSAlphaDest field in the DDBLTFX structure as the alpha
- * channel for the destination for this blt.
- */
-#define DDBLT_ALPHADESTSURFACEOVERRIDE 0x00000008l
-
-/*
- * Use the dwAlphaEdgeBlend field in the DDBLTFX structure as the alpha channel
- * for the edges of the image that border the color key colors.
- */
-#define DDBLT_ALPHAEDGEBLEND 0x00000010l
-
-/*
- * Use the alpha information in the pixel format or the alpha channel surface
- * attached to the source surface as the alpha channel for this blt.
- */
-#define DDBLT_ALPHASRC 0x00000020l
-
-/*
- * Use the dwConstAlphaSrc field in the DDBLTFX structure as the alpha channel
- * for the source for this blt.
- */
-#define DDBLT_ALPHASRCCONSTOVERRIDE 0x00000040l
-
-/*
- * The NEG suffix indicates that the source surface becomes more transparent
- * as the alpha value increases. (0 is opaque)
- */
-#define DDBLT_ALPHASRCNEG 0x00000080l
-
-/*
- * Use the lpDDSAlphaSrc field in the DDBLTFX structure as the alpha channel
- * for the source for this blt.
- */
-#define DDBLT_ALPHASRCSURFACEOVERRIDE 0x00000100l
-
-/*
- * Do this blt asynchronously through the FIFO in the order received. If
- * there is no room in the hardware FIFO fail the call.
- */
-#define DDBLT_ASYNC 0x00000200l
-
-/*
- * Uses the dwFillColor field in the DDBLTFX structure as the RGB color
- * to fill the destination rectangle on the destination surface with.
- */
-#define DDBLT_COLORFILL 0x00000400l
-
-/*
- * Uses the dwDDFX field in the DDBLTFX structure to specify the effects
- * to use for the blt.
- */
-#define DDBLT_DDFX 0x00000800l
-
-/*
- * Uses the dwDDROPS field in the DDBLTFX structure to specify the ROPS
- * that are not part of the Win32 API.
- */
-#define DDBLT_DDROPS 0x00001000l
-
-/*
- * Use the color key associated with the destination surface.
- */
-#define DDBLT_KEYDEST 0x00002000l
-
-/*
- * Use the dckDestColorkey field in the DDBLTFX structure as the color key
- * for the destination surface.
- */
-#define DDBLT_KEYDESTOVERRIDE 0x00004000l
-
-/*
- * Use the color key associated with the source surface.
- */
-#define DDBLT_KEYSRC 0x00008000l
-
-/*
- * Use the dckSrcColorkey field in the DDBLTFX structure as the color key
- * for the source surface.
- */
-#define DDBLT_KEYSRCOVERRIDE 0x00010000l
-
-/*
- * Use the dwROP field in the DDBLTFX structure for the raster operation
- * for this blt. These ROPs are the same as the ones defined in the Win32 API.
- */
-#define DDBLT_ROP 0x00020000l
-
-/*
- * Use the dwRotationAngle field in the DDBLTFX structure as the angle
- * (specified in 1/100th of a degree) to rotate the surface.
- */
-#define DDBLT_ROTATIONANGLE 0x00040000l
-
-/*
- * Z-buffered blt using the z-buffers attached to the source and destination
- * surfaces and the dwZBufferOpCode field in the DDBLTFX structure as the
- * z-buffer opcode.
- */
-#define DDBLT_ZBUFFER 0x00080000l
-
-/*
- * Z-buffered blt using the dwConstDest Zfield and the dwZBufferOpCode field
- * in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively
- * for the destination.
- */
-#define DDBLT_ZBUFFERDESTCONSTOVERRIDE 0x00100000l
-
-/*
- * Z-buffered blt using the lpDDSDestZBuffer field and the dwZBufferOpCode
- * field in the DDBLTFX structure as the z-buffer and z-buffer opcode
- * respectively for the destination.
- */
-#define DDBLT_ZBUFFERDESTOVERRIDE 0x00200000l
-
-/*
- * Z-buffered blt using the dwConstSrcZ field and the dwZBufferOpCode field
- * in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively
- * for the source.
- */
-#define DDBLT_ZBUFFERSRCCONSTOVERRIDE 0x00400000l
-
-/*
- * Z-buffered blt using the lpDDSSrcZBuffer field and the dwZBufferOpCode
- * field in the DDBLTFX structure as the z-buffer and z-buffer opcode
- * respectively for the source.
- */
-#define DDBLT_ZBUFFERSRCOVERRIDE 0x00800000l
-
-/*
- * wait until the device is ready to handle the blt
- * this will cause blt to not return DDERR_WASSTILLDRAWING
- */
-#define DDBLT_WAIT 0x01000000l
-
-/*
- * Uses the dwFillDepth field in the DDBLTFX structure as the depth value
- * to fill the destination rectangle on the destination Z-buffer surface
- * with.
- */
-#define DDBLT_DEPTHFILL 0x02000000l
-
-
-/****************************************************************************
- *
- * BLTFAST FLAGS
- *
- ****************************************************************************/
-
-#define DDBLTFAST_NOCOLORKEY 0x00000000
-#define DDBLTFAST_SRCCOLORKEY 0x00000001
-#define DDBLTFAST_DESTCOLORKEY 0x00000002
-#define DDBLTFAST_WAIT 0x00000010
-
-
-
-
-/****************************************************************************
- *
- * FLIP FLAGS
- *
- ****************************************************************************/
-
-#define DDFLIP_WAIT 0x00000001L
-
-/*
- * Indicates that the target surface contains the even field of video data.
- * This flag is only valid with an overlay surface.
- */
-#define DDFLIP_EVEN 0x00000002L
-
-/*
- * Indicates that the target surface contains the odd field of video data.
- * This flag is only valid with an overlay surface.
- */
-#define DDFLIP_ODD 0x00000004L
-
-/*
- * Causes DirectDraw to perform the physical flip immediately and return
- * to the application. Typically, what was the front buffer but is now the back
- * buffer will still be visible (depending on timing) until the next vertical
- * retrace. Subsequent operations involving the two flipped surfaces will
- * not check to see if the physical flip has finished (i.e. will not return
- * DDERR_WASSTILLDRAWING for that reason (but may for other reasons)).
- * This allows an application to perform Flips at a higher frequency than the
- * monitor refresh rate, but may introduce visible artifacts.
- * Only effective if DDCAPS2_FLIPNOVSYNC is set. If that bit is not set,
- * DDFLIP_NOVSYNC has no effect.
- */
-#define DDFLIP_NOVSYNC 0x00000008L
-
-
-/*
- * Flip Interval Flags. These flags indicate how many vertical retraces to wait between
- * each flip. The default is one. DirectDraw will return DDERR_WASSTILLDRAWING for each
- * surface involved in the flip until the specified number of vertical retraces has
- * ocurred. Only effective if DDCAPS2_FLIPINTERVAL is set. If that bit is not set,
- * DDFLIP_INTERVALn has no effect.
- */
-
-/*
- * DirectDraw will flip on every other vertical sync
- */
-#define DDFLIP_INTERVAL2 0x02000000L
-
-
-/*
- * DirectDraw will flip on every third vertical sync
- */
-#define DDFLIP_INTERVAL3 0x03000000L
-
-
-/*
- * DirectDraw will flip on every fourth vertical sync
- */
-#define DDFLIP_INTERVAL4 0x04000000L
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAW SURFACE OVERLAY FLAGS
- *
- ****************************************************************************/
-
-/*
- * Use the alpha information in the pixel format or the alpha channel surface
- * attached to the destination surface as the alpha channel for the
- * destination overlay.
- */
-#define DDOVER_ALPHADEST 0x00000001l
-
-/*
- * Use the dwConstAlphaDest field in the DDOVERLAYFX structure as the
- * destination alpha channel for this overlay.
- */
-#define DDOVER_ALPHADESTCONSTOVERRIDE 0x00000002l
-
-/*
- * The NEG suffix indicates that the destination surface becomes more
- * transparent as the alpha value increases.
- */
-#define DDOVER_ALPHADESTNEG 0x00000004l
-
-/*
- * Use the lpDDSAlphaDest field in the DDOVERLAYFX structure as the alpha
- * channel destination for this overlay.
- */
-#define DDOVER_ALPHADESTSURFACEOVERRIDE 0x00000008l
-
-/*
- * Use the dwAlphaEdgeBlend field in the DDOVERLAYFX structure as the alpha
- * channel for the edges of the image that border the color key colors.
- */
-#define DDOVER_ALPHAEDGEBLEND 0x00000010l
-
-/*
- * Use the alpha information in the pixel format or the alpha channel surface
- * attached to the source surface as the source alpha channel for this overlay.
- */
-#define DDOVER_ALPHASRC 0x00000020l
-
-/*
- * Use the dwConstAlphaSrc field in the DDOVERLAYFX structure as the source
- * alpha channel for this overlay.
- */
-#define DDOVER_ALPHASRCCONSTOVERRIDE 0x00000040l
-
-/*
- * The NEG suffix indicates that the source surface becomes more transparent
- * as the alpha value increases.
- */
-#define DDOVER_ALPHASRCNEG 0x00000080l
-
-/*
- * Use the lpDDSAlphaSrc field in the DDOVERLAYFX structure as the alpha channel
- * source for this overlay.
- */
-#define DDOVER_ALPHASRCSURFACEOVERRIDE 0x00000100l
-
-/*
- * Turn this overlay off.
- */
-#define DDOVER_HIDE 0x00000200l
-
-/*
- * Use the color key associated with the destination surface.
- */
-#define DDOVER_KEYDEST 0x00000400l
-
-/*
- * Use the dckDestColorkey field in the DDOVERLAYFX structure as the color key
- * for the destination surface
- */
-#define DDOVER_KEYDESTOVERRIDE 0x00000800l
-
-/*
- * Use the color key associated with the source surface.
- */
-#define DDOVER_KEYSRC 0x00001000l
-
-/*
- * Use the dckSrcColorkey field in the DDOVERLAYFX structure as the color key
- * for the source surface.
- */
-#define DDOVER_KEYSRCOVERRIDE 0x00002000l
-
-/*
- * Turn this overlay on.
- */
-#define DDOVER_SHOW 0x00004000l
-
-/*
- * Add a dirty rect to an emulated overlayed surface.
- */
-#define DDOVER_ADDDIRTYRECT 0x00008000l
-
-/*
- * Redraw all dirty rects on an emulated overlayed surface.
- */
-#define DDOVER_REFRESHDIRTYRECTS 0x00010000l
-
-/*
- * Redraw the entire surface on an emulated overlayed surface.
- */
-#define DDOVER_REFRESHALL 0x00020000l
-
-
-/*
- * Use the overlay FX flags to define special overlay FX
- */
-#define DDOVER_DDFX 0x00080000l
-
-/*
- * Autoflip the overlay when ever the video port autoflips
- */
-#define DDOVER_AUTOFLIP 0x00100000l
-
-/*
- * Display each field of video port data individually without
- * causing any jittery artifacts
- */
-#define DDOVER_BOB 0x00200000l
-
-/*
- * Indicates that bob/weave decisions should not be overridden by other
- * interfaces.
- */
-#define DDOVER_OVERRIDEBOBWEAVE 0x00400000l
-
-/*
- * Indicates that the surface memory is composed of interleaved fields.
- */
-#define DDOVER_INTERLEAVED 0x00800000l
-
-/*
- * Indicates that bob will be performed using hardware rather than
- * software or emulated.
- */
-#define DDOVER_BOBHARDWARE 0x01000000l
-
-
-
-
-
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE LOCK FLAGS
- *
- ****************************************************************************/
-
-/*
- * The default. Set to indicate that Lock should return a valid memory pointer
- * to the top of the specified rectangle. If no rectangle is specified then a
- * pointer to the top of the surface is returned.
- */
-#define DDLOCK_SURFACEMEMORYPTR 0x00000000L // default
-
-/*
- * Set to indicate that Lock should wait until it can obtain a valid memory
- * pointer before returning. If this bit is set, Lock will never return
- * DDERR_WASSTILLDRAWING.
- */
-#define DDLOCK_WAIT 0x00000001L
-
-/*
- * Set if an event handle is being passed to Lock. Lock will trigger the event
- * when it can return the surface memory pointer requested.
- */
-#define DDLOCK_EVENT 0x00000002L
-
-/*
- * Indicates that the surface being locked will only be read from.
- */
-#define DDLOCK_READONLY 0x00000010L
-
-/*
- * Indicates that the surface being locked will only be written to
- */
-#define DDLOCK_WRITEONLY 0x00000020L
-
-
-/*
- * Indicates that a system wide lock should not be taken when this surface
- * is locked. This has several advantages (cursor responsiveness, ability
- * to call more Windows functions, easier debugging) when locking video
- * memory surfaces. However, an application specifying this flag must
- * comply with a number of conditions documented in the help file.
- * Furthermore, this flag cannot be specified when locking the primary.
- */
-#define DDLOCK_NOSYSLOCK 0x00000800L
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE PAGELOCK FLAGS
- *
- ****************************************************************************/
-
-/*
- * No flags defined at present
- */
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE PAGEUNLOCK FLAGS
- *
- ****************************************************************************/
-
-/*
- * No flags defined at present
- */
-
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE BLT FX FLAGS
- *
- ****************************************************************************/
-
-/*
- * If stretching, use arithmetic stretching along the Y axis for this blt.
- */
-#define DDBLTFX_ARITHSTRETCHY 0x00000001l
-
-/*
- * Do this blt mirroring the surface left to right. Spin the
- * surface around its y-axis.
- */
-#define DDBLTFX_MIRRORLEFTRIGHT 0x00000002l
-
-/*
- * Do this blt mirroring the surface up and down. Spin the surface
- * around its x-axis.
- */
-#define DDBLTFX_MIRRORUPDOWN 0x00000004l
-
-/*
- * Schedule this blt to avoid tearing.
- */
-#define DDBLTFX_NOTEARING 0x00000008l
-
-/*
- * Do this blt rotating the surface one hundred and eighty degrees.
- */
-#define DDBLTFX_ROTATE180 0x00000010l
-
-/*
- * Do this blt rotating the surface two hundred and seventy degrees.
- */
-#define DDBLTFX_ROTATE270 0x00000020l
-
-/*
- * Do this blt rotating the surface ninety degrees.
- */
-#define DDBLTFX_ROTATE90 0x00000040l
-
-/*
- * Do this z blt using dwZBufferLow and dwZBufferHigh as range values
- * specified to limit the bits copied from the source surface.
- */
-#define DDBLTFX_ZBUFFERRANGE 0x00000080l
-
-/*
- * Do this z blt adding the dwZBufferBaseDest to each of the sources z values
- * before comparing it with the desting z values.
- */
-#define DDBLTFX_ZBUFFERBASEDEST 0x00000100l
-
-/****************************************************************************
- *
- * DIRECTDRAWSURFACE OVERLAY FX FLAGS
- *
- ****************************************************************************/
-
-/*
- * If stretching, use arithmetic stretching along the Y axis for this overlay.
- */
-#define DDOVERFX_ARITHSTRETCHY 0x00000001l
-
-/*
- * Mirror the overlay across the vertical axis
- */
-#define DDOVERFX_MIRRORLEFTRIGHT 0x00000002l
-
-/*
- * Mirror the overlay across the horizontal axis
- */
-#define DDOVERFX_MIRRORUPDOWN 0x00000004l
-
-/****************************************************************************
- *
- * Flags for dwDDFX member of DDSPRITEFX structure
- *
- ****************************************************************************/
-/*
- * Use affine transformation matrix in fTransform member.
- */
-#define DDSPRITEFX_AFFINETRANSFORM 0x00000001l
-
-/*
- * Use RGBA scaling factors in ddrgbaScaleFactors member.
- */
-#define DDSPRITEFX_RGBASCALING 0x00000002l
-
-/*
- * Degrade RGBA scaling factors to accommodate driver's capabilities.
- */
-#define DDSPRITEFX_DEGRADERGBASCALING 0x00000004l
-
-/*
- * Do bilinear filtering of stretched or warped sprite.
- */
-#define DDSPRITEFX_BILINEARFILTER 0x00000008l
-
-/*
- * Do "blur" filtering of stretched or warped sprite.
- */
-#define DDSPRITEFX_BLURFILTER 0x00000010l
-
-/*
- * Do "flat" filtering of stretched or warped sprite.
- */
-#define DDSPRITEFX_FLATFILTER 0x00000020l
-
-/*
- * Degrade filtering operation to accommodate driver's capabilities.
- */
-#define DDSPRITEFX_DEGRADEFILTER 0x00000040l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW WAITFORVERTICALBLANK FLAGS
- *
- ****************************************************************************/
-
-/*
- * return when the vertical blank interval begins
- */
-#define DDWAITVB_BLOCKBEGIN 0x00000001l
-
-/*
- * set up an event to trigger when the vertical blank begins
- */
-#define DDWAITVB_BLOCKBEGINEVENT 0x00000002l
-
-/*
- * return when the vertical blank interval ends and display begins
- */
-#define DDWAITVB_BLOCKEND 0x00000004l
-
-/****************************************************************************
- *
- * DIRECTDRAW GETFLIPSTATUS FLAGS
- *
- ****************************************************************************/
-
-/*
- * is it OK to flip now?
- */
-#define DDGFS_CANFLIP 0x00000001l
-
-/*
- * is the last flip finished?
- */
-#define DDGFS_ISFLIPDONE 0x00000002l
-
-/****************************************************************************
- *
- * DIRECTDRAW GETBLTSTATUS FLAGS
- *
- ****************************************************************************/
-
-/*
- * is it OK to blt now?
- */
-#define DDGBS_CANBLT 0x00000001l
-
-/*
- * is the blt to the surface finished?
- */
-#define DDGBS_ISBLTDONE 0x00000002l
-
-
-/****************************************************************************
- *
- * DIRECTDRAW ENUMOVERLAYZORDER FLAGS
- *
- ****************************************************************************/
-
-/*
- * Enumerate overlays back to front.
- */
-#define DDENUMOVERLAYZ_BACKTOFRONT 0x00000000l
-
-/*
- * Enumerate overlays front to back
- */
-#define DDENUMOVERLAYZ_FRONTTOBACK 0x00000001l
-
-/****************************************************************************
- *
- * DIRECTDRAW UPDATEOVERLAYZORDER FLAGS
- *
- ****************************************************************************/
-
-/*
- * Send overlay to front
- */
-#define DDOVERZ_SENDTOFRONT 0x00000000l
-
-/*
- * Send overlay to back
- */
-#define DDOVERZ_SENDTOBACK 0x00000001l
-
-/*
- * Move Overlay forward
- */
-#define DDOVERZ_MOVEFORWARD 0x00000002l
-
-/*
- * Move Overlay backward
- */
-#define DDOVERZ_MOVEBACKWARD 0x00000003l
-
-/*
- * Move Overlay in front of relative surface
- */
-#define DDOVERZ_INSERTINFRONTOF 0x00000004l
-
-/*
- * Move Overlay in back of relative surface
- */
-#define DDOVERZ_INSERTINBACKOF 0x00000005l
-
-
-
-/****************************************************************************
- *
- * DIRECTDRAW SETGAMMARAMP FLAGS
- *
- ****************************************************************************/
-
-/*
- * Request calibrator to adjust the gamma ramp according to the physical
- * properties of the display so that the result should appear identical
- * on all systems.
- */
-#define DDSGR_CALIBRATE 0x00000001L
-
-
-/*===========================================================================
- *
- *
- * DIRECTDRAW RETURN CODES
- *
- * The return values from DirectDraw Commands and Surface that return an HRESULT
- * are codes from DirectDraw concerning the results of the action
- * requested by DirectDraw.
- *
- *==========================================================================*/
-
-/*
- * Status is OK
- *
- * Issued by: DirectDraw Commands and all callbacks
- */
-#define DD_OK 0
-#define DD_FALSE S_FALSE
-
-/****************************************************************************
- *
- * DIRECTDRAW ENUMCALLBACK RETURN VALUES
- *
- * EnumCallback returns are used to control the flow of the DIRECTDRAW and
- * DIRECTDRAWSURFACE object enumerations. They can only be returned by
- * enumeration callback routines.
- *
- ****************************************************************************/
-
-/*
- * stop the enumeration
- */
-#define DDENUMRET_CANCEL 0
-
-/*
- * continue the enumeration
- */
-#define DDENUMRET_OK 1
-
-/****************************************************************************
- *
- * DIRECTDRAW ERRORS
- *
- * Errors are represented by negative values and cannot be combined.
- *
- ****************************************************************************/
-
-/*
- * This object is already initialized
- */
-#define DDERR_ALREADYINITIALIZED MAKE_DDHRESULT( 5 )
-
-/*
- * This surface can not be attached to the requested surface.
- */
-#define DDERR_CANNOTATTACHSURFACE MAKE_DDHRESULT( 10 )
-
-/*
- * This surface can not be detached from the requested surface.
- */
-#define DDERR_CANNOTDETACHSURFACE MAKE_DDHRESULT( 20 )
-
-/*
- * Support is currently not available.
- */
-#define DDERR_CURRENTLYNOTAVAIL MAKE_DDHRESULT( 40 )
-
-/*
- * An exception was encountered while performing the requested operation
- */
-#define DDERR_EXCEPTION MAKE_DDHRESULT( 55 )
-
-/*
- * Generic failure.
- */
-#define DDERR_GENERIC E_FAIL
-
-/*
- * Height of rectangle provided is not a multiple of reqd alignment
- */
-#define DDERR_HEIGHTALIGN MAKE_DDHRESULT( 90 )
-
-/*
- * Unable to match primary surface creation request with existing
- * primary surface.
- */
-#define DDERR_INCOMPATIBLEPRIMARY MAKE_DDHRESULT( 95 )
-
-/*
- * One or more of the caps bits passed to the callback are incorrect.
- */
-#define DDERR_INVALIDCAPS MAKE_DDHRESULT( 100 )
-
-/*
- * DirectDraw does not support provided Cliplist.
- */
-#define DDERR_INVALIDCLIPLIST MAKE_DDHRESULT( 110 )
-
-/*
- * DirectDraw does not support the requested mode
- */
-#define DDERR_INVALIDMODE MAKE_DDHRESULT( 120 )
-
-/*
- * DirectDraw received a pointer that was an invalid DIRECTDRAW object.
- */
-#define DDERR_INVALIDOBJECT MAKE_DDHRESULT( 130 )
-
-/*
- * One or more of the parameters passed to the callback function are
- * incorrect.
- */
-#define DDERR_INVALIDPARAMS E_INVALIDARG
-
-/*
- * pixel format was invalid as specified
- */
-#define DDERR_INVALIDPIXELFORMAT MAKE_DDHRESULT( 145 )
-
-/*
- * Rectangle provided was invalid.
- */
-#define DDERR_INVALIDRECT MAKE_DDHRESULT( 150 )
-
-/*
- * Operation could not be carried out because one or more surfaces are locked
- */
-#define DDERR_LOCKEDSURFACES MAKE_DDHRESULT( 160 )
-
-/*
- * There is no 3D present.
- */
-#define DDERR_NO3D MAKE_DDHRESULT( 170 )
-
-/*
- * Operation could not be carried out because there is no alpha accleration
- * hardware present or available.
- */
-#define DDERR_NOALPHAHW MAKE_DDHRESULT( 180 )
-
-
-/*
- * no clip list available
- */
-#define DDERR_NOCLIPLIST MAKE_DDHRESULT( 205 )
-
-/*
- * Operation could not be carried out because there is no color conversion
- * hardware present or available.
- */
-#define DDERR_NOCOLORCONVHW MAKE_DDHRESULT( 210 )
-
-/*
- * Create function called without DirectDraw object method SetCooperativeLevel
- * being called.
- */
-#define DDERR_NOCOOPERATIVELEVELSET MAKE_DDHRESULT( 212 )
-
-/*
- * Surface doesn't currently have a color key
- */
-#define DDERR_NOCOLORKEY MAKE_DDHRESULT( 215 )
-
-/*
- * Operation could not be carried out because there is no hardware support
- * of the dest color key.
- */
-#define DDERR_NOCOLORKEYHW MAKE_DDHRESULT( 220 )
-
-/*
- * No DirectDraw support possible with current display driver
- */
-#define DDERR_NODIRECTDRAWSUPPORT MAKE_DDHRESULT( 222 )
-
-/*
- * Operation requires the application to have exclusive mode but the
- * application does not have exclusive mode.
- */
-#define DDERR_NOEXCLUSIVEMODE MAKE_DDHRESULT( 225 )
-
-/*
- * Flipping visible surfaces is not supported.
- */
-#define DDERR_NOFLIPHW MAKE_DDHRESULT( 230 )
-
-/*
- * There is no GDI present.
- */
-#define DDERR_NOGDI MAKE_DDHRESULT( 240 )
-
-/*
- * Operation could not be carried out because there is no hardware present
- * or available.
- */
-#define DDERR_NOMIRRORHW MAKE_DDHRESULT( 250 )
-
-/*
- * Requested item was not found
- */
-#define DDERR_NOTFOUND MAKE_DDHRESULT( 255 )
-
-/*
- * Operation could not be carried out because there is no overlay hardware
- * present or available.
- */
-#define DDERR_NOOVERLAYHW MAKE_DDHRESULT( 260 )
-
-/*
- * Operation could not be carried out because the source and destination
- * rectangles are on the same surface and overlap each other.
- */
-#define DDERR_OVERLAPPINGRECTS MAKE_DDHRESULT( 270 )
-
-/*
- * Operation could not be carried out because there is no appropriate raster
- * op hardware present or available.
- */
-#define DDERR_NORASTEROPHW MAKE_DDHRESULT( 280 )
-
-/*
- * Operation could not be carried out because there is no rotation hardware
- * present or available.
- */
-#define DDERR_NOROTATIONHW MAKE_DDHRESULT( 290 )
-
-/*
- * Operation could not be carried out because there is no hardware support
- * for stretching
- */
-#define DDERR_NOSTRETCHHW MAKE_DDHRESULT( 310 )
-
-/*
- * DirectDrawSurface is not in 4 bit color palette and the requested operation
- * requires 4 bit color palette.
- */
-#define DDERR_NOT4BITCOLOR MAKE_DDHRESULT( 316 )
-
-/*
- * DirectDrawSurface is not in 4 bit color index palette and the requested
- * operation requires 4 bit color index palette.
- */
-#define DDERR_NOT4BITCOLORINDEX MAKE_DDHRESULT( 317 )
-
-/*
- * DirectDraw Surface is not in 8 bit color mode and the requested operation
- * requires 8 bit color.
- */
-#define DDERR_NOT8BITCOLOR MAKE_DDHRESULT( 320 )
-
-/*
- * Operation could not be carried out because there is no texture mapping
- * hardware present or available.
- */
-#define DDERR_NOTEXTUREHW MAKE_DDHRESULT( 330 )
-
-/*
- * Operation could not be carried out because there is no hardware support
- * for vertical blank synchronized operations.
- */
-#define DDERR_NOVSYNCHW MAKE_DDHRESULT( 335 )
-
-/*
- * Operation could not be carried out because there is no hardware support
- * for zbuffer blting.
- */
-#define DDERR_NOZBUFFERHW MAKE_DDHRESULT( 340 )
-
-/*
- * Overlay surfaces could not be z layered based on their BltOrder because
- * the hardware does not support z layering of overlays.
- */
-#define DDERR_NOZOVERLAYHW MAKE_DDHRESULT( 350 )
-
-/*
- * The hardware needed for the requested operation has already been
- * allocated.
- */
-#define DDERR_OUTOFCAPS MAKE_DDHRESULT( 360 )
-
-/*
- * DirectDraw does not have enough memory to perform the operation.
- */
-#define DDERR_OUTOFMEMORY E_OUTOFMEMORY
-
-/*
- * DirectDraw does not have enough memory to perform the operation.
- */
-#define DDERR_OUTOFVIDEOMEMORY MAKE_DDHRESULT( 380 )
-
-/*
- * hardware does not support clipped overlays
- */
-#define DDERR_OVERLAYCANTCLIP MAKE_DDHRESULT( 382 )
-
-/*
- * Can only have ony color key active at one time for overlays
- */
-#define DDERR_OVERLAYCOLORKEYONLYONEACTIVE MAKE_DDHRESULT( 384 )
-
-/*
- * Access to this palette is being refused because the palette is already
- * locked by another thread.
- */
-#define DDERR_PALETTEBUSY MAKE_DDHRESULT( 387 )
-
-/*
- * No src color key specified for this operation.
- */
-#define DDERR_COLORKEYNOTSET MAKE_DDHRESULT( 400 )
-
-/*
- * This surface is already attached to the surface it is being attached to.
- */
-#define DDERR_SURFACEALREADYATTACHED MAKE_DDHRESULT( 410 )
-
-/*
- * This surface is already a dependency of the surface it is being made a
- * dependency of.
- */
-#define DDERR_SURFACEALREADYDEPENDENT MAKE_DDHRESULT( 420 )
-
-/*
- * Access to this surface is being refused because the surface is already
- * locked by another thread.
- */
-#define DDERR_SURFACEBUSY MAKE_DDHRESULT( 430 )
-
-/*
- * Access to this surface is being refused because no driver exists
- * which can supply a pointer to the surface.
- * This is most likely to happen when attempting to lock the primary
- * surface when no DCI provider is present.
- * Will also happen on attempts to lock an optimized surface.
- */
-#define DDERR_CANTLOCKSURFACE MAKE_DDHRESULT( 435 )
-
-/*
- * Access to Surface refused because Surface is obscured.
- */
-#define DDERR_SURFACEISOBSCURED MAKE_DDHRESULT( 440 )
-
-/*
- * Access to this surface is being refused because the surface is gone.
- * The DIRECTDRAWSURFACE object representing this surface should
- * have Restore called on it.
- */
-#define DDERR_SURFACELOST MAKE_DDHRESULT( 450 )
-
-/*
- * The requested surface is not attached.
- */
-#define DDERR_SURFACENOTATTACHED MAKE_DDHRESULT( 460 )
-
-/*
- * Height requested by DirectDraw is too large.
- */
-#define DDERR_TOOBIGHEIGHT MAKE_DDHRESULT( 470 )
-
-/*
- * Size requested by DirectDraw is too large -- The individual height and
- * width are OK.
- */
-#define DDERR_TOOBIGSIZE MAKE_DDHRESULT( 480 )
-
-/*
- * Width requested by DirectDraw is too large.
- */
-#define DDERR_TOOBIGWIDTH MAKE_DDHRESULT( 490 )
-
-/*
- * Action not supported.
- */
-#define DDERR_UNSUPPORTED E_NOTIMPL
-
-/*
- * FOURCC format requested is unsupported by DirectDraw
- */
-#define DDERR_UNSUPPORTEDFORMAT MAKE_DDHRESULT( 510 )
-
-/*
- * Bitmask in the pixel format requested is unsupported by DirectDraw
- */
-#define DDERR_UNSUPPORTEDMASK MAKE_DDHRESULT( 520 )
-
-/*
- * The specified stream contains invalid data
- */
-#define DDERR_INVALIDSTREAM MAKE_DDHRESULT( 521 )
-
-/*
- * vertical blank is in progress
- */
-#define DDERR_VERTICALBLANKINPROGRESS MAKE_DDHRESULT( 537 )
-
-/*
- * Informs DirectDraw that the previous Blt which is transfering information
- * to or from this Surface is incomplete.
- */
-#define DDERR_WASSTILLDRAWING MAKE_DDHRESULT( 540 )
-
-
-/*
- * Rectangle provided was not horizontally aligned on reqd. boundary
- */
-#define DDERR_XALIGN MAKE_DDHRESULT( 560 )
-
-/*
- * The GUID passed to DirectDrawCreate is not a valid DirectDraw driver
- * identifier.
- */
-#define DDERR_INVALIDDIRECTDRAWGUID MAKE_DDHRESULT( 561 )
-
-/*
- * A DirectDraw object representing this driver has already been created
- * for this process.
- */
-#define DDERR_DIRECTDRAWALREADYCREATED MAKE_DDHRESULT( 562 )
-
-/*
- * A hardware only DirectDraw object creation was attempted but the driver
- * did not support any hardware.
- */
-#define DDERR_NODIRECTDRAWHW MAKE_DDHRESULT( 563 )
-
-/*
- * this process already has created a primary surface
- */
-#define DDERR_PRIMARYSURFACEALREADYEXISTS MAKE_DDHRESULT( 564 )
-
-/*
- * software emulation not available.
- */
-#define DDERR_NOEMULATION MAKE_DDHRESULT( 565 )
-
-/*
- * region passed to Clipper::GetClipList is too small.
- */
-#define DDERR_REGIONTOOSMALL MAKE_DDHRESULT( 566 )
-
-/*
- * an attempt was made to set a clip list for a clipper objec that
- * is already monitoring an hwnd.
- */
-#define DDERR_CLIPPERISUSINGHWND MAKE_DDHRESULT( 567 )
-
-/*
- * No clipper object attached to surface object
- */
-#define DDERR_NOCLIPPERATTACHED MAKE_DDHRESULT( 568 )
-
-/*
- * Clipper notification requires an HWND or
- * no HWND has previously been set as the CooperativeLevel HWND.
- */
-#define DDERR_NOHWND MAKE_DDHRESULT( 569 )
-
-/*
- * HWND used by DirectDraw CooperativeLevel has been subclassed,
- * this prevents DirectDraw from restoring state.
- */
-#define DDERR_HWNDSUBCLASSED MAKE_DDHRESULT( 570 )
-
-/*
- * The CooperativeLevel HWND has already been set.
- * It can not be reset while the process has surfaces or palettes created.
- */
-#define DDERR_HWNDALREADYSET MAKE_DDHRESULT( 571 )
-
-/*
- * No palette object attached to this surface.
- */
-#define DDERR_NOPALETTEATTACHED MAKE_DDHRESULT( 572 )
-
-/*
- * No hardware support for 16 or 256 color palettes.
- */
-#define DDERR_NOPALETTEHW MAKE_DDHRESULT( 573 )
-
-/*
- * If a clipper object is attached to the source surface passed into a
- * BltFast call.
- */
-#define DDERR_BLTFASTCANTCLIP MAKE_DDHRESULT( 574 )
-
-/*
- * No blter.
- */
-#define DDERR_NOBLTHW MAKE_DDHRESULT( 575 )
-
-/*
- * No DirectDraw ROP hardware.
- */
-#define DDERR_NODDROPSHW MAKE_DDHRESULT( 576 )
-
-/*
- * returned when GetOverlayPosition is called on a hidden overlay
- */
-#define DDERR_OVERLAYNOTVISIBLE MAKE_DDHRESULT( 577 )
-
-/*
- * returned when GetOverlayPosition is called on a overlay that UpdateOverlay
- * has never been called on to establish a destionation.
- */
-#define DDERR_NOOVERLAYDEST MAKE_DDHRESULT( 578 )
-
-/*
- * returned when the position of the overlay on the destionation is no longer
- * legal for that destionation.
- */
-#define DDERR_INVALIDPOSITION MAKE_DDHRESULT( 579 )
-
-/*
- * returned when an overlay member is called for a non-overlay surface
- */
-#define DDERR_NOTAOVERLAYSURFACE MAKE_DDHRESULT( 580 )
-
-/*
- * An attempt was made to set the cooperative level when it was already
- * set to exclusive.
- */
-#define DDERR_EXCLUSIVEMODEALREADYSET MAKE_DDHRESULT( 581 )
-
-/*
- * An attempt has been made to flip a surface that is not flippable.
- */
-#define DDERR_NOTFLIPPABLE MAKE_DDHRESULT( 582 )
-
-/*
- * Can't duplicate primary & 3D surfaces, or surfaces that are implicitly
- * created.
- */
-#define DDERR_CANTDUPLICATE MAKE_DDHRESULT( 583 )
-
-/*
- * Surface was not locked. An attempt to unlock a surface that was not
- * locked at all, or by this process, has been attempted.
- */
-#define DDERR_NOTLOCKED MAKE_DDHRESULT( 584 )
-
-/*
- * Windows can not create any more DCs, or a DC was requested for a paltte-indexed
- * surface when the surface had no palette AND the display mode was not palette-indexed
- * (in this case DirectDraw cannot select a proper palette into the DC)
- */
-#define DDERR_CANTCREATEDC MAKE_DDHRESULT( 585 )
-
-/*
- * No DC was ever created for this surface.
- */
-#define DDERR_NODC MAKE_DDHRESULT( 586 )
-
-/*
- * This surface can not be restored because it was created in a different
- * mode.
- */
-#define DDERR_WRONGMODE MAKE_DDHRESULT( 587 )
-
-/*
- * This surface can not be restored because it is an implicitly created
- * surface.
- */
-#define DDERR_IMPLICITLYCREATED MAKE_DDHRESULT( 588 )
-
-/*
- * The surface being used is not a palette-based surface
- */
-#define DDERR_NOTPALETTIZED MAKE_DDHRESULT( 589 )
-
-
-/*
- * The display is currently in an unsupported mode
- */
-#define DDERR_UNSUPPORTEDMODE MAKE_DDHRESULT( 590 )
-
-/*
- * Operation could not be carried out because there is no mip-map
- * texture mapping hardware present or available.
- */
-#define DDERR_NOMIPMAPHW MAKE_DDHRESULT( 591 )
-
-/*
- * The requested action could not be performed because the surface was of
- * the wrong type.
- */
-#define DDERR_INVALIDSURFACETYPE MAKE_DDHRESULT( 592 )
-
-
-
-/*
- * Device does not support optimized surfaces, therefore no video memory optimized surfaces
- */
-#define DDERR_NOOPTIMIZEHW MAKE_DDHRESULT( 600 )
-
-/*
- * Surface is an optimized surface, but has not yet been allocated any memory
- */
-#define DDERR_NOTLOADED MAKE_DDHRESULT( 601 )
-
-/*
- * Attempt was made to create or set a device window without first setting
- * the focus window
- */
-#define DDERR_NOFOCUSWINDOW MAKE_DDHRESULT( 602 )
-
-/*
- * A DC has already been returned for this surface. Only one DC can be
- * retrieved per surface.
- */
-#define DDERR_DCALREADYCREATED MAKE_DDHRESULT( 620 )
-
-/*
- * An attempt was made to allocate non-local video memory from a device
- * that does not support non-local video memory.
- */
-#define DDERR_NONONLOCALVIDMEM MAKE_DDHRESULT( 630 )
-
-/*
- * The attempt to page lock a surface failed.
- */
-#define DDERR_CANTPAGELOCK MAKE_DDHRESULT( 640 )
-
-
-/*
- * The attempt to page unlock a surface failed.
- */
-#define DDERR_CANTPAGEUNLOCK MAKE_DDHRESULT( 660 )
-
-/*
- * An attempt was made to page unlock a surface with no outstanding page locks.
- */
-#define DDERR_NOTPAGELOCKED MAKE_DDHRESULT( 680 )
-
-/*
- * There is more data available than the specified buffer size could hold
- */
-#define DDERR_MOREDATA MAKE_DDHRESULT( 690 )
-
-/*
- * The data has expired and is therefore no longer valid.
- */
-#define DDERR_EXPIRED MAKE_DDHRESULT( 691 )
-
-/*
- * The video port is not active
- */
-#define DDERR_VIDEONOTACTIVE MAKE_DDHRESULT( 695 )
-
-/*
- * Surfaces created by one direct draw device cannot be used directly by
- * another direct draw device.
- */
-#define DDERR_DEVICEDOESNTOWNSURFACE MAKE_DDHRESULT( 699 )
-
-
-/*
- * An attempt was made to invoke an interface member of a DirectDraw object
- * created by CoCreateInstance() before it was initialized.
- */
-#define DDERR_NOTINITIALIZED CO_E_NOTINITIALIZED
-
-
-/* Alpha bit depth constants */
-
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
-
+++ /dev/null
-/****************************************************************************
- *
- * Copyright (C) 1996-1997 Microsoft Corporation. All Rights Reserved.
- *
- * File: dinput.h
- * Content: DirectInput include file
- *
- ****************************************************************************/
-
-#ifndef __DINPUT_INCLUDED__
-#define __DINPUT_INCLUDED__
-
-#ifndef DIJ_RINGZERO
-
-#ifdef _WIN32
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-#endif
-
-#endif /* DIJ_RINGZERO */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef DIRECTINPUT_VERSION
-#define DIRECTINPUT_VERSION 0x0500
-#endif
-
-#ifndef DIJ_RINGZERO
-/****************************************************************************
- *
- * Class IDs
- *
- ****************************************************************************/
-
-DEFINE_GUID(CLSID_DirectInput, 0x25E609E0,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(CLSID_DirectInputDevice,0x25E609E1,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-/****************************************************************************
- *
- * Interfaces
- *
- ****************************************************************************/
-
-DEFINE_GUID(IID_IDirectInputA, 0x89521360,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputW, 0x89521361,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInput2A, 0x5944E662,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInput2W, 0x5944E663,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(IID_IDirectInputDeviceA, 0x5944E680,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDeviceW, 0x5944E681,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDevice2A,0x5944E682,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDevice2W,0x5944E683,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(IID_IDirectInputEffect, 0xE7E1F7C0,0x88D2,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-
-/****************************************************************************
- *
- * Predefined object types
- *
- ****************************************************************************/
-
-DEFINE_GUID(GUID_XAxis, 0xA36D02E0,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_YAxis, 0xA36D02E1,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_ZAxis, 0xA36D02E2,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_RxAxis, 0xA36D02F4,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_RyAxis, 0xA36D02F5,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_RzAxis, 0xA36D02E3,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_Slider, 0xA36D02E4,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(GUID_Button, 0xA36D02F0,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_Key, 0x55728220,0xD33C,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(GUID_POV, 0xA36D02F2,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-DEFINE_GUID(GUID_Unknown, 0xA36D02F3,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-/****************************************************************************
- *
- * Predefined product GUIDs
- *
- ****************************************************************************/
-
-DEFINE_GUID(GUID_SysMouse, 0x6F1D2B60,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_SysKeyboard,0x6F1D2B61,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_Joystick ,0x6F1D2B70,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
-
-/****************************************************************************
- *
- * Predefined force feedback effects
- *
- ****************************************************************************/
-
-DEFINE_GUID(GUID_ConstantForce,0x13541C20,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_RampForce, 0x13541C21,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Square, 0x13541C22,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Sine, 0x13541C23,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Triangle, 0x13541C24,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_SawtoothUp, 0x13541C25,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_SawtoothDown, 0x13541C26,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Spring, 0x13541C27,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Damper, 0x13541C28,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Inertia, 0x13541C29,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_Friction, 0x13541C2A,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-DEFINE_GUID(GUID_CustomForce, 0x13541C2B,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
-
-
-#endif /* DIJ_RINGZERO */
-
-/****************************************************************************
- *
- * Interfaces and Structures...
- *
- ****************************************************************************/
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-
-/****************************************************************************
- *
- * IDirectInputEffect
- *
- ****************************************************************************/
-
-#define DIEFT_ALL 0x00000000
-
-#define DIEFT_CONSTANTFORCE 0x00000001
-#define DIEFT_RAMPFORCE 0x00000002
-#define DIEFT_PERIODIC 0x00000003
-#define DIEFT_CONDITION 0x00000004
-#define DIEFT_CUSTOMFORCE 0x00000005
-#define DIEFT_HARDWARE 0x000000FF
-
-#define DIEFT_FFATTACK 0x00000200
-#define DIEFT_FFFADE 0x00000400
-#define DIEFT_SATURATION 0x00000800
-#define DIEFT_POSNEGCOEFFICIENTS 0x00001000
-#define DIEFT_POSNEGSATURATION 0x00002000
-#define DIEFT_DEADBAND 0x00004000
-
-#define DIEFT_GETTYPE(n) LOBYTE(n)
-
-#define DI_DEGREES 100
-#define DI_FFNOMINALMAX 10000
-#define DI_SECONDS 1000000
-
-typedef struct DICONSTANTFORCE {
- LONG lMagnitude;
-} DICONSTANTFORCE, *LPDICONSTANTFORCE;
-typedef const DICONSTANTFORCE *LPCDICONSTANTFORCE;
-
-typedef struct DIRAMPFORCE {
- LONG lStart;
- LONG lEnd;
-} DIRAMPFORCE, *LPDIRAMPFORCE;
-typedef const DIRAMPFORCE *LPCDIRAMPFORCE;
-
-typedef struct DIPERIODIC {
- DWORD dwMagnitude;
- LONG lOffset;
- DWORD dwPhase;
- DWORD dwPeriod;
-} DIPERIODIC, *LPDIPERIODIC;
-typedef const DIPERIODIC *LPCDIPERIODIC;
-
-typedef struct DICONDITION {
- LONG lOffset;
- LONG lPositiveCoefficient;
- LONG lNegativeCoefficient;
- DWORD dwPositiveSaturation;
- DWORD dwNegativeSaturation;
- LONG lDeadBand;
-} DICONDITION, *LPDICONDITION;
-typedef const DICONDITION *LPCDICONDITION;
-
-typedef struct DICUSTOMFORCE {
- DWORD cChannels;
- DWORD dwSamplePeriod;
- DWORD cSamples;
- LPLONG rglForceData;
-} DICUSTOMFORCE, *LPDICUSTOMFORCE;
-typedef const DICUSTOMFORCE *LPCDICUSTOMFORCE;
-
-typedef struct DIENVELOPE {
- DWORD dwSize; /* sizeof(DIENVELOPE) */
- DWORD dwAttackLevel;
- DWORD dwAttackTime; /* Microseconds */
- DWORD dwFadeLevel;
- DWORD dwFadeTime; /* Microseconds */
-} DIENVELOPE, *LPDIENVELOPE;
-typedef const DIENVELOPE *LPCDIENVELOPE;
-
-typedef struct DIEFFECT {
- DWORD dwSize; /* sizeof(DIEFFECT) */
- DWORD dwFlags; /* DIEFF_* */
- DWORD dwDuration; /* Microseconds */
- DWORD dwSamplePeriod; /* Microseconds */
- DWORD dwGain;
- DWORD dwTriggerButton; /* or DIEB_NOTRIGGER */
- DWORD dwTriggerRepeatInterval; /* Microseconds */
- DWORD cAxes; /* Number of axes */
- LPDWORD rgdwAxes; /* Array of axes */
- LPLONG rglDirection; /* Array of directions */
- LPDIENVELOPE lpEnvelope; /* Optional */
- DWORD cbTypeSpecificParams; /* Size of params */
- LPVOID lpvTypeSpecificParams; /* Pointer to params */
-} DIEFFECT, *LPDIEFFECT;
-typedef const DIEFFECT *LPCDIEFFECT;
-
-#define DIEFF_OBJECTIDS 0x00000001
-#define DIEFF_OBJECTOFFSETS 0x00000002
-#define DIEFF_CARTESIAN 0x00000010
-#define DIEFF_POLAR 0x00000020
-#define DIEFF_SPHERICAL 0x00000040
-
-#define DIEP_DURATION 0x00000001
-#define DIEP_SAMPLEPERIOD 0x00000002
-#define DIEP_GAIN 0x00000004
-#define DIEP_TRIGGERBUTTON 0x00000008
-#define DIEP_TRIGGERREPEATINTERVAL 0x00000010
-#define DIEP_AXES 0x00000020
-#define DIEP_DIRECTION 0x00000040
-#define DIEP_ENVELOPE 0x00000080
-#define DIEP_TYPESPECIFICPARAMS 0x00000100
-#define DIEP_ALLPARAMS 0x000001FF
-#define DIEP_START 0x20000000
-#define DIEP_NORESTART 0x40000000
-#define DIEP_NODOWNLOAD 0x80000000
-#define DIEB_NOTRIGGER 0xFFFFFFFF
-
-#define DIES_SOLO 0x00000001
-#define DIES_NODOWNLOAD 0x80000000
-
-#define DIEGES_PLAYING 0x00000001
-#define DIEGES_EMULATED 0x00000002
-
-typedef struct DIEFFESCAPE {
- DWORD dwSize;
- DWORD dwCommand;
- LPVOID lpvInBuffer;
- DWORD cbInBuffer;
- LPVOID lpvOutBuffer;
- DWORD cbOutBuffer;
-} DIEFFESCAPE, *LPDIEFFESCAPE;
-
-#ifndef DIJ_RINGZERO
-
-#undef INTERFACE
-#define INTERFACE IDirectInputEffect
-
-DECLARE_INTERFACE_(IDirectInputEffect, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputEffect methods ***/
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
- STDMETHOD(GetEffectGuid)(THIS_ LPGUID) PURE;
- STDMETHOD(GetParameters)(THIS_ LPDIEFFECT,DWORD) PURE;
- STDMETHOD(SetParameters)(THIS_ LPCDIEFFECT,DWORD) PURE;
- STDMETHOD(Start)(THIS_ DWORD,DWORD) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(GetEffectStatus)(THIS_ LPDWORD) PURE;
- STDMETHOD(Download)(THIS) PURE;
- STDMETHOD(Unload)(THIS) PURE;
- STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE) PURE;
-};
-
-typedef struct IDirectInputEffect *LPDIRECTINPUTEFFECT;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInputEffect_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInputEffect_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInputEffect_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInputEffect_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
-#define IDirectInputEffect_GetEffectGuid(p,a) (p)->lpVtbl->GetEffectGuid(p,a)
-#define IDirectInputEffect_GetParameters(p,a,b) (p)->lpVtbl->GetParameters(p,a,b)
-#define IDirectInputEffect_SetParameters(p,a,b) (p)->lpVtbl->SetParameters(p,a,b)
-#define IDirectInputEffect_Start(p,a,b) (p)->lpVtbl->Start(p,a,b)
-#define IDirectInputEffect_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectInputEffect_GetEffectStatus(p,a) (p)->lpVtbl->GetEffectStatus(p,a)
-#define IDirectInputEffect_Download(p) (p)->lpVtbl->Download(p)
-#define IDirectInputEffect_Unload(p) (p)->lpVtbl->Unload(p)
-#define IDirectInputEffect_Escape(p,a) (p)->lpVtbl->Escape(p,a)
-#else
-#define IDirectInputEffect_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInputEffect_AddRef(p) (p)->AddRef()
-#define IDirectInputEffect_Release(p) (p)->Release()
-#define IDirectInputEffect_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
-#define IDirectInputEffect_GetEffectGuid(p,a) (p)->GetEffectGuid(a)
-#define IDirectInputEffect_GetParameters(p,a,b) (p)->GetParameters(a,b)
-#define IDirectInputEffect_SetParameters(p,a,b) (p)->SetParameters(a,b)
-#define IDirectInputEffect_Start(p,a,b) (p)->Start(a,b)
-#define IDirectInputEffect_Stop(p) (p)->Stop()
-#define IDirectInputEffect_GetEffectStatus(p,a) (p)->GetEffectStatus(a)
-#define IDirectInputEffect_Download(p) (p)->Download()
-#define IDirectInputEffect_Unload(p) (p)->Unload()
-#define IDirectInputEffect_Escape(p,a) (p)->Escape(a)
-#endif
-
-#endif /* DIJ_RINGZERO */
-
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-/****************************************************************************
- *
- * IDirectInputDevice
- *
- ****************************************************************************/
-
-#define DIDEVTYPE_DEVICE 1
-#define DIDEVTYPE_MOUSE 2
-#define DIDEVTYPE_KEYBOARD 3
-#define DIDEVTYPE_JOYSTICK 4
-#define DIDEVTYPE_HID 0x00010000
-
-#define DIDEVTYPEMOUSE_UNKNOWN 1
-#define DIDEVTYPEMOUSE_TRADITIONAL 2
-#define DIDEVTYPEMOUSE_FINGERSTICK 3
-#define DIDEVTYPEMOUSE_TOUCHPAD 4
-#define DIDEVTYPEMOUSE_TRACKBALL 5
-
-#define DIDEVTYPEKEYBOARD_UNKNOWN 0
-#define DIDEVTYPEKEYBOARD_PCXT 1
-#define DIDEVTYPEKEYBOARD_OLIVETTI 2
-#define DIDEVTYPEKEYBOARD_PCAT 3
-#define DIDEVTYPEKEYBOARD_PCENH 4
-#define DIDEVTYPEKEYBOARD_NOKIA1050 5
-#define DIDEVTYPEKEYBOARD_NOKIA9140 6
-#define DIDEVTYPEKEYBOARD_NEC98 7
-#define DIDEVTYPEKEYBOARD_NEC98LAPTOP 8
-#define DIDEVTYPEKEYBOARD_NEC98106 9
-#define DIDEVTYPEKEYBOARD_JAPAN106 10
-#define DIDEVTYPEKEYBOARD_JAPANAX 11
-#define DIDEVTYPEKEYBOARD_J3100 12
-
-#define DIDEVTYPEJOYSTICK_UNKNOWN 1
-#define DIDEVTYPEJOYSTICK_TRADITIONAL 2
-#define DIDEVTYPEJOYSTICK_FLIGHTSTICK 3
-#define DIDEVTYPEJOYSTICK_GAMEPAD 4
-#define DIDEVTYPEJOYSTICK_RUDDER 5
-#define DIDEVTYPEJOYSTICK_WHEEL 6
-#define DIDEVTYPEJOYSTICK_HEADTRACKER 7
-
-#define GET_DIDEVICE_TYPE(dwDevType) LOBYTE(dwDevType)
-#define GET_DIDEVICE_SUBTYPE(dwDevType) HIBYTE(dwDevType)
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-/* This structure is defined for DirectX 3.0 compatibility */
-
-typedef struct DIDEVCAPS_DX3 {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwDevType;
- DWORD dwAxes;
- DWORD dwButtons;
- DWORD dwPOVs;
-} DIDEVCAPS_DX3, *LPDIDEVCAPS_DX3;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-typedef struct DIDEVCAPS {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwDevType;
- DWORD dwAxes;
- DWORD dwButtons;
- DWORD dwPOVs;
-#if(DIRECTINPUT_VERSION >= 0x0500)
- DWORD dwFFSamplePeriod;
- DWORD dwFFMinTimeResolution;
- DWORD dwFirmwareRevision;
- DWORD dwHardwareRevision;
- DWORD dwFFDriverVersion;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVCAPS, *LPDIDEVCAPS;
-
-#define DIDC_ATTACHED 0x00000001
-#define DIDC_POLLEDDEVICE 0x00000002
-#define DIDC_EMULATED 0x00000004
-#define DIDC_POLLEDDATAFORMAT 0x00000008
-#if(DIRECTINPUT_VERSION >= 0x0500)
-#define DIDC_FORCEFEEDBACK 0x00000100
-#define DIDC_FFATTACK 0x00000200
-#define DIDC_FFFADE 0x00000400
-#define DIDC_SATURATION 0x00000800
-#define DIDC_POSNEGCOEFFICIENTS 0x00001000
-#define DIDC_POSNEGSATURATION 0x00002000
-#define DIDC_DEADBAND 0x00004000
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-#define DIDFT_ALL 0x00000000
-
-#define DIDFT_RELAXIS 0x00000001
-#define DIDFT_ABSAXIS 0x00000002
-#define DIDFT_AXIS 0x00000003
-
-#define DIDFT_PSHBUTTON 0x00000004
-#define DIDFT_TGLBUTTON 0x00000008
-#define DIDFT_BUTTON 0x0000000C
-
-#define DIDFT_POV 0x00000010
-
-#define DIDFT_COLLECTION 0x00000040
-#define DIDFT_NODATA 0x00000080
-
-#define DIDFT_ANYINSTANCE 0x00FFFF00
-#define DIDFT_INSTANCEMASK DIDFT_ANYINSTANCE
-#define DIDFT_MAKEINSTANCE(n) ((WORD)(n) << 8)
-#define DIDFT_GETTYPE(n) LOBYTE(n)
-#define DIDFT_GETINSTANCE(n) LOWORD((n) >> 8)
-#define DIDFT_FFACTUATOR 0x01000000
-#define DIDFT_FFEFFECTTRIGGER 0x02000000
-
-#define DIDFT_ENUMCOLLECTION(n) ((WORD)(n) << 8)
-#define DIDFT_NOCOLLECTION 0x00FFFF00
-
-
-#ifndef DIJ_RINGZERO
-
-typedef struct _DIOBJECTDATAFORMAT {
- const GUID *pguid;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
-} DIOBJECTDATAFORMAT, *LPDIOBJECTDATAFORMAT;
-typedef const DIOBJECTDATAFORMAT *LPCDIOBJECTDATAFORMAT;
-
-typedef struct _DIDATAFORMAT {
- DWORD dwSize;
- DWORD dwObjSize;
- DWORD dwFlags;
- DWORD dwDataSize;
- DWORD dwNumObjs;
- LPDIOBJECTDATAFORMAT rgodf;
-} DIDATAFORMAT, *LPDIDATAFORMAT;
-typedef const DIDATAFORMAT *LPCDIDATAFORMAT;
-
-#define DIDF_ABSAXIS 0x00000001
-#define DIDF_RELAXIS 0x00000002
-
-extern const DIDATAFORMAT c_dfDIMouse;
-extern const DIDATAFORMAT c_dfDIKeyboard;
-extern const DIDATAFORMAT c_dfDIJoystick;
-extern const DIDATAFORMAT c_dfDIJoystick2;
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-/* These structures are defined for DirectX 3.0 compatibility */
-
-typedef struct DIDEVICEOBJECTINSTANCE_DX3A {
- DWORD dwSize;
- GUID guidType;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
- CHAR tszName[MAX_PATH];
-} DIDEVICEOBJECTINSTANCE_DX3A, *LPDIDEVICEOBJECTINSTANCE_DX3A;
-typedef struct DIDEVICEOBJECTINSTANCE_DX3W {
- DWORD dwSize;
- GUID guidType;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
- WCHAR tszName[MAX_PATH];
-} DIDEVICEOBJECTINSTANCE_DX3W, *LPDIDEVICEOBJECTINSTANCE_DX3W;
-#ifdef UNICODE
-typedef DIDEVICEOBJECTINSTANCE_DX3W DIDEVICEOBJECTINSTANCE_DX3;
-typedef LPDIDEVICEOBJECTINSTANCE_DX3W LPDIDEVICEOBJECTINSTANCE_DX3;
-#else
-typedef DIDEVICEOBJECTINSTANCE_DX3A DIDEVICEOBJECTINSTANCE_DX3;
-typedef LPDIDEVICEOBJECTINSTANCE_DX3A LPDIDEVICEOBJECTINSTANCE_DX3;
-#endif // UNICODE
-typedef const DIDEVICEOBJECTINSTANCE_DX3A *LPCDIDEVICEOBJECTINSTANCE_DX3A;
-typedef const DIDEVICEOBJECTINSTANCE_DX3W *LPCDIDEVICEOBJECTINSTANCE_DX3W;
-typedef const DIDEVICEOBJECTINSTANCE_DX3 *LPCDIDEVICEOBJECTINSTANCE_DX3;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-typedef struct DIDEVICEOBJECTINSTANCEA {
- DWORD dwSize;
- GUID guidType;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
- CHAR tszName[MAX_PATH];
-#if(DIRECTINPUT_VERSION >= 0x0500)
- DWORD dwFFMaxForce;
- DWORD dwFFForceResolution;
- WORD wCollectionNumber;
- WORD wDesignatorIndex;
- WORD wUsagePage;
- WORD wUsage;
- DWORD dwDimension;
- WORD wExponent;
- WORD wReserved;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVICEOBJECTINSTANCEA, *LPDIDEVICEOBJECTINSTANCEA;
-typedef struct DIDEVICEOBJECTINSTANCEW {
- DWORD dwSize;
- GUID guidType;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
- WCHAR tszName[MAX_PATH];
-#if(DIRECTINPUT_VERSION >= 0x0500)
- DWORD dwFFMaxForce;
- DWORD dwFFForceResolution;
- WORD wCollectionNumber;
- WORD wDesignatorIndex;
- WORD wUsagePage;
- WORD wUsage;
- DWORD dwDimension;
- WORD wExponent;
- WORD wReserved;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVICEOBJECTINSTANCEW, *LPDIDEVICEOBJECTINSTANCEW;
-#ifdef UNICODE
-typedef DIDEVICEOBJECTINSTANCEW DIDEVICEOBJECTINSTANCE;
-typedef LPDIDEVICEOBJECTINSTANCEW LPDIDEVICEOBJECTINSTANCE;
-#else
-typedef DIDEVICEOBJECTINSTANCEA DIDEVICEOBJECTINSTANCE;
-typedef LPDIDEVICEOBJECTINSTANCEA LPDIDEVICEOBJECTINSTANCE;
-#endif // UNICODE
-typedef const DIDEVICEOBJECTINSTANCEA *LPCDIDEVICEOBJECTINSTANCEA;
-typedef const DIDEVICEOBJECTINSTANCEW *LPCDIDEVICEOBJECTINSTANCEW;
-typedef const DIDEVICEOBJECTINSTANCE *LPCDIDEVICEOBJECTINSTANCE;
-
-typedef BOOL (FAR PASCAL * LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA, LPVOID);
-typedef BOOL (FAR PASCAL * LPDIENUMDEVICEOBJECTSCALLBACKW)(LPCDIDEVICEOBJECTINSTANCEW, LPVOID);
-#ifdef UNICODE
-#define LPDIENUMDEVICEOBJECTSCALLBACK LPDIENUMDEVICEOBJECTSCALLBACKW
-#else
-#define LPDIENUMDEVICEOBJECTSCALLBACK LPDIENUMDEVICEOBJECTSCALLBACKA
-#endif // !UNICODE
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-#define DIDOI_FFACTUATOR 0x00000001
-#define DIDOI_FFEFFECTTRIGGER 0x00000002
-#define DIDOI_POLLED 0x00008000
-#define DIDOI_ASPECTPOSITION 0x00000100
-#define DIDOI_ASPECTVELOCITY 0x00000200
-#define DIDOI_ASPECTACCEL 0x00000300
-#define DIDOI_ASPECTFORCE 0x00000400
-#define DIDOI_ASPECTMASK 0x00000F00
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-typedef struct DIPROPHEADER {
- DWORD dwSize;
- DWORD dwHeaderSize;
- DWORD dwObj;
- DWORD dwHow;
-} DIPROPHEADER, *LPDIPROPHEADER;
-typedef const DIPROPHEADER *LPCDIPROPHEADER;
-
-#define DIPH_DEVICE 0
-#define DIPH_BYOFFSET 1
-#define DIPH_BYID 2
-
-typedef struct DIPROPDWORD {
- DIPROPHEADER diph;
- DWORD dwData;
-} DIPROPDWORD, *LPDIPROPDWORD;
-typedef const DIPROPDWORD *LPCDIPROPDWORD;
-
-typedef struct DIPROPRANGE {
- DIPROPHEADER diph;
- LONG lMin;
- LONG lMax;
-} DIPROPRANGE, *LPDIPROPRANGE;
-typedef const DIPROPRANGE *LPCDIPROPRANGE;
-
-#define DIPROPRANGE_NOMIN ((LONG)0x80000000)
-#define DIPROPRANGE_NOMAX ((LONG)0x7FFFFFFF)
-
-#ifdef __cplusplus
-#define MAKEDIPROP(prop) (*(const GUID *)(prop))
-#else
-#define MAKEDIPROP(prop) ((REFGUID)(prop))
-#endif
-
-#define DIPROP_BUFFERSIZE MAKEDIPROP(1)
-
-#define DIPROP_AXISMODE MAKEDIPROP(2)
-
-#define DIPROPAXISMODE_ABS 0
-#define DIPROPAXISMODE_REL 1
-
-#define DIPROP_GRANULARITY MAKEDIPROP(3)
-
-#define DIPROP_RANGE MAKEDIPROP(4)
-
-#define DIPROP_DEADZONE MAKEDIPROP(5)
-
-#define DIPROP_SATURATION MAKEDIPROP(6)
-
-#define DIPROP_FFGAIN MAKEDIPROP(7)
-
-#define DIPROP_FFLOAD MAKEDIPROP(8)
-
-#define DIPROP_AUTOCENTER MAKEDIPROP(9)
-
-#define DIPROPAUTOCENTER_OFF 0
-#define DIPROPAUTOCENTER_ON 1
-
-#define DIPROP_CALIBRATIONMODE MAKEDIPROP(10)
-
-#define DIPROPCALIBRATIONMODE_COOKED 0
-#define DIPROPCALIBRATIONMODE_RAW 1
-
-typedef struct DIDEVICEOBJECTDATA {
- DWORD dwOfs;
- DWORD dwData;
- DWORD dwTimeStamp;
- DWORD dwSequence;
-} DIDEVICEOBJECTDATA, *LPDIDEVICEOBJECTDATA;
-typedef const DIDEVICEOBJECTDATA *LPCDIDEVICEOBJECTDATA;
-
-#define DIGDD_PEEK 0x00000001
-
-#define DISEQUENCE_COMPARE(dwSequence1, cmp, dwSequence2) \
- ((int)((dwSequence1) - (dwSequence2)) cmp 0)
-#define DISCL_EXCLUSIVE 0x00000001
-#define DISCL_NONEXCLUSIVE 0x00000002
-#define DISCL_FOREGROUND 0x00000004
-#define DISCL_BACKGROUND 0x00000008
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-/* These structures are defined for DirectX 3.0 compatibility */
-
-typedef struct DIDEVICEINSTANCE_DX3A {
- DWORD dwSize;
- GUID guidInstance;
- GUID guidProduct;
- DWORD dwDevType;
- CHAR tszInstanceName[MAX_PATH];
- CHAR tszProductName[MAX_PATH];
-} DIDEVICEINSTANCE_DX3A, *LPDIDEVICEINSTANCE_DX3A;
-typedef struct DIDEVICEINSTANCE_DX3W {
- DWORD dwSize;
- GUID guidInstance;
- GUID guidProduct;
- DWORD dwDevType;
- WCHAR tszInstanceName[MAX_PATH];
- WCHAR tszProductName[MAX_PATH];
-} DIDEVICEINSTANCE_DX3W, *LPDIDEVICEINSTANCE_DX3W;
-#ifdef UNICODE
-typedef DIDEVICEINSTANCE_DX3W DIDEVICEINSTANCE_DX3;
-typedef LPDIDEVICEINSTANCE_DX3W LPDIDEVICEINSTANCE_DX3;
-#else
-typedef DIDEVICEINSTANCE_DX3A DIDEVICEINSTANCE_DX3;
-typedef LPDIDEVICEINSTANCE_DX3A LPDIDEVICEINSTANCE_DX3;
-#endif // UNICODE
-typedef const DIDEVICEINSTANCE_DX3A *LPCDIDEVICEINSTANCE_DX3A;
-typedef const DIDEVICEINSTANCE_DX3W *LPCDIDEVICEINSTANCE_DX3W;
-typedef const DIDEVICEINSTANCE_DX3 *LPCDIDEVICEINSTANCE_DX3;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-typedef struct DIDEVICEINSTANCEA {
- DWORD dwSize;
- GUID guidInstance;
- GUID guidProduct;
- DWORD dwDevType;
- CHAR tszInstanceName[MAX_PATH];
- CHAR tszProductName[MAX_PATH];
-#if(DIRECTINPUT_VERSION >= 0x0500)
- GUID guidFFDriver;
- WORD wUsagePage;
- WORD wUsage;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVICEINSTANCEA, *LPDIDEVICEINSTANCEA;
-typedef struct DIDEVICEINSTANCEW {
- DWORD dwSize;
- GUID guidInstance;
- GUID guidProduct;
- DWORD dwDevType;
- WCHAR tszInstanceName[MAX_PATH];
- WCHAR tszProductName[MAX_PATH];
-#if(DIRECTINPUT_VERSION >= 0x0500)
- GUID guidFFDriver;
- WORD wUsagePage;
- WORD wUsage;
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-} DIDEVICEINSTANCEW, *LPDIDEVICEINSTANCEW;
-#ifdef UNICODE
-typedef DIDEVICEINSTANCEW DIDEVICEINSTANCE;
-typedef LPDIDEVICEINSTANCEW LPDIDEVICEINSTANCE;
-#else
-typedef DIDEVICEINSTANCEA DIDEVICEINSTANCE;
-typedef LPDIDEVICEINSTANCEA LPDIDEVICEINSTANCE;
-#endif // UNICODE
-typedef const DIDEVICEINSTANCEA *LPCDIDEVICEINSTANCEA;
-typedef const DIDEVICEINSTANCEW *LPCDIDEVICEINSTANCEW;
-typedef const DIDEVICEINSTANCE *LPCDIDEVICEINSTANCE;
-
-#undef INTERFACE
-#define INTERFACE IDirectInputDeviceW
-
-DECLARE_INTERFACE_(IDirectInputDeviceW, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputDeviceW methods ***/
- STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS) PURE;
- STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetProperty)(THIS_ REFGUID,LPDIPROPHEADER) PURE;
- STDMETHOD(SetProperty)(THIS_ REFGUID,LPCDIPROPHEADER) PURE;
- STDMETHOD(Acquire)(THIS) PURE;
- STDMETHOD(Unacquire)(THIS) PURE;
- STDMETHOD(GetDeviceState)(THIS_ DWORD,LPVOID) PURE;
- STDMETHOD(GetDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
- STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT) PURE;
- STDMETHOD(SetEventNotification)(THIS_ HANDLE) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEW,DWORD,DWORD) PURE;
- STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEW) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
-};
-
-typedef struct IDirectInputDeviceW *LPDIRECTINPUTDEVICEW;
-
-#undef INTERFACE
-#define INTERFACE IDirectInputDeviceA
-
-DECLARE_INTERFACE_(IDirectInputDeviceA, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputDeviceA methods ***/
- STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS) PURE;
- STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetProperty)(THIS_ REFGUID,LPDIPROPHEADER) PURE;
- STDMETHOD(SetProperty)(THIS_ REFGUID,LPCDIPROPHEADER) PURE;
- STDMETHOD(Acquire)(THIS) PURE;
- STDMETHOD(Unacquire)(THIS) PURE;
- STDMETHOD(GetDeviceState)(THIS_ DWORD,LPVOID) PURE;
- STDMETHOD(GetDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
- STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT) PURE;
- STDMETHOD(SetEventNotification)(THIS_ HANDLE) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA,DWORD,DWORD) PURE;
- STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
-};
-
-typedef struct IDirectInputDeviceA *LPDIRECTINPUTDEVICEA;
-
-#ifdef UNICODE
-#define IID_IDirectInputDevice IID_IDirectInputDeviceW
-#define IDirectInputDevice IDirectInputDeviceW
-#define IDirectInputDeviceVtbl IDirectInputDeviceWVtbl
-#else
-#define IID_IDirectInputDevice IID_IDirectInputDeviceA
-#define IDirectInputDevice IDirectInputDeviceA
-#define IDirectInputDeviceVtbl IDirectInputDeviceAVtbl
-#endif
-typedef struct IDirectInputDevice *LPDIRECTINPUTDEVICE;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInputDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInputDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInputDevice_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInputDevice_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a)
-#define IDirectInputDevice_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
-#define IDirectInputDevice_GetProperty(p,a,b) (p)->lpVtbl->GetProperty(p,a,b)
-#define IDirectInputDevice_SetProperty(p,a,b) (p)->lpVtbl->SetProperty(p,a,b)
-#define IDirectInputDevice_Acquire(p) (p)->lpVtbl->Acquire(p)
-#define IDirectInputDevice_Unacquire(p) (p)->lpVtbl->Unacquire(p)
-#define IDirectInputDevice_GetDeviceState(p,a,b) (p)->lpVtbl->GetDeviceState(p,a,b)
-#define IDirectInputDevice_GetDeviceData(p,a,b,c,d) (p)->lpVtbl->GetDeviceData(p,a,b,c,d)
-#define IDirectInputDevice_SetDataFormat(p,a) (p)->lpVtbl->SetDataFormat(p,a)
-#define IDirectInputDevice_SetEventNotification(p,a) (p)->lpVtbl->SetEventNotification(p,a)
-#define IDirectInputDevice_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
-#define IDirectInputDevice_GetObjectInfo(p,a,b,c) (p)->lpVtbl->GetObjectInfo(p,a,b,c)
-#define IDirectInputDevice_GetDeviceInfo(p,a) (p)->lpVtbl->GetDeviceInfo(p,a)
-#define IDirectInputDevice_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
-#define IDirectInputDevice_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
-#else
-#define IDirectInputDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInputDevice_AddRef(p) (p)->AddRef()
-#define IDirectInputDevice_Release(p) (p)->Release()
-#define IDirectInputDevice_GetCapabilities(p,a) (p)->GetCapabilities(a)
-#define IDirectInputDevice_EnumObjects(p,a,b,c) (p)->EnumObjects(a,b,c)
-#define IDirectInputDevice_GetProperty(p,a,b) (p)->GetProperty(a,b)
-#define IDirectInputDevice_SetProperty(p,a,b) (p)->SetProperty(a,b)
-#define IDirectInputDevice_Acquire(p) (p)->Acquire()
-#define IDirectInputDevice_Unacquire(p) (p)->Unacquire()
-#define IDirectInputDevice_GetDeviceState(p,a,b) (p)->GetDeviceState(a,b)
-#define IDirectInputDevice_GetDeviceData(p,a,b,c,d) (p)->GetDeviceData(a,b,c,d)
-#define IDirectInputDevice_SetDataFormat(p,a) (p)->SetDataFormat(a)
-#define IDirectInputDevice_SetEventNotification(p,a) (p)->SetEventNotification(a)
-#define IDirectInputDevice_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
-#define IDirectInputDevice_GetObjectInfo(p,a,b,c) (p)->GetObjectInfo(a,b,c)
-#define IDirectInputDevice_GetDeviceInfo(p,a) (p)->GetDeviceInfo(a)
-#define IDirectInputDevice_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
-#define IDirectInputDevice_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
-#endif
-
-#endif /* DIJ_RINGZERO */
-
-
-#if(DIRECTINPUT_VERSION >= 0x0500)
-
-#define DISFFC_RESET 0x00000001
-#define DISFFC_STOPALL 0x00000002
-#define DISFFC_PAUSE 0x00000004
-#define DISFFC_CONTINUE 0x00000008
-#define DISFFC_SETACTUATORSON 0x00000010
-#define DISFFC_SETACTUATORSOFF 0x00000020
-
-#define DIGFFS_EMPTY 0x00000001
-#define DIGFFS_STOPPED 0x00000002
-#define DIGFFS_PAUSED 0x00000004
-#define DIGFFS_ACTUATORSON 0x00000010
-#define DIGFFS_ACTUATORSOFF 0x00000020
-#define DIGFFS_POWERON 0x00000040
-#define DIGFFS_POWEROFF 0x00000080
-#define DIGFFS_SAFETYSWITCHON 0x00000100
-#define DIGFFS_SAFETYSWITCHOFF 0x00000200
-#define DIGFFS_USERFFSWITCHON 0x00000400
-#define DIGFFS_USERFFSWITCHOFF 0x00000800
-#define DIGFFS_DEVICELOST 0x80000000
-
-#ifndef DIJ_RINGZERO
-
-typedef struct DIEFFECTINFOA {
- DWORD dwSize;
- GUID guid;
- DWORD dwEffType;
- DWORD dwStaticParams;
- DWORD dwDynamicParams;
- CHAR tszName[MAX_PATH];
-} DIEFFECTINFOA, *LPDIEFFECTINFOA;
-typedef struct DIEFFECTINFOW {
- DWORD dwSize;
- GUID guid;
- DWORD dwEffType;
- DWORD dwStaticParams;
- DWORD dwDynamicParams;
- WCHAR tszName[MAX_PATH];
-} DIEFFECTINFOW, *LPDIEFFECTINFOW;
-#ifdef UNICODE
-typedef DIEFFECTINFOW DIEFFECTINFO;
-typedef LPDIEFFECTINFOW LPDIEFFECTINFO;
-#else
-typedef DIEFFECTINFOA DIEFFECTINFO;
-typedef LPDIEFFECTINFOA LPDIEFFECTINFO;
-#endif // UNICODE
-typedef const DIEFFECTINFOA *LPCDIEFFECTINFOA;
-typedef const DIEFFECTINFOW *LPCDIEFFECTINFOW;
-typedef const DIEFFECTINFO *LPCDIEFFECTINFO;
-
-typedef BOOL (FAR PASCAL * LPDIENUMEFFECTSCALLBACKA)(LPCDIEFFECTINFOA, LPVOID);
-typedef BOOL (FAR PASCAL * LPDIENUMEFFECTSCALLBACKW)(LPCDIEFFECTINFOW, LPVOID);
-#ifdef UNICODE
-#define LPDIENUMEFFECTSCALLBACK LPDIENUMEFFECTSCALLBACKW
-#else
-#define LPDIENUMEFFECTSCALLBACK LPDIENUMEFFECTSCALLBACKA
-#endif // !UNICODE
-typedef BOOL (FAR PASCAL * LPDIENUMCREATEDEFFECTOBJECTSCALLBACK)(LPDIRECTINPUTEFFECT, LPVOID);
-
-#undef INTERFACE
-#define INTERFACE IDirectInputDevice2W
-
-DECLARE_INTERFACE_(IDirectInputDevice2W, IDirectInputDeviceW)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputDeviceW methods ***/
- STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS) PURE;
- STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetProperty)(THIS_ REFGUID,LPDIPROPHEADER) PURE;
- STDMETHOD(SetProperty)(THIS_ REFGUID,LPCDIPROPHEADER) PURE;
- STDMETHOD(Acquire)(THIS) PURE;
- STDMETHOD(Unacquire)(THIS) PURE;
- STDMETHOD(GetDeviceState)(THIS_ DWORD,LPVOID) PURE;
- STDMETHOD(GetDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
- STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT) PURE;
- STDMETHOD(SetEventNotification)(THIS_ HANDLE) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEW,DWORD,DWORD) PURE;
- STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEW) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
-
- /*** IDirectInputDevice2W methods ***/
- STDMETHOD(CreateEffect)(THIS_ REFGUID,LPCDIEFFECT,LPDIRECTINPUTEFFECT *,LPUNKNOWN) PURE;
- STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOW,REFGUID) PURE;
- STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD) PURE;
- STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD) PURE;
- STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK,LPVOID,DWORD) PURE;
- STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE) PURE;
- STDMETHOD(Poll)(THIS) PURE;
- STDMETHOD(SendDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
-};
-
-typedef struct IDirectInputDevice2W *LPDIRECTINPUTDEVICE2W;
-
-#undef INTERFACE
-#define INTERFACE IDirectInputDevice2A
-
-DECLARE_INTERFACE_(IDirectInputDevice2A, IDirectInputDeviceA)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputDeviceA methods ***/
- STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS) PURE;
- STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetProperty)(THIS_ REFGUID,LPDIPROPHEADER) PURE;
- STDMETHOD(SetProperty)(THIS_ REFGUID,LPCDIPROPHEADER) PURE;
- STDMETHOD(Acquire)(THIS) PURE;
- STDMETHOD(Unacquire)(THIS) PURE;
- STDMETHOD(GetDeviceState)(THIS_ DWORD,LPVOID) PURE;
- STDMETHOD(GetDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
- STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT) PURE;
- STDMETHOD(SetEventNotification)(THIS_ HANDLE) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA,DWORD,DWORD) PURE;
- STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD,REFGUID) PURE;
-
- /*** IDirectInputDevice2A methods ***/
- STDMETHOD(CreateEffect)(THIS_ REFGUID,LPCDIEFFECT,LPDIRECTINPUTEFFECT *,LPUNKNOWN) PURE;
- STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOA,REFGUID) PURE;
- STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD) PURE;
- STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD) PURE;
- STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK,LPVOID,DWORD) PURE;
- STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE) PURE;
- STDMETHOD(Poll)(THIS) PURE;
- STDMETHOD(SendDeviceData)(THIS_ DWORD,LPDIDEVICEOBJECTDATA,LPDWORD,DWORD) PURE;
-};
-
-typedef struct IDirectInputDevice2A *LPDIRECTINPUTDEVICE2A;
-
-#ifdef UNICODE
-#define IID_IDirectInputDevice2 IID_IDirectInputDevice2W
-#define IDirectInputDevice2 IDirectInputDevice2W
-#define IDirectInputDevice2Vtbl IDirectInputDevice2WVtbl
-#else
-#define IID_IDirectInputDevice2 IID_IDirectInputDevice2A
-#define IDirectInputDevice2 IDirectInputDevice2A
-#define IDirectInputDevice2Vtbl IDirectInputDevice2AVtbl
-#endif
-typedef struct IDirectInputDevice2 *LPDIRECTINPUTDEVICE2;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInputDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInputDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInputDevice2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInputDevice2_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a)
-#define IDirectInputDevice2_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
-#define IDirectInputDevice2_GetProperty(p,a,b) (p)->lpVtbl->GetProperty(p,a,b)
-#define IDirectInputDevice2_SetProperty(p,a,b) (p)->lpVtbl->SetProperty(p,a,b)
-#define IDirectInputDevice2_Acquire(p) (p)->lpVtbl->Acquire(p)
-#define IDirectInputDevice2_Unacquire(p) (p)->lpVtbl->Unacquire(p)
-#define IDirectInputDevice2_GetDeviceState(p,a,b) (p)->lpVtbl->GetDeviceState(p,a,b)
-#define IDirectInputDevice2_GetDeviceData(p,a,b,c,d) (p)->lpVtbl->GetDeviceData(p,a,b,c,d)
-#define IDirectInputDevice2_SetDataFormat(p,a) (p)->lpVtbl->SetDataFormat(p,a)
-#define IDirectInputDevice2_SetEventNotification(p,a) (p)->lpVtbl->SetEventNotification(p,a)
-#define IDirectInputDevice2_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
-#define IDirectInputDevice2_GetObjectInfo(p,a,b,c) (p)->lpVtbl->GetObjectInfo(p,a,b,c)
-#define IDirectInputDevice2_GetDeviceInfo(p,a) (p)->lpVtbl->GetDeviceInfo(p,a)
-#define IDirectInputDevice2_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
-#define IDirectInputDevice2_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
-#define IDirectInputDevice2_CreateEffect(p,a,b,c,d) (p)->lpVtbl->CreateEffect(p,a,b,c,d)
-#define IDirectInputDevice2_EnumEffects(p,a,b,c) (p)->lpVtbl->EnumEffects(p,a,b,c)
-#define IDirectInputDevice2_GetEffectInfo(p,a,b) (p)->lpVtbl->GetEffectInfo(p,a,b)
-#define IDirectInputDevice2_GetForceFeedbackState(p,a) (p)->lpVtbl->GetForceFeedbackState(p,a)
-#define IDirectInputDevice2_SendForceFeedbackCommand(p,a) (p)->lpVtbl->SendForceFeedbackCommand(p,a)
-#define IDirectInputDevice2_EnumCreatedEffectObjects(p,a,b,c) (p)->lpVtbl->EnumCreatedEffectObjects(p,a,b,c)
-#define IDirectInputDevice2_Escape(p,a) (p)->lpVtbl->Escape(p,a)
-#define IDirectInputDevice2_Poll(p) (p)->lpVtbl->Poll(p)
-#define IDirectInputDevice2_SendDeviceData(p,a,b,c,d) (p)->lpVtbl->SendDeviceData(p,a,b,c,d)
-#else
-#define IDirectInputDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInputDevice2_AddRef(p) (p)->AddRef()
-#define IDirectInputDevice2_Release(p) (p)->Release()
-#define IDirectInputDevice2_GetCapabilities(p,a) (p)->GetCapabilities(a)
-#define IDirectInputDevice2_EnumObjects(p,a,b,c) (p)->EnumObjects(a,b,c)
-#define IDirectInputDevice2_GetProperty(p,a,b) (p)->GetProperty(a,b)
-#define IDirectInputDevice2_SetProperty(p,a,b) (p)->SetProperty(a,b)
-#define IDirectInputDevice2_Acquire(p) (p)->Acquire()
-#define IDirectInputDevice2_Unacquire(p) (p)->Unacquire()
-#define IDirectInputDevice2_GetDeviceState(p,a,b) (p)->GetDeviceState(a,b)
-#define IDirectInputDevice2_GetDeviceData(p,a,b,c,d) (p)->GetDeviceData(a,b,c,d)
-#define IDirectInputDevice2_SetDataFormat(p,a) (p)->SetDataFormat(a)
-#define IDirectInputDevice2_SetEventNotification(p,a) (p)->SetEventNotification(a)
-#define IDirectInputDevice2_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
-#define IDirectInputDevice2_GetObjectInfo(p,a,b,c) (p)->GetObjectInfo(a,b,c)
-#define IDirectInputDevice2_GetDeviceInfo(p,a) (p)->GetDeviceInfo(a)
-#define IDirectInputDevice2_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
-#define IDirectInputDevice2_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
-#define IDirectInputDevice2_CreateEffect(p,a,b,c,d) (p)->CreateEffect(a,b,c,d)
-#define IDirectInputDevice2_EnumEffects(p,a,b,c) (p)->EnumEffects(a,b,c)
-#define IDirectInputDevice2_GetEffectInfo(p,a,b) (p)->GetEffectInfo(a,b)
-#define IDirectInputDevice2_GetForceFeedbackState(p,a) (p)->GetForceFeedbackState(a)
-#define IDirectInputDevice2_SendForceFeedbackCommand(p,a) (p)->SendForceFeedbackCommand(a)
-#define IDirectInputDevice2_EnumCreatedEffectObjects(p,a,b,c) (p)->EnumCreatedEffectObjects(a,b,c)
-#define IDirectInputDevice2_Escape(p,a) (p)->Escape(a)
-#define IDirectInputDevice2_Poll(p) (p)->Poll()
-#define IDirectInputDevice2_SendDeviceData(p,a,b,c,d) (p)->SendDeviceData(a,b,c,d)
-#endif
-
-#endif /* DIJ_RINGZERO */
-
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-/****************************************************************************
- *
- * Mouse
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-typedef struct _DIMOUSESTATE {
- LONG lX;
- LONG lY;
- LONG lZ;
- BYTE rgbButtons[4];
-} DIMOUSESTATE, *LPDIMOUSESTATE;
-
-#define DIMOFS_X FIELD_OFFSET(DIMOUSESTATE, lX)
-#define DIMOFS_Y FIELD_OFFSET(DIMOUSESTATE, lY)
-#define DIMOFS_Z FIELD_OFFSET(DIMOUSESTATE, lZ)
-#define DIMOFS_BUTTON0 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 0)
-#define DIMOFS_BUTTON1 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 1)
-#define DIMOFS_BUTTON2 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 2)
-#define DIMOFS_BUTTON3 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 3)
-
-#endif /* DIJ_RINGZERO */
-
-/****************************************************************************
- *
- * Keyboard
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-/****************************************************************************
- *
- * DirectInput keyboard scan codes
- *
- ****************************************************************************/
-
-#define DIK_ESCAPE 0x01
-#define DIK_1 0x02
-#define DIK_2 0x03
-#define DIK_3 0x04
-#define DIK_4 0x05
-#define DIK_5 0x06
-#define DIK_6 0x07
-#define DIK_7 0x08
-#define DIK_8 0x09
-#define DIK_9 0x0A
-#define DIK_0 0x0B
-#define DIK_MINUS 0x0C /* - on main keyboard */
-#define DIK_EQUALS 0x0D
-#define DIK_BACK 0x0E /* backspace */
-#define DIK_TAB 0x0F
-#define DIK_Q 0x10
-#define DIK_W 0x11
-#define DIK_E 0x12
-#define DIK_R 0x13
-#define DIK_T 0x14
-#define DIK_Y 0x15
-#define DIK_U 0x16
-#define DIK_I 0x17
-#define DIK_O 0x18
-#define DIK_P 0x19
-#define DIK_LBRACKET 0x1A
-#define DIK_RBRACKET 0x1B
-#define DIK_RETURN 0x1C /* Enter on main keyboard */
-#define DIK_LCONTROL 0x1D
-#define DIK_A 0x1E
-#define DIK_S 0x1F
-#define DIK_D 0x20
-#define DIK_F 0x21
-#define DIK_G 0x22
-#define DIK_H 0x23
-#define DIK_J 0x24
-#define DIK_K 0x25
-#define DIK_L 0x26
-#define DIK_SEMICOLON 0x27
-#define DIK_APOSTROPHE 0x28
-#define DIK_GRAVE 0x29 /* accent grave */
-#define DIK_LSHIFT 0x2A
-#define DIK_BACKSLASH 0x2B
-#define DIK_Z 0x2C
-#define DIK_X 0x2D
-#define DIK_C 0x2E
-#define DIK_V 0x2F
-#define DIK_B 0x30
-#define DIK_N 0x31
-#define DIK_M 0x32
-#define DIK_COMMA 0x33
-#define DIK_PERIOD 0x34 /* . on main keyboard */
-#define DIK_SLASH 0x35 /* / on main keyboard */
-#define DIK_RSHIFT 0x36
-#define DIK_MULTIPLY 0x37 /* * on numeric keypad */
-#define DIK_LMENU 0x38 /* left Alt */
-#define DIK_SPACE 0x39
-#define DIK_CAPITAL 0x3A
-#define DIK_F1 0x3B
-#define DIK_F2 0x3C
-#define DIK_F3 0x3D
-#define DIK_F4 0x3E
-#define DIK_F5 0x3F
-#define DIK_F6 0x40
-#define DIK_F7 0x41
-#define DIK_F8 0x42
-#define DIK_F9 0x43
-#define DIK_F10 0x44
-#define DIK_NUMLOCK 0x45
-#define DIK_SCROLL 0x46 /* Scroll Lock */
-#define DIK_NUMPAD7 0x47
-#define DIK_NUMPAD8 0x48
-#define DIK_NUMPAD9 0x49
-#define DIK_SUBTRACT 0x4A /* - on numeric keypad */
-#define DIK_NUMPAD4 0x4B
-#define DIK_NUMPAD5 0x4C
-#define DIK_NUMPAD6 0x4D
-#define DIK_ADD 0x4E /* + on numeric keypad */
-#define DIK_NUMPAD1 0x4F
-#define DIK_NUMPAD2 0x50
-#define DIK_NUMPAD3 0x51
-#define DIK_NUMPAD0 0x52
-#define DIK_DECIMAL 0x53 /* . on numeric keypad */
-#define DIK_F11 0x57
-#define DIK_F12 0x58
-
-#define DIK_F13 0x64 /* (NEC PC98) */
-#define DIK_F14 0x65 /* (NEC PC98) */
-#define DIK_F15 0x66 /* (NEC PC98) */
-
-#define DIK_KANA 0x70 /* (Japanese keyboard) */
-#define DIK_CONVERT 0x79 /* (Japanese keyboard) */
-#define DIK_NOCONVERT 0x7B /* (Japanese keyboard) */
-#define DIK_YEN 0x7D /* (Japanese keyboard) */
-#define DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */
-#define DIK_CIRCUMFLEX 0x90 /* (Japanese keyboard) */
-#define DIK_AT 0x91 /* (NEC PC98) */
-#define DIK_COLON 0x92 /* (NEC PC98) */
-#define DIK_UNDERLINE 0x93 /* (NEC PC98) */
-#define DIK_KANJI 0x94 /* (Japanese keyboard) */
-#define DIK_STOP 0x95 /* (NEC PC98) */
-#define DIK_AX 0x96 /* (Japan AX) */
-#define DIK_UNLABELED 0x97 /* (J3100) */
-#define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */
-#define DIK_RCONTROL 0x9D
-#define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */
-#define DIK_DIVIDE 0xB5 /* / on numeric keypad */
-#define DIK_SYSRQ 0xB7
-#define DIK_RMENU 0xB8 /* right Alt */
-#define DIK_HOME 0xC7 /* Home on arrow keypad */
-#define DIK_UP 0xC8 /* UpArrow on arrow keypad */
-#define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */
-#define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */
-#define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */
-#define DIK_END 0xCF /* End on arrow keypad */
-#define DIK_DOWN 0xD0 /* DownArrow on arrow keypad */
-#define DIK_NEXT 0xD1 /* PgDn on arrow keypad */
-#define DIK_INSERT 0xD2 /* Insert on arrow keypad */
-#define DIK_DELETE 0xD3 /* Delete on arrow keypad */
-#define DIK_LWIN 0xDB /* Left Windows key */
-#define DIK_RWIN 0xDC /* Right Windows key */
-#define DIK_APPS 0xDD /* AppMenu key */
-
-/*
- * Alternate names for keys, to facilitate transition from DOS.
- */
-#define DIK_BACKSPACE DIK_BACK /* backspace */
-#define DIK_NUMPADSTAR DIK_MULTIPLY /* * on numeric keypad */
-#define DIK_LALT DIK_LMENU /* left Alt */
-#define DIK_CAPSLOCK DIK_CAPITAL /* CapsLock */
-#define DIK_NUMPADMINUS DIK_SUBTRACT /* - on numeric keypad */
-#define DIK_NUMPADPLUS DIK_ADD /* + on numeric keypad */
-#define DIK_NUMPADPERIOD DIK_DECIMAL /* . on numeric keypad */
-#define DIK_NUMPADSLASH DIK_DIVIDE /* / on numeric keypad */
-#define DIK_RALT DIK_RMENU /* right Alt */
-#define DIK_UPARROW DIK_UP /* UpArrow on arrow keypad */
-#define DIK_PGUP DIK_PRIOR /* PgUp on arrow keypad */
-#define DIK_LEFTARROW DIK_LEFT /* LeftArrow on arrow keypad */
-#define DIK_RIGHTARROW DIK_RIGHT /* RightArrow on arrow keypad */
-#define DIK_DOWNARROW DIK_DOWN /* DownArrow on arrow keypad */
-#define DIK_PGDN DIK_NEXT /* PgDn on arrow keypad */
-
-#endif /* DIJ_RINGZERO */
-
-/****************************************************************************
- *
- * Joystick
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-typedef struct DIJOYSTATE {
- LONG lX; /* x-axis position */
- LONG lY; /* y-axis position */
- LONG lZ; /* z-axis position */
- LONG lRx; /* x-axis rotation */
- LONG lRy; /* y-axis rotation */
- LONG lRz; /* z-axis rotation */
- LONG rglSlider[2]; /* extra axes positions */
- DWORD rgdwPOV[4]; /* POV directions */
- BYTE rgbButtons[32]; /* 32 buttons */
-} DIJOYSTATE, *LPDIJOYSTATE;
-
-typedef struct DIJOYSTATE2 {
- LONG lX; /* x-axis position */
- LONG lY; /* y-axis position */
- LONG lZ; /* z-axis position */
- LONG lRx; /* x-axis rotation */
- LONG lRy; /* y-axis rotation */
- LONG lRz; /* z-axis rotation */
- LONG rglSlider[2]; /* extra axes positions */
- DWORD rgdwPOV[4]; /* POV directions */
- BYTE rgbButtons[128]; /* 128 buttons */
- LONG lVX; /* x-axis velocity */
- LONG lVY; /* y-axis velocity */
- LONG lVZ; /* z-axis velocity */
- LONG lVRx; /* x-axis angular velocity */
- LONG lVRy; /* y-axis angular velocity */
- LONG lVRz; /* z-axis angular velocity */
- LONG rglVSlider[2]; /* extra axes velocities */
- LONG lAX; /* x-axis acceleration */
- LONG lAY; /* y-axis acceleration */
- LONG lAZ; /* z-axis acceleration */
- LONG lARx; /* x-axis angular acceleration */
- LONG lARy; /* y-axis angular acceleration */
- LONG lARz; /* z-axis angular acceleration */
- LONG rglASlider[2]; /* extra axes accelerations */
- LONG lFX; /* x-axis force */
- LONG lFY; /* y-axis force */
- LONG lFZ; /* z-axis force */
- LONG lFRx; /* x-axis torque */
- LONG lFRy; /* y-axis torque */
- LONG lFRz; /* z-axis torque */
- LONG rglFSlider[2]; /* extra axes forces */
-} DIJOYSTATE2, *LPDIJOYSTATE2;
-
-#define DIJOFS_X FIELD_OFFSET(DIJOYSTATE, lX)
-#define DIJOFS_Y FIELD_OFFSET(DIJOYSTATE, lY)
-#define DIJOFS_Z FIELD_OFFSET(DIJOYSTATE, lZ)
-#define DIJOFS_RX FIELD_OFFSET(DIJOYSTATE, lRx)
-#define DIJOFS_RY FIELD_OFFSET(DIJOYSTATE, lRy)
-#define DIJOFS_RZ FIELD_OFFSET(DIJOYSTATE, lRz)
-#define DIJOFS_SLIDER(n) (FIELD_OFFSET(DIJOYSTATE, rglSlider) + \
- (n) * sizeof(LONG))
-#define DIJOFS_POV(n) (FIELD_OFFSET(DIJOYSTATE, rgdwPOV) + \
- (n) * sizeof(DWORD))
-#define DIJOFS_BUTTON(n) (FIELD_OFFSET(DIJOYSTATE, rgbButtons) + (n))
-#define DIJOFS_BUTTON0 DIJOFS_BUTTON(0)
-#define DIJOFS_BUTTON1 DIJOFS_BUTTON(1)
-#define DIJOFS_BUTTON2 DIJOFS_BUTTON(2)
-#define DIJOFS_BUTTON3 DIJOFS_BUTTON(3)
-#define DIJOFS_BUTTON4 DIJOFS_BUTTON(4)
-#define DIJOFS_BUTTON5 DIJOFS_BUTTON(5)
-#define DIJOFS_BUTTON6 DIJOFS_BUTTON(6)
-#define DIJOFS_BUTTON7 DIJOFS_BUTTON(7)
-#define DIJOFS_BUTTON8 DIJOFS_BUTTON(8)
-#define DIJOFS_BUTTON9 DIJOFS_BUTTON(9)
-#define DIJOFS_BUTTON10 DIJOFS_BUTTON(10)
-#define DIJOFS_BUTTON11 DIJOFS_BUTTON(11)
-#define DIJOFS_BUTTON12 DIJOFS_BUTTON(12)
-#define DIJOFS_BUTTON13 DIJOFS_BUTTON(13)
-#define DIJOFS_BUTTON14 DIJOFS_BUTTON(14)
-#define DIJOFS_BUTTON15 DIJOFS_BUTTON(15)
-#define DIJOFS_BUTTON16 DIJOFS_BUTTON(16)
-#define DIJOFS_BUTTON17 DIJOFS_BUTTON(17)
-#define DIJOFS_BUTTON18 DIJOFS_BUTTON(18)
-#define DIJOFS_BUTTON19 DIJOFS_BUTTON(19)
-#define DIJOFS_BUTTON20 DIJOFS_BUTTON(20)
-#define DIJOFS_BUTTON21 DIJOFS_BUTTON(21)
-#define DIJOFS_BUTTON22 DIJOFS_BUTTON(22)
-#define DIJOFS_BUTTON23 DIJOFS_BUTTON(23)
-#define DIJOFS_BUTTON24 DIJOFS_BUTTON(24)
-#define DIJOFS_BUTTON25 DIJOFS_BUTTON(25)
-#define DIJOFS_BUTTON26 DIJOFS_BUTTON(26)
-#define DIJOFS_BUTTON27 DIJOFS_BUTTON(27)
-#define DIJOFS_BUTTON28 DIJOFS_BUTTON(28)
-#define DIJOFS_BUTTON29 DIJOFS_BUTTON(29)
-#define DIJOFS_BUTTON30 DIJOFS_BUTTON(30)
-#define DIJOFS_BUTTON31 DIJOFS_BUTTON(31)
-
-
-#endif /* DIJ_RINGZERO */
-
-/****************************************************************************
- *
- * IDirectInput
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-#define DIENUM_STOP 0
-#define DIENUM_CONTINUE 1
-
-typedef BOOL (FAR PASCAL * LPDIENUMDEVICESCALLBACKA)(LPCDIDEVICEINSTANCEA, LPVOID);
-typedef BOOL (FAR PASCAL * LPDIENUMDEVICESCALLBACKW)(LPCDIDEVICEINSTANCEW, LPVOID);
-#ifdef UNICODE
-#define LPDIENUMDEVICESCALLBACK LPDIENUMDEVICESCALLBACKW
-#else
-#define LPDIENUMDEVICESCALLBACK LPDIENUMDEVICESCALLBACKA
-#endif // !UNICODE
-
-#define DIEDFL_ALLDEVICES 0x00000000
-#define DIEDFL_ATTACHEDONLY 0x00000001
-#if(DIRECTINPUT_VERSION >= 0x0500)
-#define DIEDFL_FORCEFEEDBACK 0x00000100
-#endif /* DIRECTINPUT_VERSION >= 0x0500 */
-
-#undef INTERFACE
-#define INTERFACE IDirectInputW
-
-DECLARE_INTERFACE_(IDirectInputW, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputW methods ***/
- STDMETHOD(CreateDevice)(THIS_ REFGUID,LPDIRECTINPUTDEVICEW *,LPUNKNOWN) PURE;
- STDMETHOD(EnumDevices)(THIS_ DWORD,LPDIENUMDEVICESCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetDeviceStatus)(THIS_ REFGUID) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD) PURE;
-};
-
-typedef struct IDirectInputW *LPDIRECTINPUTW;
-
-#undef INTERFACE
-#define INTERFACE IDirectInputA
-
-DECLARE_INTERFACE_(IDirectInputA, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputA methods ***/
- STDMETHOD(CreateDevice)(THIS_ REFGUID,LPDIRECTINPUTDEVICEA *,LPUNKNOWN) PURE;
- STDMETHOD(EnumDevices)(THIS_ DWORD,LPDIENUMDEVICESCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetDeviceStatus)(THIS_ REFGUID) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD) PURE;
-};
-
-typedef struct IDirectInputA *LPDIRECTINPUTA;
-
-#ifdef UNICODE
-#define IID_IDirectInput IID_IDirectInputW
-#define IDirectInput IDirectInputW
-#define IDirectInputVtbl IDirectInputWVtbl
-#else
-#define IID_IDirectInput IID_IDirectInputA
-#define IDirectInput IDirectInputA
-#define IDirectInputVtbl IDirectInputAVtbl
-#endif
-typedef struct IDirectInput *LPDIRECTINPUT;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInput_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInput_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInput_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInput_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirectInput_EnumDevices(p,a,b,c,d) (p)->lpVtbl->EnumDevices(p,a,b,c,d)
-#define IDirectInput_GetDeviceStatus(p,a) (p)->lpVtbl->GetDeviceStatus(p,a)
-#define IDirectInput_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
-#define IDirectInput_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#else
-#define IDirectInput_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInput_AddRef(p) (p)->AddRef()
-#define IDirectInput_Release(p) (p)->Release()
-#define IDirectInput_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirectInput_EnumDevices(p,a,b,c,d) (p)->EnumDevices(a,b,c,d)
-#define IDirectInput_GetDeviceStatus(p,a) (p)->GetDeviceStatus(a)
-#define IDirectInput_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
-#define IDirectInput_Initialize(p,a,b) (p)->Initialize(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirectInput2W
-
-DECLARE_INTERFACE_(IDirectInput2W, IDirectInputW)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputW methods ***/
- STDMETHOD(CreateDevice)(THIS_ REFGUID,LPDIRECTINPUTDEVICEW *,LPUNKNOWN) PURE;
- STDMETHOD(EnumDevices)(THIS_ DWORD,LPDIENUMDEVICESCALLBACKW,LPVOID,DWORD) PURE;
- STDMETHOD(GetDeviceStatus)(THIS_ REFGUID) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD) PURE;
-
- /*** IDirectInput2W methods ***/
- STDMETHOD(FindDevice)(THIS_ REFGUID,LPCWSTR,LPGUID) PURE;
-};
-
-typedef struct IDirectInput2W *LPDIRECTINPUT2W;
-
-#undef INTERFACE
-#define INTERFACE IDirectInput2A
-
-DECLARE_INTERFACE_(IDirectInput2A, IDirectInputA)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- /*** IDirectInputA methods ***/
- STDMETHOD(CreateDevice)(THIS_ REFGUID,LPDIRECTINPUTDEVICEA *,LPUNKNOWN) PURE;
- STDMETHOD(EnumDevices)(THIS_ DWORD,LPDIENUMDEVICESCALLBACKA,LPVOID,DWORD) PURE;
- STDMETHOD(GetDeviceStatus)(THIS_ REFGUID) PURE;
- STDMETHOD(RunControlPanel)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(Initialize)(THIS_ HINSTANCE,DWORD) PURE;
-
- /*** IDirectInput2A methods ***/
- STDMETHOD(FindDevice)(THIS_ REFGUID,LPCSTR,LPGUID) PURE;
-};
-
-typedef struct IDirectInput2A *LPDIRECTINPUT2A;
-
-#ifdef UNICODE
-#define IID_IDirectInput2 IID_IDirectInput2W
-#define IDirectInput2 IDirectInput2W
-#define IDirectInput2Vtbl IDirectInput2WVtbl
-#else
-#define IID_IDirectInput2 IID_IDirectInput2A
-#define IDirectInput2 IDirectInput2A
-#define IDirectInput2Vtbl IDirectInput2AVtbl
-#endif
-typedef struct IDirectInput2 *LPDIRECTINPUT2;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectInput2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectInput2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectInput2_Release(p) (p)->lpVtbl->Release(p)
-#define IDirectInput2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
-#define IDirectInput2_EnumDevices(p,a,b,c,d) (p)->lpVtbl->EnumDevices(p,a,b,c,d)
-#define IDirectInput2_GetDeviceStatus(p,a) (p)->lpVtbl->GetDeviceStatus(p,a)
-#define IDirectInput2_RunControlPanel(p,a,b) (p)->lpVtbl->RunControlPanel(p,a,b)
-#define IDirectInput2_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectInput2_FindDevice(p,a,b,c) (p)->lpVtbl->FindDevice(p,a,b,c)
-#else
-#define IDirectInput2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectInput2_AddRef(p) (p)->AddRef()
-#define IDirectInput2_Release(p) (p)->Release()
-#define IDirectInput2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
-#define IDirectInput2_EnumDevices(p,a,b,c,d) (p)->EnumDevices(a,b,c,d)
-#define IDirectInput2_GetDeviceStatus(p,a) (p)->GetDeviceStatus(a)
-#define IDirectInput2_RunControlPanel(p,a,b) (p)->RunControlPanel(a,b)
-#define IDirectInput2_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectInput2_FindDevice(p,a,b,c) (p)->FindDevice(a,b,c)
-#endif
-
-extern HRESULT WINAPI DirectInputCreateA(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUTA *ppDI, LPUNKNOWN punkOuter);
-extern HRESULT WINAPI DirectInputCreateW(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUTW *ppDI, LPUNKNOWN punkOuter);
-#ifdef UNICODE
-#define DirectInputCreate DirectInputCreateW
-#else
-#define DirectInputCreate DirectInputCreateA
-#endif // !UNICODE
-
-#endif /* DIJ_RINGZERO */
-
-
-/****************************************************************************
- *
- * Return Codes
- *
- ****************************************************************************/
-
-/*
- * The operation completed successfully.
- */
-#define DI_OK S_OK
-
-/*
- * The device exists but is not currently attached.
- */
-#define DI_NOTATTACHED S_FALSE
-
-/*
- * The device buffer overflowed. Some input was lost.
- */
-#define DI_BUFFEROVERFLOW S_FALSE
-
-/*
- * The change in device properties had no effect.
- */
-#define DI_PROPNOEFFECT S_FALSE
-
-/*
- * The operation had no effect.
- */
-#define DI_NOEFFECT S_FALSE
-
-/*
- * The device is a polled device. As a result, device buffering
- * will not collect any data and event notifications will not be
- * signalled until GetDeviceState is called.
- */
-#define DI_POLLEDDEVICE ((HRESULT)0x00000002L)
-
-/*
- * The parameters of the effect were successfully updated by
- * IDirectInputEffect::SetParameters, but the effect was not
- * downloaded because the device is not exclusively acquired
- * or because the DIEP_NODOWNLOAD flag was passed.
- */
-#define DI_DOWNLOADSKIPPED ((HRESULT)0x00000003L)
-
-/*
- * The parameters of the effect were successfully updated by
- * IDirectInputEffect::SetParameters, but in order to change
- * the parameters, the effect needed to be restarted.
- */
-#define DI_EFFECTRESTARTED ((HRESULT)0x00000004L)
-
-/*
- * The parameters of the effect were successfully updated by
- * IDirectInputEffect::SetParameters, but some of them were
- * beyond the capabilities of the device and were truncated.
- */
-#define DI_TRUNCATED ((HRESULT)0x00000008L)
-
-/*
- * Equal to DI_EFFECTRESTARTED | DI_TRUNCATED.
- */
-#define DI_TRUNCATEDANDRESTARTED ((HRESULT)0x0000000CL)
-
-/*
- * The application requires a newer version of DirectInput.
- */
-#define DIERR_OLDDIRECTINPUTVERSION \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_OLD_WIN_VERSION)
-
-/*
- * The application was written for an unsupported prerelease version
- * of DirectInput.
- */
-#define DIERR_BETADIRECTINPUTVERSION \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_RMODE_APP)
-
-/*
- * The object could not be created due to an incompatible driver version
- * or mismatched or incomplete driver components.
- */
-#define DIERR_BADDRIVERVER \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_BAD_DRIVER_LEVEL)
-
-/*
- * The device or device instance or effect is not registered with DirectInput.
- */
-#define DIERR_DEVICENOTREG REGDB_E_CLASSNOTREG
-
-/*
- * The requested object does not exist.
- */
-#define DIERR_NOTFOUND \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_FILE_NOT_FOUND)
-
-/*
- * The requested object does not exist.
- */
-#define DIERR_OBJECTNOTFOUND \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_FILE_NOT_FOUND)
-
-/*
- * An invalid parameter was passed to the returning function,
- * or the object was not in a state that admitted the function
- * to be called.
- */
-#define DIERR_INVALIDPARAM E_INVALIDARG
-
-/*
- * The specified interface is not supported by the object
- */
-#define DIERR_NOINTERFACE E_NOINTERFACE
-
-/*
- * An undetermined error occured inside the DInput subsystem
- */
-#define DIERR_GENERIC E_FAIL
-
-/*
- * The DInput subsystem couldn't allocate sufficient memory to complete the
- * caller's request.
- */
-#define DIERR_OUTOFMEMORY E_OUTOFMEMORY
-
-/*
- * The function called is not supported at this time
- */
-#define DIERR_UNSUPPORTED E_NOTIMPL
-
-/*
- * This object has not been initialized
- */
-#define DIERR_NOTINITIALIZED \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NOT_READY)
-
-/*
- * This object is already initialized
- */
-#define DIERR_ALREADYINITIALIZED \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_ALREADY_INITIALIZED)
-
-/*
- * This object does not support aggregation
- */
-#define DIERR_NOAGGREGATION CLASS_E_NOAGGREGATION
-
-/*
- * Another app has a higher priority level, preventing this call from
- * succeeding.
- */
-#define DIERR_OTHERAPPHASPRIO E_ACCESSDENIED
-
-/*
- * Access to the device has been lost. It must be re-acquired.
- */
-#define DIERR_INPUTLOST \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_READ_FAULT)
-
-/*
- * The operation cannot be performed while the device is acquired.
- */
-#define DIERR_ACQUIRED \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_BUSY)
-
-/*
- * The operation cannot be performed unless the device is acquired.
- */
-#define DIERR_NOTACQUIRED \
- MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_INVALID_ACCESS)
-
-/*
- * The specified property cannot be changed.
- */
-#define DIERR_READONLY E_ACCESSDENIED
-
-/*
- * The device already has an event notification associated with it.
- */
-#define DIERR_HANDLEEXISTS E_ACCESSDENIED
-
-/*
- * Data is not yet available.
- */
-#ifndef E_PENDING
-#define E_PENDING 0x80070007L
-#endif
-
-/*
- * Unable to IDirectInputJoyConfig_Acquire because the user
- * does not have sufficient privileges to change the joystick
- * configuration.
- */
-#define DIERR_INSUFFICIENTPRIVS 0x80040200L
-
-/*
- * The device is full.
- */
-#define DIERR_DEVICEFULL 0x80040201L
-
-/*
- * Not all the requested information fit into the buffer.
- */
-#define DIERR_MOREDATA 0x80040202L
-
-/*
- * The effect is not downloaded.
- */
-#define DIERR_NOTDOWNLOADED 0x80040203L
-
-/*
- * The device cannot be reinitialized because there are still effects
- * attached to it.
- */
-#define DIERR_HASEFFECTS 0x80040204L
-
-/*
- * The operation cannot be performed unless the device is acquired
- * in DISCL_EXCLUSIVE mode.
- */
-#define DIERR_NOTEXCLUSIVEACQUIRED 0x80040205L
-
-/*
- * The effect could not be downloaded because essential information
- * is missing. For example, no axes have been associated with the
- * effect, or no type-specific information has been created.
- */
-#define DIERR_INCOMPLETEEFFECT 0x80040206L
-
-/*
- * Attempted to read buffered device data from a device that is
- * not buffered.
- */
-#define DIERR_NOTBUFFERED 0x80040207L
-
-/*
- * An attempt was made to modify parameters of an effect while it is
- * playing. Not all hardware devices support altering the parameters
- * of an effect while it is playing.
- */
-#define DIERR_EFFECTPLAYING 0x80040208L
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* __DINPUT_INCLUDED__ */
-
-/****************************************************************************
- *
- * Definitions for non-IDirectInput (VJoyD) features defined more recently
- * than the current sdk files
- *
- ****************************************************************************/
-
-#ifdef _INC_MMSYSTEM
-#ifndef MMNOJOY
-
-#ifndef __VJOYDX_INCLUDED__
-#define __VJOYDX_INCLUDED__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Flag to indicate that the dwReserved2 field of the JOYINFOEX structure
- * contains mini-driver specific data to be passed by VJoyD to the mini-
- * driver instead of doing a poll.
- */
-#define JOY_PASSDRIVERDATA 0x10000000l
-
-/*
- * Informs the joystick driver that the configuration has been changed
- * and should be reloaded from the registery.
- * dwFlags is reserved and should be set to zero
- */
-WINMMAPI MMRESULT WINAPI joyConfigChanged( DWORD dwFlags );
-
-/*
- * Hardware Setting indicating that the device is a headtracker
- */
-#define JOY_HWS_ISHEADTRACKER 0x02000000l
-
-/*
- * Hardware Setting indicating that the VxD is used to replace
- * the standard analog polling
- */
-#define JOY_HWS_ISGAMEPORTDRIVER 0x04000000l
-
-/*
- * Hardware Setting indicating that the driver needs a standard
- * gameport in order to communicate with the device.
- */
-#define JOY_HWS_ISANALOGPORTDRIVER 0x08000000l
-
-/*
- * Hardware Setting indicating that VJoyD should not load this
- * driver, it will be loaded externally and will register with
- * VJoyD of it's own accord.
- */
-#define JOY_HWS_AUTOLOAD 0x10000000l
-
-/*
- * Hardware Setting indicating that the driver acquires any
- * resources needed without needing a devnode through VJoyD.
- */
-#define JOY_HWS_NODEVNODE 0x20000000l
-
-/*
- * Hardware Setting indicating that the VxD can be used as
- * a port 201h emulator.
- */
-#define JOY_HWS_ISGAMEPORTEMULATOR 0x40000000l
-
-
-/*
- * Usage Setting indicating that the settings are volatile and
- * should be removed if still present on a reboot.
- */
-#define JOY_US_VOLATILE 0x00000008L
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* __VJOYDX_INCLUDED__ */
-
-#endif /* not MMNOJOY */
-#endif /* _INC_MMSYSTEM */
-
-/****************************************************************************
- *
- * Definitions for non-IDirectInput (VJoyD) features defined more recently
- * than the current ddk files
- *
- ****************************************************************************/
-
-#ifndef DIJ_RINGZERO
-
-#ifdef _INC_MMDDK
-#ifndef MMNOJOYDEV
-
-#ifndef __VJOYDXD_INCLUDED__
-#define __VJOYDXD_INCLUDED__
-/*
- * Poll type in which the do_other field of the JOYOEMPOLLDATA
- * structure contains mini-driver specific data passed from an app.
- */
-#define JOY_OEMPOLL_PASSDRIVERDATA 7
-
-#endif /* __VJOYDXD_INCLUDED__ */
-
-#endif /* not MMNOJOYDEV */
-#endif /* _INC_MMDDK */
-
-#endif /* DIJ_RINGZERO */
+++ /dev/null
-/*
- * Copyright (C) the Wine project
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_DSOUND_H
-#define __WINE_DSOUND_H
-#define __DSOUND_INCLUDED__
-
-#include <_mingw_dxhelper.h>
-#ifndef DIRECTSOUND_VERSION
-#define DIRECTSOUND_VERSION 0x0900
-#endif
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-#include <float.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
-
-#ifndef DX_SHARED_DEFINES
-
-typedef float D3DVALUE, *LPD3DVALUE;
-
-#ifndef D3DCOLOR_DEFINED
-typedef DWORD D3DCOLOR, *LPD3DCOLOR;
-#define D3DCOLOR_DEFINED
-#endif
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- float x;
- float y;
- float z;
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-
-#ifndef LPD3DVECTOR_DEFINED
-typedef D3DVECTOR *LPD3DVECTOR;
-#define LPD3DVECTOR_DEFINED
-#endif
-
-#define DX_SHARED_DEFINES
-#endif /* DX_SHARED_DEFINES */
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
-DEFINE_GUID(CLSID_DirectSound, 0x47d4d946, 0x62e8, 0x11cf, 0x93, 0xbc, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
-DEFINE_GUID(CLSID_DirectSound8, 0x3901cc3f, 0x84b5, 0x4fa4, 0xba, 0x35, 0xaa, 0x81, 0x72, 0xb8, 0xa0, 0x9b);
-DEFINE_GUID(CLSID_DirectSoundCapture, 0xb0210780, 0x89cd, 0x11d0, 0xaf, 0x08, 0x00, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
-DEFINE_GUID(CLSID_DirectSoundCapture8, 0xe4bcac13, 0x7f99, 0x4908, 0x9a, 0x8e, 0x74, 0xe3, 0xbf, 0x24, 0xb6, 0xe1);
-DEFINE_GUID(CLSID_DirectSoundFullDuplex,0xfea4300c, 0x7959, 0x4147, 0xb2, 0x6a, 0x23, 0x77, 0xb9, 0xe7, 0xa9, 0x1d);
-
-DEFINE_GUID(IID_IDirectSound, 0x279AFA83,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
-typedef struct IDirectSound *LPDIRECTSOUND,**LPLPDIRECTSOUND;
-
-DEFINE_GUID(IID_IDirectSound8, 0xC50A7E93,0xF395,0x4834,0x9E,0xF6,0x7F,0xA9,0x9D,0xE5,0x09,0x66);
-typedef struct IDirectSound8 *LPDIRECTSOUND8,**LPLPDIRECTSOUND8;
-
-DEFINE_GUID(IID_IDirectSoundBuffer, 0x279AFA85,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
-typedef struct IDirectSoundBuffer *LPDIRECTSOUNDBUFFER,**LPLPDIRECTSOUNDBUFFER;
-
-DEFINE_GUID(IID_IDirectSoundBuffer8, 0x6825A449,0x7524,0x4D82,0x92,0x0F,0x50,0xE3,0x6A,0xB3,0xAB,0x1E);
-typedef struct IDirectSoundBuffer8 *LPDIRECTSOUNDBUFFER8,**LPLPDIRECTSOUNDBUFFER8;
-
-DEFINE_GUID(IID_IDirectSoundNotify, 0xB0210783,0x89cd,0x11d0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
-typedef struct IDirectSoundNotify *LPDIRECTSOUNDNOTIFY,**LPLPDIRECTSOUNDNOTIFY;
-#define IID_IDirectSoundNotify8 IID_IDirectSoundNotify
-
-DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
-typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER,**LPLPDIRECTSOUND3DLISTENER;
-
-DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60);
-typedef struct IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER,**LPLPDIRECTSOUND3DBUFFER;
-
-DEFINE_GUID(IID_IDirectSoundCapture, 0xB0210781,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
-typedef struct IDirectSoundCapture *LPDIRECTSOUNDCAPTURE,**LPLPDIRECTSOUNDCAPTURE;
-#define IID_IDirectSoundCapture8 IID_IDirectSoundCapture
-typedef struct IDirectSoundCapture IDirectSoundCapture8,*LPDIRECTSOUNDCAPTURE8,**LPLPDIRECTSOUNDCAPTURE8;
-
-DEFINE_GUID(IID_IDirectSoundCaptureBuffer,0xB0210782,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16);
-typedef struct IDirectSoundCaptureBuffer *LPDIRECTSOUNDCAPTUREBUFFER,**LPLPDIRECTSOUNDCAPTUREBUFFER;
-
-DEFINE_GUID(IID_IDirectSoundCaptureBuffer8,0x00990DF4,0x0DBB,0x4872,0x83,0x3E,0x6D,0x30,0x3E,0x80,0xAE,0xB6);
-typedef struct IDirectSoundCaptureBuffer8 *LPDIRECTSOUNDCAPTUREBUFFER8,**LPLPDIRECTSOUNDCAPTUREBUFFER8;
-
-DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xEDCB4C7A,0xDAAB,0x4216,0xA4,0x2E,0x6C,0x50,0x59,0x6D,0xDC,0x1D);
-typedef struct IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX,**LPLPDIRECTSOUNDFULLDUPLEX;
-#define IID_IDirectSoundFullDuplex8 IID_IDirectSoundFullDuplex
-
-DEFINE_GUID(DSDEVID_DefaultPlayback, 0xDEF00000,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
-DEFINE_GUID(DSDEVID_DefaultCapture, 0xDEF00001,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
-DEFINE_GUID(DSDEVID_DefaultVoicePlayback,0xDEF00002,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
-DEFINE_GUID(DSDEVID_DefaultVoiceCapture, 0xDEF00003,0x9C6D,0x47ED,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03);
-
-DEFINE_GUID(DSDEVID_WinePlayback, 0x40316A1D,0x605B,0xD611,0x87,0xC6,0x00,0x80,0xAD,0x00,0x02,0xFE);
-
-#define _FACDS 0x878
-#define MAKE_DSHRESULT(code) MAKE_HRESULT(1,_FACDS,code)
-
-#define DS_OK 0
-#define DS_NO_VIRTUALIZATION MAKE_HRESULT(0, _FACDS, 10)
-#define DS_INCOMPLETE MAKE_HRESULT(0, _FACDS, 20)
-#define DSERR_ALLOCATED MAKE_DSHRESULT(10)
-#define DSERR_CONTROLUNAVAIL MAKE_DSHRESULT(30)
-#define DSERR_INVALIDPARAM E_INVALIDARG
-#define DSERR_INVALIDCALL MAKE_DSHRESULT(50)
-#define DSERR_GENERIC E_FAIL
-#define DSERR_PRIOLEVELNEEDED MAKE_DSHRESULT(70)
-#define DSERR_OUTOFMEMORY E_OUTOFMEMORY
-#define DSERR_BADFORMAT MAKE_DSHRESULT(100)
-#define DSERR_UNSUPPORTED E_NOTIMPL
-#define DSERR_NODRIVER MAKE_DSHRESULT(120)
-#define DSERR_ALREADYINITIALIZED MAKE_DSHRESULT(130)
-#define DSERR_NOAGGREGATION CLASS_E_NOAGGREGATION
-#define DSERR_BUFFERLOST MAKE_DSHRESULT(150)
-#define DSERR_OTHERAPPHASPRIO MAKE_DSHRESULT(160)
-#define DSERR_UNINITIALIZED MAKE_DSHRESULT(170)
-#define DSERR_NOINTERFACE E_NOINTERFACE
-#define DSERR_ACCESSDENIED E_ACCESSDENIED
-#define DSERR_BUFFERTOOSMALL MAKE_DSHRESULT(180)
-#define DSERR_DS8_REQUIRED MAKE_DSHRESULT(190)
-#define DSERR_SENDLOOP MAKE_DSHRESULT(200)
-#define DSERR_BADSENDBUFFERGUID MAKE_DSHRESULT(210)
-#define DSERR_FXUNAVAILABLE MAKE_DSHRESULT(220)
-#define DSERR_OBJECTNOTFOUND MAKE_DSHRESULT(4449)
-
-#define DSCAPS_PRIMARYMONO 0x00000001
-#define DSCAPS_PRIMARYSTEREO 0x00000002
-#define DSCAPS_PRIMARY8BIT 0x00000004
-#define DSCAPS_PRIMARY16BIT 0x00000008
-#define DSCAPS_CONTINUOUSRATE 0x00000010
-#define DSCAPS_EMULDRIVER 0x00000020
-#define DSCAPS_CERTIFIED 0x00000040
-#define DSCAPS_SECONDARYMONO 0x00000100
-#define DSCAPS_SECONDARYSTEREO 0x00000200
-#define DSCAPS_SECONDARY8BIT 0x00000400
-#define DSCAPS_SECONDARY16BIT 0x00000800
-
-#define DSSCL_NORMAL 1
-#define DSSCL_PRIORITY 2
-#define DSSCL_EXCLUSIVE 3
-#define DSSCL_WRITEPRIMARY 4
-
-typedef struct _DSCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwMinSecondarySampleRate;
- DWORD dwMaxSecondarySampleRate;
- DWORD dwPrimaryBuffers;
- DWORD dwMaxHwMixingAllBuffers;
- DWORD dwMaxHwMixingStaticBuffers;
- DWORD dwMaxHwMixingStreamingBuffers;
- DWORD dwFreeHwMixingAllBuffers;
- DWORD dwFreeHwMixingStaticBuffers;
- DWORD dwFreeHwMixingStreamingBuffers;
- DWORD dwMaxHw3DAllBuffers;
- DWORD dwMaxHw3DStaticBuffers;
- DWORD dwMaxHw3DStreamingBuffers;
- DWORD dwFreeHw3DAllBuffers;
- DWORD dwFreeHw3DStaticBuffers;
- DWORD dwFreeHw3DStreamingBuffers;
- DWORD dwTotalHwMemBytes;
- DWORD dwFreeHwMemBytes;
- DWORD dwMaxContigFreeHwMemBytes;
- DWORD dwUnlockTransferRateHwBuffers;
- DWORD dwPlayCpuOverheadSwBuffers;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} DSCAPS,*LPDSCAPS;
-typedef const DSCAPS *LPCDSCAPS;
-
-#define DSBPLAY_LOOPING 0x00000001
-#define DSBPLAY_LOCHARDWARE 0x00000002
-#define DSBPLAY_LOCSOFTWARE 0x00000004
-#define DSBPLAY_TERMINATEBY_TIME 0x00000008
-#define DSBPLAY_TERMINATEBY_DISTANCE 0x000000010
-#define DSBPLAY_TERMINATEBY_PRIORITY 0x000000020
-
-#define DSBSTATUS_PLAYING 0x00000001
-#define DSBSTATUS_BUFFERLOST 0x00000002
-#define DSBSTATUS_LOOPING 0x00000004
-#define DSBSTATUS_LOCHARDWARE 0x00000008
-#define DSBSTATUS_LOCSOFTWARE 0x00000010
-#define DSBSTATUS_TERMINATED 0x00000020
-
-#define DSBLOCK_FROMWRITECURSOR 0x00000001
-#define DSBLOCK_ENTIREBUFFER 0x00000002
-
-#define DSBCAPS_PRIMARYBUFFER 0x00000001
-#define DSBCAPS_STATIC 0x00000002
-#define DSBCAPS_LOCHARDWARE 0x00000004
-#define DSBCAPS_LOCSOFTWARE 0x00000008
-#define DSBCAPS_CTRL3D 0x00000010
-#define DSBCAPS_CTRLFREQUENCY 0x00000020
-#define DSBCAPS_CTRLPAN 0x00000040
-#define DSBCAPS_CTRLVOLUME 0x00000080
-#define DSBCAPS_CTRLDEFAULT 0x000000E0 /* Pan + volume + frequency. */
-#define DSBCAPS_CTRLPOSITIONNOTIFY 0x00000100
-#define DSBCAPS_CTRLFX 0x00000200
-#define DSBCAPS_CTRLALL 0x000001F0 /* All control capabilities */
-#define DSBCAPS_STICKYFOCUS 0x00004000
-#define DSBCAPS_GLOBALFOCUS 0x00008000
-#define DSBCAPS_GETCURRENTPOSITION2 0x00010000 /* More accurate play cursor under emulation*/
-#define DSBCAPS_MUTE3DATMAXDISTANCE 0x00020000
-#define DSBCAPS_LOCDEFER 0x00040000
-
-#define DSBSIZE_MIN 4
-#define DSBSIZE_MAX 0xFFFFFFF
-#define DSBPAN_LEFT -10000
-#define DSBPAN_CENTER 0
-#define DSBPAN_RIGHT 10000
-#define DSBVOLUME_MAX 0
-#define DSBVOLUME_MIN -10000
-#define DSBFREQUENCY_MIN 100
-#define DSBFREQUENCY_MAX 200000
-#define DSBFREQUENCY_ORIGINAL 0
-
-typedef struct _DSBCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwUnlockTransferRate;
- DWORD dwPlayCpuOverhead;
-} DSBCAPS,*LPDSBCAPS;
-typedef const DSBCAPS *LPCDSBCAPS;
-
-#define DSSCL_NORMAL 1
-#define DSSCL_PRIORITY 2
-#define DSSCL_EXCLUSIVE 3
-#define DSSCL_WRITEPRIMARY 4
-
-typedef struct _DSEFFECTDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- GUID guidDSFXClass;
- DWORD_PTR dwReserved1;
- DWORD_PTR dwReserved2;
-} DSEFFECTDESC,*LPDSEFFECTDESC;
-typedef const DSEFFECTDESC *LPCDSEFFECTDESC;
-
-#define DSFX_LOCHARDWARE 0x00000001
-#define DSFX_LOCSOFTWARE 0x00000002
-
-enum
-{
- DSFXR_PRESENT,
- DSFXR_LOCHARDWARE,
- DSFXR_LOCSOFTWARE,
- DSFXR_UNALLOCATED,
- DSFXR_FAILED,
- DSFXR_UNKNOWN,
- DSFXR_SENDLOOP
-};
-
-typedef struct _DSBUFFERDESC1
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
-} DSBUFFERDESC1,*LPDSBUFFERDESC1;
-typedef const DSBUFFERDESC1 *LPCDSBUFFERDESC1;
-
-typedef struct _DSBUFFERDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
- GUID guid3DAlgorithm;
-} DSBUFFERDESC,*LPDSBUFFERDESC;
-typedef const DSBUFFERDESC *LPCDSBUFFERDESC;
-
-typedef struct _DSBPOSITIONNOTIFY
-{
- DWORD dwOffset;
- HANDLE hEventNotify;
-} DSBPOSITIONNOTIFY,*LPDSBPOSITIONNOTIFY;
-typedef const DSBPOSITIONNOTIFY *LPCDSBPOSITIONNOTIFY;
-
-#define DSSPEAKER_HEADPHONE 1
-#define DSSPEAKER_MONO 2
-#define DSSPEAKER_QUAD 3
-#define DSSPEAKER_STEREO 4
-#define DSSPEAKER_SURROUND 5
-#define DSSPEAKER_5POINT1 6
-#define DSSPEAKER_7POINT1 7
-
-#define DSSPEAKER_GEOMETRY_MIN 0x00000005 /* 5 degrees */
-#define DSSPEAKER_GEOMETRY_NARROW 0x0000000A /* 10 degrees */
-#define DSSPEAKER_GEOMETRY_WIDE 0x00000014 /* 20 degrees */
-#define DSSPEAKER_GEOMETRY_MAX 0x000000B4 /* 180 degrees */
-
-#define DSSPEAKER_COMBINED(c, g) ((DWORD)(((BYTE)(c)) | ((DWORD)((BYTE)(g))) << 16))
-#define DSSPEAKER_CONFIG(a) ((BYTE)(a))
-#define DSSPEAKER_GEOMETRY(a) ((BYTE)(((DWORD)(a) >> 16) & 0x00FF))
-
-#define DS_CERTIFIED 0x00000000
-#define DS_UNCERTIFIED 0x00000001
-
-typedef struct _DSCEFFECTDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- GUID guidDSCFXClass;
- GUID guidDSCFXInstance;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} DSCEFFECTDESC, *LPDSCEFFECTDESC;
-typedef const DSCEFFECTDESC *LPCDSCEFFECTDESC;
-
-#define DSCFX_LOCHARDWARE 0x00000001
-#define DSCFX_LOCSOFTWARE 0x00000002
-
-#define DSCFXR_LOCHARDWARE 0x00000010
-#define DSCFXR_LOCSOFTWARE 0x00000020
-
-typedef struct _DSCBUFFERDESC1
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
-} DSCBUFFERDESC1, *LPDSCBUFFERDESC1;
-
-typedef struct _DSCBUFFERDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
- DWORD dwFXCount;
- LPDSCEFFECTDESC lpDSCFXDesc;
-} DSCBUFFERDESC, *LPDSCBUFFERDESC;
-typedef const DSCBUFFERDESC *LPCDSCBUFFERDESC;
-
-typedef struct _DSCCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwFormats;
- DWORD dwChannels;
-} DSCCAPS, *LPDSCCAPS;
-typedef const DSCCAPS *LPCDSCCAPS;
-
-typedef struct _DSCBCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
-} DSCBCAPS, *LPDSCBCAPS;
-typedef const DSCBCAPS *LPCDSCBCAPS;
-
-#define DSCCAPS_EMULDRIVER DSCAPS_EMULDRIVER
-#define DSCCAPS_CERTIFIED DSCAPS_CERTIFIED
-#define DSCCAPS_MULTIPLECAPTURE 0x00000001
-
-#define DSCBCAPS_WAVEMAPPED 0x80000000
-#define DSCBCAPS_CTRLFX 0x00000200
-
-#define DSCBLOCK_ENTIREBUFFER 0x00000001
-#define DSCBSTART_LOOPING 0x00000001
-#define DSCBPN_OFFSET_STOP 0xffffffff
-
-#define DSCBSTATUS_CAPTURING 0x00000001
-#define DSCBSTATUS_LOOPING 0x00000002
-
-#ifndef __LPCGUID_DEFINED__
-#define __LPCGUID_DEFINED__
-typedef const GUID *LPCGUID;
-#endif
-
-typedef BOOL (CALLBACK *LPDSENUMCALLBACKW)(LPGUID,LPCWSTR,LPCWSTR,LPVOID);
-typedef BOOL (CALLBACK *LPDSENUMCALLBACKA)(LPGUID,LPCSTR,LPCSTR,LPVOID);
-DECL_WINELIB_TYPE_AW(LPDSENUMCALLBACK)
-
-extern HRESULT WINAPI DirectSoundCreate(LPCGUID lpGUID,LPDIRECTSOUND *ppDS,LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundEnumerateA(LPDSENUMCALLBACKA, LPVOID);
-extern HRESULT WINAPI DirectSoundEnumerateW(LPDSENUMCALLBACKW, LPVOID);
-#define DirectSoundEnumerate WINELIB_NAME_AW(DirectSoundEnumerate)
-extern HRESULT WINAPI DirectSoundCaptureCreate(LPCGUID lpGUID, LPDIRECTSOUNDCAPTURE *ppDSC, LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundCaptureEnumerateA(LPDSENUMCALLBACKA, LPVOID);
-extern HRESULT WINAPI DirectSoundCaptureEnumerateW(LPDSENUMCALLBACKW, LPVOID);
-#define DirectSoundCaptureEnumerate WINELIB_NAME_AW(DirectSoundCaptureEnumerate)
-
-extern HRESULT WINAPI DirectSoundCreate8(LPCGUID lpGUID,LPDIRECTSOUND8 *ppDS8,LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundCaptureCreate8(LPCGUID lpGUID, LPDIRECTSOUNDCAPTURE8 *ppDSC8, LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundFullDuplexCreate(LPCGUID pcGuidCaptureDevice, LPCGUID pcGuidRenderDevice,
- LPCDSCBUFFERDESC pcDSCBufferDesc, LPCDSBUFFERDESC pcDSBufferDesc, HWND hWnd, DWORD dwLevel,
- LPDIRECTSOUNDFULLDUPLEX *ppDSFD, LPDIRECTSOUNDCAPTUREBUFFER8 *ppDSCBuffer8, LPDIRECTSOUNDBUFFER8 *ppDSBuffer8, LPUNKNOWN pUnkOuter);
-#define DirectSoundFullDuplexCreate8 DirectSoundFullDuplexCreate
-extern HRESULT WINAPI GetDeviceID(LPCGUID lpGuidSrc, LPGUID lpGuidDest);
-
-
-/*****************************************************************************
- * IDirectSound interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectSound
-DECLARE_INTERFACE_(IDirectSound,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSound methods ***/
- STDMETHOD(CreateSoundBuffer)(THIS_ LPCDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE;
- STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE;
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE;
- STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE;
- STDMETHOD(Initialize)(THIS_ LPCGUID lpcGuid) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSound_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSound_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSound_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSound methods ***/
-#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c)
-#define IDirectSound_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
-#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
-#define IDirectSound_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectSound_GetSpeakerConfig(p,a) (p)->lpVtbl->GetSpeakerConfig(p,a)
-#define IDirectSound_SetSpeakerConfig(p,a) (p)->lpVtbl->SetSpeakerConfig(p,a)
-#define IDirectSound_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirectSound_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSound_AddRef(p) (p)->AddRef()
-#define IDirectSound_Release(p) (p)->Release()
-/*** IDirectSound methods ***/
-#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->CreateSoundBuffer(a,b,c)
-#define IDirectSound_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->DuplicateSoundBuffer(a,b)
-#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
-#define IDirectSound_Compact(p) (p)->Compact()
-#define IDirectSound_GetSpeakerConfig(p,a) (p)->GetSpeakerConfig(a)
-#define IDirectSound_SetSpeakerConfig(p,a) (p)->SetSpeakerConfig(a)
-#define IDirectSound_Initialize(p,a) (p)->Initialize(a)
-#endif
-
-
-/*****************************************************************************
- * IDirectSound8 interface
- */
-#define INTERFACE IDirectSound8
-DECLARE_INTERFACE_(IDirectSound8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSound8 methods ***/
- STDMETHOD(CreateSoundBuffer)(THIS_ LPCDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE;
- STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate) PURE;
- STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE;
- STDMETHOD(Compact)(THIS) PURE;
- STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE;
- STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE;
- STDMETHOD(Initialize)(THIS_ LPCGUID lpcGuid) PURE;
- STDMETHOD(VerifyCertification)(THIS_ LPDWORD pdwCertified) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSound8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSound8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSound8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSound methods ***/
-#define IDirectSound8_CreateSoundBuffer(p,a,b,c) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c)
-#define IDirectSound8_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSound8_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
-#define IDirectSound8_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
-#define IDirectSound8_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectSound8_GetSpeakerConfig(p,a) (p)->lpVtbl->GetSpeakerConfig(p,a)
-#define IDirectSound8_SetSpeakerConfig(p,a) (p)->lpVtbl->SetSpeakerConfig(p,a)
-#define IDirectSound8_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-/*** IDirectSound8 methods ***/
-#define IDirectSound8_VerifyCertification(p,a) (p)->lpVtbl->VerifyCertification(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirectSound8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSound8_AddRef(p) (p)->AddRef()
-#define IDirectSound8_Release(p) (p)->Release()
-/*** IDirectSound methods ***/
-#define IDirectSound8_CreateSoundBuffer(p,a,b,c) (p)->CreateSoundBuffer(a,b,c)
-#define IDirectSound8_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSound8_DuplicateSoundBuffer(p,a,b) (p)->DuplicateSoundBuffer(a,b)
-#define IDirectSound8_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
-#define IDirectSound8_Compact(p) (p)->Compact()
-#define IDirectSound8_GetSpeakerConfig(p,a) (p)->GetSpeakerConfig(a)
-#define IDirectSound8_SetSpeakerConfig(p,a) (p)->SetSpeakerConfig(a)
-#define IDirectSound8_Initialize(p,a) (p)->Initialize(a)
-/*** IDirectSound8 methods ***/
-#define IDirectSound8_VerifyCertification(p,a) (p)->VerifyCertification(a)
-#endif
-
-
-/*****************************************************************************
- * IDirectSoundBuffer interface
- */
-#define INTERFACE IDirectSoundBuffer
-DECLARE_INTERFACE_(IDirectSoundBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundBuffer methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE;
- STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE;
- STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE;
- STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE;
- STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE;
- STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE;
- STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND lpDirectSound, LPCDSBUFFERDESC lpcDSBufferDesc) PURE;
- STDMETHOD(Lock)(THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1, LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE;
- STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE;
- STDMETHOD(SetFormat)(THIS_ LPCWAVEFORMATEX lpcfxFormat) PURE;
- STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE;
- STDMETHOD(SetPan)(THIS_ LONG lPan) PURE;
- STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioPtr2) PURE;
- STDMETHOD(Restore)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundBuffer methods ***/
-#define IDirectSoundBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundBuffer_GetVolume(p,a) (p)->lpVtbl->GetVolume(p,a)
-#define IDirectSoundBuffer_GetPan(p,a) (p)->lpVtbl->GetPan(p,a)
-#define IDirectSoundBuffer_GetFrequency(p,a) (p)->lpVtbl->GetFrequency(p,a)
-#define IDirectSoundBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundBuffer_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
-#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->lpVtbl->SetCurrentPosition(p,a)
-#define IDirectSoundBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
-#define IDirectSoundBuffer_SetVolume(p,a) (p)->lpVtbl->SetVolume(p,a)
-#define IDirectSoundBuffer_SetPan(p,a) (p)->lpVtbl->SetPan(p,a)
-#define IDirectSoundBuffer_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
-#define IDirectSoundBuffer_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-#define IDirectSoundBuffer_Restore(p) (p)->lpVtbl->Restore(p)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundBuffer_AddRef(p) (p)->AddRef()
-#define IDirectSoundBuffer_Release(p) (p)->Release()
-/*** IDirectSoundBuffer methods ***/
-#define IDirectSoundBuffer_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundBuffer_GetVolume(p,a) (p)->GetVolume(a)
-#define IDirectSoundBuffer_GetPan(p,a) (p)->GetPan(a)
-#define IDirectSoundBuffer_GetFrequency(p,a) (p)->GetFrequency(a)
-#define IDirectSoundBuffer_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundBuffer_Play(p,a,b,c) (p)->Play(a,b,c)
-#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->SetCurrentPosition(a)
-#define IDirectSoundBuffer_SetFormat(p,a) (p)->SetFormat(a)
-#define IDirectSoundBuffer_SetVolume(p,a) (p)->SetVolume(a)
-#define IDirectSoundBuffer_SetPan(p,a) (p)->SetPan(a)
-#define IDirectSoundBuffer_SetFrequency(p,a) (p)->SetFrequency(a)
-#define IDirectSoundBuffer_Stop(p) (p)->Stop()
-#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-#define IDirectSoundBuffer_Restore(p) (p)->Restore()
-#endif
-
-
-/*****************************************************************************
- * IDirectSoundBuffer8 interface
- */
-#define INTERFACE IDirectSoundBuffer8
-DECLARE_INTERFACE_(IDirectSoundBuffer8,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundBuffer8 methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE;
- STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE;
- STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE;
- STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE;
- STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE;
- STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE;
- STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND lpDirectSound, LPCDSBUFFERDESC lpcDSBufferDesc) PURE;
- STDMETHOD(Lock)(THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1, LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE;
- STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE;
- STDMETHOD(SetFormat)(THIS_ LPCWAVEFORMATEX lpcfxFormat) PURE;
- STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE;
- STDMETHOD(SetPan)(THIS_ LONG lPan) PURE;
- STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioPtr2) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(SetFX)(THIS_ DWORD dwEffectsCount, LPDSEFFECTDESC pDSFXDesc, LPDWORD pdwResultCodes) PURE;
- STDMETHOD(AcquireResources)(THIS_ DWORD dwFlags, DWORD dwEffectsCount, LPDWORD pdwResultCodes) PURE;
- STDMETHOD(GetObjectInPath)(THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundBuffer8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundBuffer methods ***/
-#define IDirectSoundBuffer8_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundBuffer8_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundBuffer8_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundBuffer8_GetVolume(p,a) (p)->lpVtbl->GetVolume(p,a)
-#define IDirectSoundBuffer8_GetPan(p,a) (p)->lpVtbl->GetPan(p,a)
-#define IDirectSoundBuffer8_GetFrequency(p,a) (p)->lpVtbl->GetFrequency(p,a)
-#define IDirectSoundBuffer8_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundBuffer8_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundBuffer8_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
-#define IDirectSoundBuffer8_SetCurrentPosition(p,a) (p)->lpVtbl->SetCurrentPosition(p,a)
-#define IDirectSoundBuffer8_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
-#define IDirectSoundBuffer8_SetVolume(p,a) (p)->lpVtbl->SetVolume(p,a)
-#define IDirectSoundBuffer8_SetPan(p,a) (p)->lpVtbl->SetPan(p,a)
-#define IDirectSoundBuffer8_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
-#define IDirectSoundBuffer8_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundBuffer8_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-#define IDirectSoundBuffer8_Restore(p) (p)->lpVtbl->Restore(p)
-/*** IDirectSoundBuffer8 methods ***/
-#define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->lpVtbl->SetFX(p,a,b,c)
-#define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->lpVtbl->AcquireResources(p,a,b,c)
-#define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundBuffer8_AddRef(p) (p)->AddRef()
-#define IDirectSoundBuffer8_Release(p) (p)->Release()
-/*** IDirectSoundBuffer methods ***/
-#define IDirectSoundBuffer8_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundBuffer8_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundBuffer8_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundBuffer8_GetVolume(p,a) (p)->GetVolume(a)
-#define IDirectSoundBuffer8_GetPan(p,a) (p)->GetPan(a)
-#define IDirectSoundBuffer8_GetFrequency(p,a) (p)->GetFrequency(a)
-#define IDirectSoundBuffer8_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundBuffer8_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundBuffer8_Play(p,a,b,c) (p)->Play(a,b,c)
-#define IDirectSoundBuffer8_SetCurrentPosition(p,a) (p)->SetCurrentPosition(a)
-#define IDirectSoundBuffer8_SetFormat(p,a) (p)->SetFormat(a)
-#define IDirectSoundBuffer8_SetVolume(p,a) (p)->SetVolume(a)
-#define IDirectSoundBuffer8_SetPan(p,a) (p)->SetPan(a)
-#define IDirectSoundBuffer8_SetFrequency(p,a) (p)->SetFrequency(a)
-#define IDirectSoundBuffer8_Stop(p) (p)->Stop()
-#define IDirectSoundBuffer8_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-#define IDirectSoundBuffer8_Restore(p) (p)->Restore()
-/*** IDirectSoundBuffer8 methods ***/
-#define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->SetFX(a,b,c)
-#define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->AcquireResources(a,b,c)
-#define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
-#endif
-
-
-/*****************************************************************************
- * IDirectSoundCapture interface
- */
-#define INTERFACE IDirectSoundCapture
-DECLARE_INTERFACE_(IDirectSoundCapture,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundCapture methods ***/
- STDMETHOD(CreateCaptureBuffer)(THIS_ LPCDSCBUFFERDESC lpcDSCBufferDesc,LPDIRECTSOUNDCAPTUREBUFFER *lplpDSCaptureBuffer, LPUNKNOWN pUnk) PURE;
- STDMETHOD(GetCaps)(THIS_ LPDSCCAPS lpDSCCaps) PURE;
- STDMETHOD(Initialize)(THIS_ LPCGUID lpcGUID) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundCapture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundCapture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundCapture_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundCapture methods ***/
-#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->lpVtbl->CreateCaptureBuffer(p,a,b,c)
-#define IDirectSoundCapture_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundCapture_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundCapture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundCapture_AddRef(p) (p)->AddRef()
-#define IDirectSoundCapture_Release(p) (p)->Release()
-/*** IDirectSoundCapture methods ***/
-#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->CreateCaptureBuffer(a,b,c)
-#define IDirectSoundCapture_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundCapture_Initialize(p,a) (p)->Initialize(a)
-#endif
-
-/*****************************************************************************
- * IDirectSoundCaptureBuffer interface
- */
-#define INTERFACE IDirectSoundCaptureBuffer
-DECLARE_INTERFACE_(IDirectSoundCaptureBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundCaptureBuffer methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDSCBCAPS lpDSCBCaps) PURE;
- STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCapturePosition,LPDWORD lpdwReadPosition) PURE;
- STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE;
- STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTSOUNDCAPTURE lpDSC, LPCDSCBUFFERDESC lpcDSCBDesc) PURE;
- STDMETHOD(Lock)(THIS_ DWORD dwReadCusor, DWORD dwReadBytes, LPVOID *lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID *lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioBytes2) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundCaptureBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundCaptureBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundCaptureBuffer methods ***/
-#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer_Start(p,a) (p)->lpVtbl->Start(p,a)
-#define IDirectSoundCaptureBuffer_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundCaptureBuffer_AddRef(p) (p)->AddRef()
-#define IDirectSoundCaptureBuffer_Release(p) (p)->Release()
-/*** IDirectSoundCaptureBuffer methods ***/
-#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer_Start(p,a) (p)->Start(a)
-#define IDirectSoundCaptureBuffer_Stop(p) (p)->Stop()
-#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-#endif
-
-/*****************************************************************************
- * IDirectSoundCaptureBuffer8 interface
- */
-#define INTERFACE IDirectSoundCaptureBuffer8
-DECLARE_INTERFACE_(IDirectSoundCaptureBuffer8,IDirectSoundCaptureBuffer)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundCaptureBuffer methods ***/
- STDMETHOD(GetCaps)(THIS_ LPDSCBCAPS lpDSCBCaps) PURE;
- STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCapturePosition,LPDWORD lpdwReadPosition) PURE;
- STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE;
- STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE;
- STDMETHOD(Initialize)(THIS_ LPDIRECTSOUNDCAPTURE lpDSC, LPCDSCBUFFERDESC lpcDSCBDesc) PURE;
- STDMETHOD(Lock)(THIS_ DWORD dwReadCusor, DWORD dwReadBytes, LPVOID *lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID *lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioBytes2) PURE;
- /*** IDirectSoundCaptureBuffer8 methods ***/
- STDMETHOD(GetObjectInPath)(THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
- STDMETHOD(GetFXStatus)(THIS_ DWORD dwFXCount, LPDWORD pdwFXStatus) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundCaptureBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundCaptureBuffer8_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundCaptureBuffer methods ***/
-#define IDirectSoundCaptureBuffer8_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundCaptureBuffer8_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundCaptureBuffer8_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundCaptureBuffer8_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundCaptureBuffer8_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundCaptureBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer8_Start(p,a) (p)->lpVtbl->Start(p,a)
-#define IDirectSoundCaptureBuffer8_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundCaptureBuffer8_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-/*** IDirectSoundCaptureBuffer8 methods ***/
-#define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
-#define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->lpVtbl->GetFXStatus(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundCaptureBuffer8_AddRef(p) (p)->AddRef()
-#define IDirectSoundCaptureBuffer8_Release(p) (p)->Release()
-/*** IDirectSoundCaptureBuffer methods ***/
-#define IDirectSoundCaptureBuffer8_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundCaptureBuffer8_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundCaptureBuffer8_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundCaptureBuffer8_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundCaptureBuffer8_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundCaptureBuffer8_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer8_Start(p,a) (p)->Start(a)
-#define IDirectSoundCaptureBuffer8_Stop(p) (p)->Stop()
-#define IDirectSoundCaptureBuffer8_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-/*** IDirectSoundCaptureBuffer8 methods ***/
-#define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
-#define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->GetFXStatus(a,b)
-#endif
-
-/*****************************************************************************
- * IDirectSoundNotify interface
- */
-#define WINE_NOBUFFER 0x80000000
-
-#define DSBPN_OFFSETSTOP -1
-
-#define DSBNOTIFICATIONS_MAX 100000UL
-
-#define INTERFACE IDirectSoundNotify
-DECLARE_INTERFACE_(IDirectSoundNotify,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundNotify methods ***/
- STDMETHOD(SetNotificationPositions)(THIS_ DWORD cPositionNotifies, LPCDSBPOSITIONNOTIFY lpcPositionNotifies) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundNotify_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundNotify methods ***/
-#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->lpVtbl->SetNotificationPositions(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundNotify_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundNotify_AddRef(p) (p)->AddRef()
-#define IDirectSoundNotify_Release(p) (p)->Release()
-/*** IDirectSoundNotify methods ***/
-#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->SetNotificationPositions(a,b)
-#endif
-
-
-/*****************************************************************************
- * IDirectSound3DListener interface
- */
-#define DS3DMODE_NORMAL 0x00000000
-#define DS3DMODE_HEADRELATIVE 0x00000001
-#define DS3DMODE_DISABLE 0x00000002
-
-#define DS3D_IMMEDIATE 0x00000000
-#define DS3D_DEFERRED 0x00000001
-
-#define DS3D_MINDISTANCEFACTOR FLT_MIN
-#define DS3D_MAXDISTANCEFACTOR FLT_MAX
-#define DS3D_DEFAULTDISTANCEFACTOR 1.0f
-
-#define DS3D_MINROLLOFFFACTOR 0.0f
-#define DS3D_MAXROLLOFFFACTOR 10.0f
-#define DS3D_DEFAULTROLLOFFFACTOR 1.0f
-
-#define DS3D_MINDOPPLERFACTOR 0.0f
-#define DS3D_MAXDOPPLERFACTOR 10.0f
-#define DS3D_DEFAULTDOPPLERFACTOR 1.0f
-
-#define DS3D_DEFAULTMINDISTANCE 1.0f
-#define DS3D_DEFAULTMAXDISTANCE 1000000000.0f
-
-#define DS3D_MINCONEANGLE 0
-#define DS3D_MAXCONEANGLE 360
-#define DS3D_DEFAULTCONEANGLE 360
-
-#define DS3D_DEFAULTCONEOUTSIDEVOLUME DSBVOLUME_MAX
-
-typedef struct _DS3DLISTENER {
- DWORD dwSize;
- D3DVECTOR vPosition;
- D3DVECTOR vVelocity;
- D3DVECTOR vOrientFront;
- D3DVECTOR vOrientTop;
- D3DVALUE flDistanceFactor;
- D3DVALUE flRolloffFactor;
- D3DVALUE flDopplerFactor;
-} DS3DLISTENER, *LPDS3DLISTENER;
-
-typedef const DS3DLISTENER *LPCDS3DLISTENER;
-
-#define INTERFACE IDirectSound3DListener
-DECLARE_INTERFACE_(IDirectSound3DListener,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSound3DListener methods ***/
- STDMETHOD(GetAllParameters)(THIS_ LPDS3DLISTENER lpListener) PURE;
- STDMETHOD(GetDistanceFactor)(THIS_ LPD3DVALUE lpflDistanceFactor) PURE;
- STDMETHOD(GetDopplerFactor)(THIS_ LPD3DVALUE lpflDopplerFactor) PURE;
- STDMETHOD(GetOrientation)(THIS_ LPD3DVECTOR lpvOrientFront, LPD3DVECTOR lpvOrientTop) PURE;
- STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE;
- STDMETHOD(GetRolloffFactor)(THIS_ LPD3DVALUE lpflRolloffFactor) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE;
- STDMETHOD(SetAllParameters)(THIS_ LPCDS3DLISTENER lpcListener, DWORD dwApply) PURE;
- STDMETHOD(SetDistanceFactor)(THIS_ D3DVALUE flDistanceFactor, DWORD dwApply) PURE;
- STDMETHOD(SetDopplerFactor)(THIS_ D3DVALUE flDopplerFactor, DWORD dwApply) PURE;
- STDMETHOD(SetOrientation)(THIS_ D3DVALUE xFront, D3DVALUE yFront, D3DVALUE zFront, D3DVALUE xTop, D3DVALUE yTop, D3DVALUE zTop, DWORD dwApply) PURE;
- STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(SetRolloffFactor)(THIS_ D3DVALUE flRolloffFactor, DWORD dwApply) PURE;
- STDMETHOD(SetVelocity)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(CommitDeferredSettings)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSound3DListener_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSound3DListener_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSound3DListener_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSound3DListener methods ***/
-#define IDirectSound3DListener_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->lpVtbl->GetDistanceFactor(p,a)
-#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->lpVtbl->GetDopplerFactor(p,a)
-#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->lpVtbl->GetOrientation(p,a,b)
-#define IDirectSound3DListener_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
-#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->lpVtbl->GetRolloffFactor(p,a)
-#define IDirectSound3DListener_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
-#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
-#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->lpVtbl->SetDistanceFactor(p,a,b)
-#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->lpVtbl->SetDopplerFactor(p,a,b)
-#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
-#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->lpVtbl->SetRolloffFactor(p,a,b)
-#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
-#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->lpVtbl->CommitDeferredSettings(p)
-#else
-/*** IUnknown methods ***/
-#define IDirectSound3DListener_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSound3DListener_AddRef(p) (p)->AddRef()
-#define IDirectSound3DListener_Release(p) (p)->Release()
-/*** IDirectSound3DListener methods ***/
-#define IDirectSound3DListener_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->GetDistanceFactor(a)
-#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->GetDopplerFactor(a)
-#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->GetOrientation(a,b)
-#define IDirectSound3DListener_GetPosition(p,a) (p)->GetPosition(a)
-#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->GetRolloffFactor(a)
-#define IDirectSound3DListener_GetVelocity(p,a) (p)->GetVelocity(a)
-#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
-#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->SetDistanceFactor(a,b)
-#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->SetDopplerFactor(a,b)
-#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
-#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->SetRolloffFactor(a,b)
-#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
-#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->CommitDeferredSettings()
-#endif
-
-
-/*****************************************************************************
- * IDirectSound3DBuffer interface
- */
-typedef struct _DS3DBUFFER {
- DWORD dwSize;
- D3DVECTOR vPosition;
- D3DVECTOR vVelocity;
- DWORD dwInsideConeAngle;
- DWORD dwOutsideConeAngle;
- D3DVECTOR vConeOrientation;
- LONG lConeOutsideVolume;
- D3DVALUE flMinDistance;
- D3DVALUE flMaxDistance;
- DWORD dwMode;
-} DS3DBUFFER, *LPDS3DBUFFER;
-
-typedef const DS3DBUFFER *LPCDS3DBUFFER;
-
-#define INTERFACE IDirectSound3DBuffer
-DECLARE_INTERFACE_(IDirectSound3DBuffer,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSound3DBuffer methods ***/
- STDMETHOD(GetAllParameters)(THIS_ LPDS3DBUFFER lpDs3dBuffer) PURE;
- STDMETHOD(GetConeAngles)(THIS_ LPDWORD lpdwInsideConeAngle, LPDWORD lpdwOutsideConeAngle) PURE;
- STDMETHOD(GetConeOrientation)(THIS_ LPD3DVECTOR lpvOrientation) PURE;
- STDMETHOD(GetConeOutsideVolume)(THIS_ LPLONG lplConeOutsideVolume) PURE;
- STDMETHOD(GetMaxDistance)(THIS_ LPD3DVALUE lpflMaxDistance) PURE;
- STDMETHOD(GetMinDistance)(THIS_ LPD3DVALUE lpflMinDistance) PURE;
- STDMETHOD(GetMode)(THIS_ LPDWORD lpwdMode) PURE;
- STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE;
- STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE;
- STDMETHOD(SetAllParameters)(THIS_ LPCDS3DBUFFER lpcDs3dBuffer, DWORD dwApply) PURE;
- STDMETHOD(SetConeAngles)(THIS_ DWORD dwInsideConeAngle, DWORD dwOutsideConeAngle, DWORD dwApply) PURE;
- STDMETHOD(SetConeOrientation)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(SetConeOutsideVolume)(THIS_ LONG lConeOutsideVolume, DWORD dwApply) PURE;
- STDMETHOD(SetMaxDistance)(THIS_ D3DVALUE flMaxDistance, DWORD dwApply) PURE;
- STDMETHOD(SetMinDistance)(THIS_ D3DVALUE flMinDistance, DWORD dwApply) PURE;
- STDMETHOD(SetMode)(THIS_ DWORD dwMode, DWORD dwApply) PURE;
- STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(SetVelocity)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSound3DBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSound3DBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSound3DBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSound3DBuffer methods ***/
-#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->lpVtbl->GetConeAngles(p,a,b)
-#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->lpVtbl->GetConeOrientation(p,a)
-#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->lpVtbl->GetConeOutsideVolume(p,a)
-#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->lpVtbl->GetMaxDistance(p,a)
-#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->lpVtbl->GetMinDistance(p,a)
-#define IDirectSound3DBuffer_GetMode(p,a) (p)->lpVtbl->GetMode(p,a)
-#define IDirectSound3DBuffer_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
-#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
-#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
-#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->lpVtbl->SetConeAngles(p,a,b,c)
-#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->lpVtbl->SetConeOrientation(p,a,b,c,d)
-#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->lpVtbl->SetConeOutsideVolume(p,a,b)
-#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->lpVtbl->SetMaxDistance(p,a,b)
-#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->lpVtbl->SetMinDistance(p,a,b)
-#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->lpVtbl->SetMode(p,a,b)
-#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
-#else
-/*** IUnknown methods ***/
-#define IDirectSound3DBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSound3DBuffer_AddRef(p) (p)->AddRef()
-#define IDirectSound3DBuffer_Release(p) (p)->Release()
-/*** IDirectSound3DBuffer methods ***/
-#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->GetConeAngles(a,b)
-#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->GetConeOrientation(a)
-#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->GetConeOutsideVolume(a)
-#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->GetMaxDistance(a)
-#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->GetMinDistance(a)
-#define IDirectSound3DBuffer_GetMode(p,a) (p)->GetMode(a)
-#define IDirectSound3DBuffer_GetPosition(p,a) (p)->GetPosition(a)
-#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->GetVelocity(a)
-#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
-#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->SetConeAngles(a,b,c)
-#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->SetConeOrientation(a,b,c,d)
-#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->SetConeOutsideVolume(a,b)
-#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->SetMaxDistance(a,b)
-#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->SetMinDistance(a,b)
-#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->SetMode(a,b)
-#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
-#endif
-
-/*****************************************************************************
- * IKsPropertySet interface
- */
-#ifndef _IKsPropertySet_
-#define _IKsPropertySet_
-
-typedef struct IKsPropertySet *LPKSPROPERTYSET;
-
-DEFINE_GUID(IID_IKsPropertySet,0x31EFAC30,0x515C,0x11D0,0xA9,0xAA,0x00,0xAA,0x00,0x61,0xBE,0x93);
-
-#define KSPROPERTY_SUPPORT_GET 1
-#define KSPROPERTY_SUPPORT_SET 2
-
-#define INTERFACE IKsPropertySet
-DECLARE_INTERFACE_(IKsPropertySet,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IKsPropertySet methods ***/
- STDMETHOD(Get)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3,ULONG *px4) PURE;
- STDMETHOD(Set)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3) PURE;
- STDMETHOD(QuerySupport)(THIS_ REFGUID rgid,ULONG x1,ULONG *px2) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IKsPropertySet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IKsPropertySet_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IKsPropertySet_Release(p) (p)->lpVtbl->Release(p)
-/*** IKsPropertySet methods ***/
-#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->lpVtbl->Get(p,a,b,c,d,e,f,g)
-#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->lpVtbl->Set(p,a,b,c,d,e,f)
-#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->lpVtbl->QuerySupport(p,a,b,c)
-#else
-/*** IUnknown methods ***/
-#define IKsPropertySet_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IKsPropertySet_AddRef(p) (p)->AddRef()
-#define IKsPropertySet_Release(p) (p)->Release()
-/*** IKsPropertySet methods ***/
-#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->Get(a,b,c,d,e,f,g)
-#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->Set(a,b,c,d,e,f)
-#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->QuerySupport(a,b,c)
-#endif
-
-#endif /* _IKsPropertySet_ */
-
-/*****************************************************************************
- * IDirectSoundFullDuplex interface
- */
-#define INTERFACE IDirectSoundFullDuplex
-DECLARE_INTERFACE_(IDirectSoundFullDuplex,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IDirectSoundFullDuplex methods ***/
- STDMETHOD(Initialize)(THIS_ LPCGUID pCaptureGuid,LPCGUID pRendererGuid,LPCDSCBUFFERDESC lpDscBufferDesc,LPCDSBUFFERDESC lpDsBufferDesc,HWND hWnd,DWORD dwLevel,LPLPDIRECTSOUNDCAPTUREBUFFER8 lplpDirectSoundCaptureBuffer8,LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer8) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IDirectSoundFullDuplex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirectSoundFullDuplex_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirectSoundFullDuplex_Release(p) (p)->lpVtbl->Release(p)
-/*** IDirectSoundFullDuplex methods ***/
-#define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Initialize(p,a,b,c,d,e,f,g,h)
-#else
-/*** IUnknown methods ***/
-#define IDirectSoundFullDuplex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirectSoundFullDuplex_AddRef(p) (p)->AddRef()
-#define IDirectSoundFullDuplex_Release(p) (p)->Release()
-/*** IDirectSoundFullDuplex methods ***/
-#define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->Initialize(a,b,c,d,e,f,g,h)
-#endif
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* defined(__cplusplus) */
-
-#endif /* __WINE_DSOUND_H */
+++ /dev/null
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2011 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#ifndef ZCONF_H
-#define ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- * Even better than compiling with -DZ_PREFIX would be to use configure to set
- * this permanently in zconf.h using "./configure --zprefix".
- */
-#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
-# define Z_PREFIX_SET
-
-/* all linked symbols */
-# define _dist_code z__dist_code
-# define _length_code z__length_code
-# define _tr_align z__tr_align
-# define _tr_flush_block z__tr_flush_block
-# define _tr_init z__tr_init
-# define _tr_stored_block z__tr_stored_block
-# define _tr_tally z__tr_tally
-# define adler32 z_adler32
-# define adler32_combine z_adler32_combine
-# define adler32_combine64 z_adler32_combine64
-# ifndef Z_SOLO
-# define compress z_compress
-# define compress2 z_compress2
-# define compressBound z_compressBound
-# endif
-# define crc32 z_crc32
-# define crc32_combine z_crc32_combine
-# define crc32_combine64 z_crc32_combine64
-# define deflate z_deflate
-# define deflateBound z_deflateBound
-# define deflateCopy z_deflateCopy
-# define deflateEnd z_deflateEnd
-# define deflateInit2_ z_deflateInit2_
-# define deflateInit_ z_deflateInit_
-# define deflateParams z_deflateParams
-# define deflatePending z_deflatePending
-# define deflatePrime z_deflatePrime
-# define deflateReset z_deflateReset
-# define deflateResetKeep z_deflateResetKeep
-# define deflateSetDictionary z_deflateSetDictionary
-# define deflateSetHeader z_deflateSetHeader
-# define deflateTune z_deflateTune
-# define deflate_copyright z_deflate_copyright
-# define get_crc_table z_get_crc_table
-# ifndef Z_SOLO
-# define gz_error z_gz_error
-# define gz_intmax z_gz_intmax
-# define gz_strwinerror z_gz_strwinerror
-# define gzbuffer z_gzbuffer
-# define gzclearerr z_gzclearerr
-# define gzclose z_gzclose
-# define gzclose_r z_gzclose_r
-# define gzclose_w z_gzclose_w
-# define gzdirect z_gzdirect
-# define gzdopen z_gzdopen
-# define gzeof z_gzeof
-# define gzerror z_gzerror
-# define gzflags z_gzflags
-# define gzflush z_gzflush
-# define gzgetc z_gzgetc
-# define gzgetc_ z_gzgetc_
-# define gzgets z_gzgets
-# define gzoffset z_gzoffset
-# define gzoffset64 z_gzoffset64
-# define gzopen z_gzopen
-# define gzopen64 z_gzopen64
-# define gzprintf z_gzprintf
-# define gzputc z_gzputc
-# define gzputs z_gzputs
-# define gzread z_gzread
-# define gzrewind z_gzrewind
-# define gzseek z_gzseek
-# define gzseek64 z_gzseek64
-# define gzsetparams z_gzsetparams
-# define gztell z_gztell
-# define gztell64 z_gztell64
-# define gzungetc z_gzungetc
-# define gzwrite z_gzwrite
-# endif
-# define inflate z_inflate
-# define inflateBack z_inflateBack
-# define inflateBackEnd z_inflateBackEnd
-# define inflateBackInit_ z_inflateBackInit_
-# define inflateCopy z_inflateCopy
-# define inflateEnd z_inflateEnd
-# define inflateGetHeader z_inflateGetHeader
-# define inflateInit2_ z_inflateInit2_
-# define inflateInit_ z_inflateInit_
-# define inflateMark z_inflateMark
-# define inflatePrime z_inflatePrime
-# define inflateReset z_inflateReset
-# define inflateReset2 z_inflateReset2
-# define inflateSetDictionary z_inflateSetDictionary
-# define inflateSync z_inflateSync
-# define inflateSyncPoint z_inflateSyncPoint
-# define inflateUndermine z_inflateUndermine
-# define inflateResetKeep z_inflateResetKeep
-# define inflate_copyright z_inflate_copyright
-# define inflate_fast z_inflate_fast
-# define inflate_table z_inflate_table
-# ifndef Z_SOLO
-# define uncompress z_uncompress
-# endif
-# define zError z_zError
-# ifndef Z_SOLO
-# define zcalloc z_zcalloc
-# define zcfree z_zcfree
-# endif
-# define zlibCompileFlags z_zlibCompileFlags
-# define zlibVersion z_zlibVersion
-
-/* all zlib typedefs in zlib.h and zconf.h */
-# define Byte z_Byte
-# define Bytef z_Bytef
-# define alloc_func z_alloc_func
-# define charf z_charf
-# define free_func z_free_func
-# ifndef Z_SOLO
-# define gzFile z_gzFile
-# define gz_header z_gz_header
-# define gz_headerp z_gz_headerp
-# endif
-# define in_func z_in_func
-# define intf z_intf
-# define out_func z_out_func
-# define uInt z_uInt
-# define uIntf z_uIntf
-# define uLong z_uLong
-# define uLongf z_uLongf
-# define voidp z_voidp
-# define voidpc z_voidpc
-# define voidpf z_voidpf
-
-/* all zlib structs in zlib.h and zconf.h */
-# ifndef Z_SOLO
-# define gz_header_s z_gz_header_s
-# endif
-# define internal_state z_internal_state
-
-#endif
-
-#if defined(__MSDOS__) && !defined(MSDOS)
-# define MSDOS
-#endif
-#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
-# define OS2
-#endif
-#if defined(_WINDOWS) && !defined(WINDOWS)
-# define WINDOWS
-#endif
-#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
-# ifndef WIN32
-# define WIN32
-# endif
-#endif
-#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
-# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
-# ifndef SYS16BIT
-# define SYS16BIT
-# endif
-# endif
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#ifdef SYS16BIT
-# define MAXSEG_64K
-#endif
-#ifdef MSDOS
-# define UNALIGNED_OK
-#endif
-
-#ifdef __STDC_VERSION__
-# ifndef STDC
-# define STDC
-# endif
-# if __STDC_VERSION__ >= 199901L
-# ifndef STDC99
-# define STDC99
-# endif
-# endif
-#endif
-#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
-# define STDC
-#endif
-
-#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
-# define STDC
-#endif
-
-#ifndef STDC
-# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-# define const /* note: need a more gentle solution here */
-# endif
-#endif
-
-#if defined(ZLIB_CONST) && !defined(z_const)
-# define z_const const
-#else
-# define z_const
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
-# define NO_DUMMY_DECL
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2.
- * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
- * created by gzip. (Files created by minigzip can still be extracted by
- * gzip.)
- */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- (1 << (windowBits+2)) + (1 << (memLevel+9))
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-#ifndef Z_ARG /* function prototypes for stdarg */
-# if defined(STDC) || defined(Z_HAVE_STDARG_H)
-# define Z_ARG(args) args
-# else
-# define Z_ARG(args) ()
-# endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#ifdef SYS16BIT
-# if defined(M_I86SM) || defined(M_I86MM)
- /* MSC small or medium model */
-# define SMALL_MEDIUM
-# ifdef _MSC_VER
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-# if (defined(__SMALL__) || defined(__MEDIUM__))
- /* Turbo C small or medium model */
-# define SMALL_MEDIUM
-# ifdef __BORLANDC__
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-#endif
-
-#if defined(WINDOWS) || defined(WIN32)
- /* If building or using zlib as a DLL, define ZLIB_DLL.
- * This is not mandatory, but it offers a little performance increase.
- */
-# ifdef ZLIB_DLL
-# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
-# ifdef ZLIB_INTERNAL
-# define ZEXTERN extern __declspec(dllexport)
-# else
-# define ZEXTERN extern __declspec(dllimport)
-# endif
-# endif
-# endif /* ZLIB_DLL */
- /* If building or using zlib with the WINAPI/WINAPIV calling convention,
- * define ZLIB_WINAPI.
- * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
- */
-# ifdef ZLIB_WINAPI
-# ifdef FAR
-# undef FAR
-# endif
-# include <windows.h>
- /* No need for _export, use ZLIB.DEF instead. */
- /* For complete Windows compatibility, use WINAPI, not __stdcall. */
-# define ZEXPORT WINAPI
-# ifdef WIN32
-# define ZEXPORTVA WINAPIV
-# else
-# define ZEXPORTVA FAR CDECL
-# endif
-# endif
-#endif
-
-#if defined (__BEOS__)
-# ifdef ZLIB_DLL
-# ifdef ZLIB_INTERNAL
-# define ZEXPORT __declspec(dllexport)
-# define ZEXPORTVA __declspec(dllexport)
-# else
-# define ZEXPORT __declspec(dllimport)
-# define ZEXPORTVA __declspec(dllimport)
-# endif
-# endif
-#endif
-
-#ifndef ZEXTERN
-# define ZEXTERN extern
-#endif
-#ifndef ZEXPORT
-# define ZEXPORT
-#endif
-#ifndef ZEXPORTVA
-# define ZEXPORTVA
-#endif
-
-#ifndef FAR
-# define FAR
-#endif
-
-#if !defined(__MACTYPES__)
-typedef unsigned char Byte; /* 8 bits */
-#endif
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-#ifdef SMALL_MEDIUM
- /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
-# define Bytef Byte FAR
-#else
- typedef Byte FAR Bytef;
-#endif
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void const *voidpc;
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte const *voidpc;
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
-# define Z_HAVE_UNISTD_H
-#endif
-
-#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
-# define Z_HAVE_STDARG_H
-#endif
-
-#ifdef STDC
-# ifndef Z_SOLO
-# include <sys/types.h> /* for off_t */
-# endif
-#endif
-
-/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
- * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
- * though the former does not conform to the LFS document), but considering
- * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
- * equivalently requesting no 64-bit operations
- */
-#if -_LARGEFILE64_SOURCE - -1 == 1
-# undef _LARGEFILE64_SOURCE
-#endif
-
-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
-# define Z_LARGE
-#endif
-
-#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE)) && !defined(Z_SOLO)
-# include <unistd.h> /* for SEEK_* and off_t */
-# ifdef VMS
-# include <unixio.h> /* for off_t */
-# endif
-# ifndef z_off_t
-# define z_off_t off_t
-# endif
-#endif
-
-#if !defined(SEEK_SET) && !defined(Z_SOLO)
-# define SEEK_SET 0 /* Seek from beginning of file. */
-# define SEEK_CUR 1 /* Seek from current position. */
-# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
-#endif
-
-#ifndef z_off_t
-# define z_off_t long
-#endif
-
-#if !defined(_WIN32) && (defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0)
-# define z_off64_t off64_t
-#else
-# if defined(_WIN32)
-# define z_off64_t __int64
-# else
-# define z_off64_t z_off_t
-#endif
-#endif
-
-/* MVS linker does not support external names larger than 8 bytes */
-#if defined(__MVS__)
- #pragma map(deflateInit_,"DEIN")
- #pragma map(deflateInit2_,"DEIN2")
- #pragma map(deflateEnd,"DEEND")
- #pragma map(deflateBound,"DEBND")
- #pragma map(inflateInit_,"ININ")
- #pragma map(inflateInit2_,"ININ2")
- #pragma map(inflateEnd,"INEND")
- #pragma map(inflateSync,"INSY")
- #pragma map(inflateSetDictionary,"INSEDI")
- #pragma map(compressBound,"CMBND")
- #pragma map(inflate_table,"INTABL")
- #pragma map(inflate_fast,"INFA")
- #pragma map(inflate_copyright,"INCOPY")
-#endif
-
-#endif /* ZCONF_H */
+++ /dev/null
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.2.6, January 29th, 2012
-
- Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- jloup@gzip.org madler@alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950
- (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).
-*/
-
-#ifndef ZLIB_H
-#define ZLIB_H
-
-#include "zconf.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ZLIB_VERSION "1.2.6"
-#define ZLIB_VERNUM 0x1260
-#define ZLIB_VER_MAJOR 1
-#define ZLIB_VER_MINOR 2
-#define ZLIB_VER_REVISION 6
-#define ZLIB_VER_SUBREVISION 0
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed data.
- This version of the library supports only one compression method (deflation)
- but other algorithms will be added later and will have the same stream
- interface.
-
- Compression can be done in a single step if the buffers are large enough,
- or can be done by repeated calls of the compression function. In the latter
- case, the application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The compressed data format used by default by the in-memory functions is
- the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
- around a deflate stream, which is itself documented in RFC 1951.
-
- The library also supports reading and writing files in gzip (.gz) format
- with an interface similar to that of stdio using the functions that start
- with "gz". The gzip format is different from the zlib format. gzip is a
- gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
-
- This library can optionally read and write gzip streams in memory as well.
-
- The zlib format was designed to be compact and fast for use in memory
- and on communications channels. The gzip format was designed for single-
- file compression on file systems, has a larger header than zlib to maintain
- directory information, and uses a different, slower check method than zlib.
-
- The library does not install any signal handler. The decoder checks
- the consistency of the compressed data, so the library should never crash
- even in case of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- z_const Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total number of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total number of bytes output so far */
-
- z_const char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: binary or text */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- gzip header information passed to and from zlib routines. See RFC 1952
- for more details on the meanings of these fields.
-*/
-typedef struct gz_header_s {
- int text; /* true if compressed data believed to be text */
- uLong time; /* modification time */
- int xflags; /* extra flags (not used when writing a gzip file) */
- int os; /* operating system */
- Bytef *extra; /* pointer to extra field or Z_NULL if none */
- uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
- uInt extra_max; /* space at extra (only when reading header) */
- Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
- uInt name_max; /* space at name (only when reading header) */
- Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
- uInt comm_max; /* space at comment (only when reading header) */
- int hcrc; /* true if there was or will be a header crc */
- int done; /* true when done reading gzip header (not used
- when writing a gzip file) */
-} gz_header;
-
-typedef gz_header FAR *gz_headerp;
-
-/*
- The application must update next_in and avail_in when avail_in has dropped
- to zero. It must update next_out and avail_out when avail_out has dropped
- to zero. The application must initialize zalloc, zfree and opaque before
- calling the init function. All other fields are set by the compression
- library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- If zlib is used in a multi-threaded application, zalloc and zfree must be
- thread safe.
-
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this if
- the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers
- returned by zalloc for objects of exactly 65536 bytes *must* have their
- offset normalized to zero. The default allocation function provided by this
- library ensures this (see zutil.c). To reduce memory requirements and avoid
- any allocation of 64K objects, at the expense of compression ratio, compile
- the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or progress
- reports. After compression, total_in holds the total size of the
- uncompressed data and may be saved for use in the decompressor (particularly
- if the decompressor wants to decompress everything in a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1
-#define Z_SYNC_FLUSH 2
-#define Z_FULL_FLUSH 3
-#define Z_FINISH 4
-#define Z_BLOCK 5
-#define Z_TREES 6
-/* Allowed flush values; see deflate() and inflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative values
- * are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_RLE 3
-#define Z_FIXED 4
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_TEXT 1
-#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field (though see inflate()) */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
-
- /* basic functions */
-
-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is not
- compatible with the zlib.h header file used by the application. This check
- is automatically made by deflateInit and inflateInit.
- */
-
-/*
-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller. If
- zalloc and zfree are set to Z_NULL, deflateInit updates them to use default
- allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at all
- (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION
- requests a default compromise between speed and compression (currently
- equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if level is not a valid compression level, or
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION). msg is set to null
- if there is no error message. deflateInit does not perform any compression:
- this will be done by deflate().
-*/
-
-
-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
-/*
- deflate compresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce
- some output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. deflate performs one or both of the
- following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications). Some
- output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming more
- output, and updating avail_in or avail_out accordingly; avail_out should
- never be zero before the call. The application can consume the compressed
- output when it wants, for example when the output buffer is full (avail_out
- == 0), or after each call of deflate(). If deflate returns Z_OK and with
- zero avail_out, it must be called again after making room in the output
- buffer because there might be more output pending.
-
- Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
- decide how much data to accumulate before producing output, in order to
- maximize compression.
-
- If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
- flushed to the output buffer and the output is aligned on a byte boundary, so
- that the decompressor can get all input data available so far. (In
- particular avail_in is zero after the call if enough output space has been
- provided before the call.) Flushing may degrade compression for some
- compression algorithms and so it should be used only when necessary. This
- completes the current deflate block and follows it with an empty stored block
- that is three bits plus filler bits to the next byte, followed by four bytes
- (00 00 ff ff).
-
- If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the
- output buffer, but the output is not aligned to a byte boundary. All of the
- input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
- This completes the current deflate block and follows it with an empty fixed
- codes block that is 10 bits long. This assures that enough bytes are output
- in order for the decompressor to finish the block before the empty fixed code
- block.
-
- If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
- for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
- seven bits of the current block are held to be written as the next byte after
- the next deflate block is completed. In this case, the decompressor may not
- be provided enough bits at this point in order to complete decompression of
- the data provided so far to the compressor. It may need to wait for the next
- block to be emitted. This is for advanced applications that need to control
- the emission of deflate blocks.
-
- If flush is set to Z_FULL_FLUSH, all output is flushed as with
- Z_SYNC_FLUSH, and the compression state is reset so that decompression can
- restart from this point if previous compressed data has been damaged or if
- random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
- compression.
-
- If deflate returns with avail_out == 0, this function must be called again
- with the same value of the flush parameter and more output space (updated
- avail_out), until the flush is complete (deflate returns with non-zero
- avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
- avail_out is greater than six to avoid repeated flush markers due to
- avail_out == 0 on return.
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there was
- enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the stream
- are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least the
- value returned by deflateBound (see below). Then deflate is guaranteed to
- return Z_STREAM_END. If not enough output space is provided, deflate will
- not return Z_STREAM_END, and it must be called again as described above.
-
- deflate() sets strm->adler to the adler32 checksum of all input read
- so far (that is, total_in bytes).
-
- deflate() may update strm->data_type if it can make a good guess about
- the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect the
- compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
- (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
- fatal, and deflate() can be called again with more input and more output
- space to continue compressing.
-*/
-
-
-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any pending
- output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case, msg
- may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- next_in, avail_in, zalloc, zfree and opaque must be initialized before by
- the caller. If next_in is not Z_NULL and avail_in is large enough (the
- exact value depends on the compression method), inflateInit determines the
- compression method from the zlib header and allocates all data structures
- accordingly; otherwise the allocation will be deferred to the first call of
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
- use default allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller, or Z_STREAM_ERROR if the parameters are
- invalid, such as a null pointer to the structure. msg is set to null if
- there is no error message. inflateInit does not perform any decompression
- apart from possibly reading the zlib header if present: actual decompression
- will be done by inflate(). (So next_in and avail_in may be modified, but
- next_out and avail_out are unused and unchanged.) The current implementation
- of inflateInit() does not process any header information -- that is deferred
- until inflate() is called.
-*/
-
-
-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
-/*
- inflate decompresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce
- some output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. inflate performs one or both of the
- following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing will
- resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there is
- no more input data or no more space in the output buffer (see below about
- the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming more
- output, and updating the next_* and avail_* values accordingly. The
- application can consume the uncompressed output when it wants, for example
- when the output buffer is full (avail_out == 0), or after each call of
- inflate(). If inflate returns Z_OK and with zero avail_out, it must be
- called again after making room in the output buffer because there might be
- more output pending.
-
- The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH,
- Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much
- output as possible to the output buffer. Z_BLOCK requests that inflate()
- stop if and when it gets to the next deflate block boundary. When decoding
- the zlib or gzip format, this will cause inflate() to return immediately
- after the header and before the first block. When doing a raw inflate,
- inflate() will go ahead and process the first block, and will return when it
- gets to the end of that block, or when it runs out of data.
-
- The Z_BLOCK option assists in appending to or combining deflate streams.
- Also to assist in this, on return inflate() will set strm->data_type to the
- number of unused bits in the last byte taken from strm->next_in, plus 64 if
- inflate() is currently decoding the last block in the deflate stream, plus
- 128 if inflate() returned immediately after decoding an end-of-block code or
- decoding the complete header up to just before the first byte of the deflate
- stream. The end-of-block will not be indicated until all of the uncompressed
- data from that block has been written to strm->next_out. The number of
- unused bits may in general be greater than seven, except when bit 7 of
- data_type is set, in which case the number of unused bits will be less than
- eight. data_type is set as noted here every time inflate() returns for all
- flush options, and so can be used to determine the amount of currently
- consumed input in bits.
-
- The Z_TREES option behaves as Z_BLOCK does, but it also returns when the
- end of each deflate block header is reached, before any actual data in that
- block is decoded. This allows the caller to determine the length of the
- deflate block header for later use in random access within a deflate block.
- 256 is added to the value of strm->data_type when inflate() returns
- immediately after reaching the end of the deflate block header.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step (a
- single call of inflate), the parameter flush should be set to Z_FINISH. In
- this case all pending input is processed and all pending output is flushed;
- avail_out must be large enough to hold all the uncompressed data. (The size
- of the uncompressed data may have been saved by the compressor for this
- purpose.) The next operation on this stream must be inflateEnd to deallocate
- the decompression state. The use of Z_FINISH is not required to perform an
- inflation in one step. However it may be used to inform inflate that a
- faster approach can be used for the single inflate() call. Z_FINISH also
- informs inflate to not maintain a sliding window if the stream completes,
- which reduces inflate's memory footprint.
-
- In this implementation, inflate() always flushes as much output as
- possible to the output buffer, and always uses the faster approach on the
- first call. So the effects of the flush parameter in this implementation are
- on the return value of inflate() as noted below, when inflate() returns early
- when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of
- memory for a sliding window when Z_FINISH is used.
-
- If a preset dictionary is needed after this call (see inflateSetDictionary
- below), inflate sets strm->adler to the Adler-32 checksum of the dictionary
- chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
- strm->adler to the Adler-32 checksum of all output produced so far (that is,
- total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
- below. At the end of the stream, inflate() checks that its computed adler32
- checksum is equal to that saved by the compressor and returns Z_STREAM_END
- only if the checksum is correct.
-
- inflate() can decompress and check either zlib-wrapped or gzip-wrapped
- deflate data. The header type is detected automatically, if requested when
- initializing with inflateInit2(). Any information contained in the gzip
- header is not retained, so applications that need that information should
- instead use raw inflate, see inflateInit2() below, or inflateBack() and
- perform their own processing of the gzip header and trailer. When processing
- gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output
- producted so far. The CRC-32 is checked against the gzip trailer.
-
- inflate() returns Z_OK if some progress has been made (more input processed
- or more output produced), Z_STREAM_END if the end of the compressed data has
- been reached and all uncompressed output has been produced, Z_NEED_DICT if a
- preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
- corrupted (input stream not conforming to the zlib format or incorrect check
- value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
- next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory,
- Z_BUF_ERROR if no progress is possible or if there was not enough room in the
- output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
- inflate() can be called again with more input and more output space to
- continue decompressing. If Z_DATA_ERROR is returned, the application may
- then call inflateSync() to look for a good compression block if a partial
- recovery of the data is desired.
-*/
-
-
-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any pending
- output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by the
- caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library.
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library. Larger values of this parameter result in better
- compression at the expense of memory usage. The default value is 15 if
- deflateInit is used instead.
-
- windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
- determines the window size. deflate() will then generate raw deflate data
- with no zlib header or trailer, and will not compute an adler32 check value.
-
- windowBits can also be greater than 15 for optional gzip encoding. Add
- 16 to windowBits to write a simple gzip header and trailer around the
- compressed data instead of a zlib wrapper. The gzip header will have no
- file name, no extra data, no comment, no modification time (set to zero), no
- header crc, and the operating system will be set to 255 (unknown). If a
- gzip stream is being written, strm->adler is a crc32 instead of an adler32.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but is
- slow and reduces compression ratio; memLevel=9 uses maximum memory for
- optimal speed. The default value is 8. See zconf.h for total memory usage
- as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match), or Z_RLE to limit match distances to one (run-length
- encoding). Filtered data consists mostly of small values with a somewhat
- random distribution. In this case, the compression algorithm is tuned to
- compress them better. The effect of Z_FILTERED is to force more Huffman
- coding and less string matching; it is somewhat intermediate between
- Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as
- fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The
- strategy parameter only affects the compression ratio but not the
- correctness of the compressed output even if it is not set appropriately.
- Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler
- decoder for special applications.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid
- method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is
- incompatible with the version assumed by the caller (ZLIB_VERSION). msg is
- set to null if there is no error message. deflateInit2 does not perform any
- compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary from the given byte sequence
- without producing any compressed output. When using the zlib format, this
- function must be called immediately after deflateInit, deflateInit2 or
- deflateReset, and before any call of deflate. When doing raw deflate, this
- function must be called either before any call of deflate, or immediately
- after the completion of a deflate block, i.e. after all input has been
- consumed and all output has been delivered when using any of the flush
- options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The
- compressor and decompressor must use exactly the same dictionary (see
- inflateSetDictionary).
-
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and can be
- predicted with good accuracy; the data can then be compressed better than
- with the default empty dictionary.
-
- Depending on the size of the compression data structures selected by
- deflateInit or deflateInit2, a part of the dictionary may in effect be
- discarded, for example if the dictionary is larger than the window size
- provided in deflateInit or deflateInit2. Thus the strings most likely to be
- useful should be put at the end of the dictionary, not at the front. In
- addition, the current implementation of deflate will use at most the window
- size minus 262 bytes of the provided dictionary.
-
- Upon return of this function, strm->adler is set to the adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.) If a raw deflate was requested, then the
- adler32 value is not computed and strm->adler is not set.
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
- inconsistent (for example if deflate has already been called for this stream
- or if not at a block boundary for raw deflate). deflateSetDictionary does
- not perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and can
- consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being Z_NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state. The
- stream will keep the same compression level and any other attributes that
- may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being Z_NULL).
-*/
-
-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
- int level,
- int strategy));
-/*
- Dynamically update the compression level and compression strategy. The
- interpretation of level and strategy is as in deflateInit2. This can be
- used to switch between compression and straight copy of the input data, or
- to switch to a different kind of input data requiring a different strategy.
- If the compression level is changed, the input available so far is
- compressed with the old level (and may be flushed); the new level will take
- effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to be
- compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if
- strm->avail_out was zero.
-*/
-
-ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
- int good_length,
- int max_lazy,
- int nice_length,
- int max_chain));
-/*
- Fine tune deflate's internal compression parameters. This should only be
- used by someone who understands the algorithm used by zlib's deflate for
- searching for the best matching string, and even then only by the most
- fanatic optimizer trying to squeeze out the last compressed bit for their
- specific input data. Read the deflate.c source code for the meaning of the
- max_lazy, good_length, nice_length, and max_chain parameters.
-
- deflateTune() can be called after deflateInit() or deflateInit2(), and
- returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
- */
-
-ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
- uLong sourceLen));
-/*
- deflateBound() returns an upper bound on the compressed size after
- deflation of sourceLen bytes. It must be called after deflateInit() or
- deflateInit2(), and after deflateSetHeader(), if used. This would be used
- to allocate an output buffer for deflation in a single pass, and so would be
- called before deflate(). If that first deflate() call is provided the
- sourceLen input bytes, an output buffer allocated to the size returned by
- deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed
- to return Z_STREAM_END. Note that it is possible for the compressed size to
- be larger than the value returned by deflateBound() if flush options other
- than Z_FINISH or Z_NO_FLUSH are used.
-*/
-
-ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm,
- unsigned *pending,
- int *bits));
-/*
- deflatePending() returns the number of bytes and bits of output that have
- been generated, but not yet provided in the available output. The bytes not
- provided would be due to the available output space having being consumed.
- The number of bits of output not provided are between 0 and 7, where they
- await more bits to join them in order to fill out a full byte. If pending
- or bits are Z_NULL, then those values are not set.
-
- deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
- */
-
-ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- deflatePrime() inserts bits in the deflate output stream. The intent
- is that this function is used to start off the deflate output with the bits
- leftover from a previous deflate stream when appending to it. As such, this
- function can only be used for raw deflate, and must be used before the first
- deflate() call after a deflateInit2() or deflateReset(). bits must be less
- than or equal to 16, and that many of the least significant bits of value
- will be inserted in the output.
-
- deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough
- room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the
- source stream state was inconsistent.
-*/
-
-ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
- gz_headerp head));
-/*
- deflateSetHeader() provides gzip header information for when a gzip
- stream is requested by deflateInit2(). deflateSetHeader() may be called
- after deflateInit2() or deflateReset() and before the first call of
- deflate(). The text, time, os, extra field, name, and comment information
- in the provided gz_header structure are written to the gzip header (xflag is
- ignored -- the extra flags are set according to the compression level). The
- caller must assure that, if not Z_NULL, name and comment are terminated with
- a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
- available there. If hcrc is true, a gzip header crc is included. Note that
- the current versions of the command-line version of gzip (up through version
- 1.3.x) do not support header crc's, and will report that it is a "multi-part
- gzip file" and give up.
-
- If deflateSetHeader is not used, the default gzip header has text false,
- the time set to zero, and os set to 255, with no extra, name, or comment
- fields. The gzip header is returned to the default state by deflateReset().
-
- deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with an extra parameter. The
- fields next_in, avail_in, zalloc, zfree and opaque must be initialized
- before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library. The default value is 15 if inflateInit is used
- instead. windowBits must be greater than or equal to the windowBits value
- provided to deflateInit2() while compressing, or it must be equal to 15 if
- deflateInit2() was not used. If a compressed stream with a larger window
- size is given as input, inflate() will return with the error code
- Z_DATA_ERROR instead of trying to allocate a larger window.
-
- windowBits can also be zero to request that inflate use the window size in
- the zlib header of the compressed stream.
-
- windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
- determines the window size. inflate() will then process raw deflate data,
- not looking for a zlib or gzip header, not generating a check value, and not
- looking for any check values for comparison at the end of the stream. This
- is for use with other formats that use the deflate compressed data format
- such as zip. Those formats provide their own check values. If a custom
- format is developed using the raw deflate format for compressed data, it is
- recommended that a check value such as an adler32 or a crc32 be applied to
- the uncompressed data as is done in the zlib, gzip, and zip formats. For
- most applications, the zlib format should be used as is. Note that comments
- above on the use in deflateInit2() applies to the magnitude of windowBits.
-
- windowBits can also be greater than 15 for optional gzip decoding. Add
- 32 to windowBits to enable zlib and gzip decoding with automatic header
- detection, or add 16 to decode only the gzip format (the zlib format will
- return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
- crc32 instead of an adler32.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller, or Z_STREAM_ERROR if the parameters are
- invalid, such as a null pointer to the structure. msg is set to null if
- there is no error message. inflateInit2 does not perform any decompression
- apart from possibly reading the zlib header if present: actual decompression
- will be done by inflate(). (So next_in and avail_in may be modified, but
- next_out and avail_out are unused and unchanged.) The current implementation
- of inflateInit2() does not process any header information -- that is
- deferred until inflate() is called.
-*/
-
-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary from the given uncompressed byte
- sequence. This function must be called immediately after a call of inflate,
- if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
- can be determined from the adler32 value returned by that call of inflate.
- The compressor and decompressor must use exactly the same dictionary (see
- deflateSetDictionary). For raw inflate, this function can be called at any
- time to set the dictionary. If the provided dictionary is smaller than the
- window and there is already data in the window, then the provided dictionary
- will amend what's there. The application must insure that the dictionary
- that was used for compression is provided.
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until a possible full flush point (see above
- for the description of deflate with Z_FULL_FLUSH) can be found, or until all
- available input is skipped. No output is provided.
-
- inflateSync searches for a 00 00 FF FF pattern in the compressed data.
- All full flush points have this pattern, but not all occurences of this
- pattern are full flush points.
-
- inflateSync returns Z_OK if a possible full flush point has been found,
- Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point
- has been found, or Z_STREAM_ERROR if the stream structure was inconsistent.
- In the success case, the application may save the current current value of
- total_in which indicates where valid compressed data was found. In the
- error case, the application may repeatedly call inflateSync, providing more
- input each time, until success or end of the input data.
-*/
-
-ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when randomly accessing a large stream. The
- first pass through the stream can periodically record the inflate state,
- allowing restarting inflate at those points when randomly accessing the
- stream.
-
- inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being Z_NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state. The
- stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being Z_NULL).
-*/
-
-ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
- int windowBits));
-/*
- This function is the same as inflateReset, but it also permits changing
- the wrap and window size requests. The windowBits parameter is interpreted
- the same as it is for inflateInit2.
-
- inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being Z_NULL), or if
- the windowBits parameter is invalid.
-*/
-
-ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- This function inserts bits in the inflate input stream. The intent is
- that this function is used to start inflating at a bit position in the
- middle of a byte. The provided bits will be used before any bytes are used
- from next_in. This function should only be used with raw inflate, and
- should be used before the first inflate() call after inflateInit2() or
- inflateReset(). bits must be less than or equal to 16, and that many of the
- least significant bits of value will be inserted in the input.
-
- If bits is negative, then the input stream bit buffer is emptied. Then
- inflatePrime() can be called again to put bits in the buffer. This is used
- to clear out bits leftover after feeding inflate a block description prior
- to feeding inflate codes.
-
- inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
-/*
- This function returns two values, one in the lower 16 bits of the return
- value, and the other in the remaining upper bits, obtained by shifting the
- return value down 16 bits. If the upper value is -1 and the lower value is
- zero, then inflate() is currently decoding information outside of a block.
- If the upper value is -1 and the lower value is non-zero, then inflate is in
- the middle of a stored block, with the lower value equaling the number of
- bytes from the input remaining to copy. If the upper value is not -1, then
- it is the number of bits back from the current bit position in the input of
- the code (literal or length/distance pair) currently being processed. In
- that case the lower value is the number of bytes already emitted for that
- code.
-
- A code is being processed if inflate is waiting for more input to complete
- decoding of the code, or if it has completed decoding but is waiting for
- more output space to write the literal or match data.
-
- inflateMark() is used to mark locations in the input data for random
- access, which may be at bit positions, and to note those cases where the
- output of a code may span boundaries of random access blocks. The current
- location in the input stream can be determined from avail_in and data_type
- as noted in the description for the Z_BLOCK flush parameter for inflate.
-
- inflateMark returns the value noted above or -1 << 16 if the provided
- source stream state was inconsistent.
-*/
-
-ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
- gz_headerp head));
-/*
- inflateGetHeader() requests that gzip header information be stored in the
- provided gz_header structure. inflateGetHeader() may be called after
- inflateInit2() or inflateReset(), and before the first call of inflate().
- As inflate() processes the gzip stream, head->done is zero until the header
- is completed, at which time head->done is set to one. If a zlib stream is
- being decoded, then head->done is set to -1 to indicate that there will be
- no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be
- used to force inflate() to return immediately after header processing is
- complete and before any actual data is decompressed.
-
- The text, time, xflags, and os fields are filled in with the gzip header
- contents. hcrc is set to true if there is a header CRC. (The header CRC
- was valid if done is set to one.) If extra is not Z_NULL, then extra_max
- contains the maximum number of bytes to write to extra. Once done is true,
- extra_len contains the actual extra field length, and extra contains the
- extra field, or that field truncated if extra_max is less than extra_len.
- If name is not Z_NULL, then up to name_max characters are written there,
- terminated with a zero unless the length is greater than name_max. If
- comment is not Z_NULL, then up to comm_max characters are written there,
- terminated with a zero unless the length is greater than comm_max. When any
- of extra, name, or comment are not Z_NULL and the respective field is not
- present in the header, then that field is set to Z_NULL to signal its
- absence. This allows the use of deflateSetHeader() with the returned
- structure to duplicate the header. However if those fields are set to
- allocated memory, then the application will need to save those pointers
- elsewhere so that they can be eventually freed.
-
- If inflateGetHeader is not used, then the header information is simply
- discarded. The header is always checked for validity, including the header
- CRC if present. inflateReset() will reset the process to discard the header
- information. The application would need to call inflateGetHeader() again to
- retrieve the header from the next gzip stream.
-
- inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
- unsigned char FAR *window));
-
- Initialize the internal stream state for decompression using inflateBack()
- calls. The fields zalloc, zfree and opaque in strm must be initialized
- before the call. If zalloc and zfree are Z_NULL, then the default library-
- derived memory allocation routines are used. windowBits is the base two
- logarithm of the window size, in the range 8..15. window is a caller
- supplied buffer of that size. Except for special applications where it is
- assured that deflate was used with small window sizes, windowBits must be 15
- and a 32K byte window must be supplied to be able to decompress general
- deflate streams.
-
- See inflateBack() for the usage of these routines.
-
- inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
- the parameters are invalid, Z_MEM_ERROR if the internal state could not be
- allocated, or Z_VERSION_ERROR if the version of the library does not match
- the version of the header file.
-*/
-
-typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
-typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
-
-ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
- in_func in, void FAR *in_desc,
- out_func out, void FAR *out_desc));
-/*
- inflateBack() does a raw inflate with a single call using a call-back
- interface for input and output. This is more efficient than inflate() for
- file i/o applications in that it avoids copying between the output and the
- sliding window by simply making the window itself the output buffer. This
- function trusts the application to not change the output buffer passed by
- the output function, at least until inflateBack() returns.
-
- inflateBackInit() must be called first to allocate the internal state
- and to initialize the state with the user-provided window buffer.
- inflateBack() may then be used multiple times to inflate a complete, raw
- deflate stream with each call. inflateBackEnd() is then called to free the
- allocated state.
-
- A raw deflate stream is one with no zlib or gzip header or trailer.
- This routine would normally be used in a utility that reads zip or gzip
- files and writes out uncompressed files. The utility would decode the
- header and process the trailer on its own, hence this routine expects only
- the raw deflate stream to decompress. This is different from the normal
- behavior of inflate(), which expects either a zlib or gzip header and
- trailer around the deflate stream.
-
- inflateBack() uses two subroutines supplied by the caller that are then
- called by inflateBack() for input and output. inflateBack() calls those
- routines until it reads a complete deflate stream and writes out all of the
- uncompressed data, or until it encounters an error. The function's
- parameters and return types are defined above in the in_func and out_func
- typedefs. inflateBack() will call in(in_desc, &buf) which should return the
- number of bytes of provided input, and a pointer to that input in buf. If
- there is no input available, in() must return zero--buf is ignored in that
- case--and inflateBack() will return a buffer error. inflateBack() will call
- out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
- should return zero on success, or non-zero on failure. If out() returns
- non-zero, inflateBack() will return with an error. Neither in() nor out()
- are permitted to change the contents of the window provided to
- inflateBackInit(), which is also the buffer that out() uses to write from.
- The length written by out() will be at most the window size. Any non-zero
- amount of input may be provided by in().
-
- For convenience, inflateBack() can be provided input on the first call by
- setting strm->next_in and strm->avail_in. If that input is exhausted, then
- in() will be called. Therefore strm->next_in must be initialized before
- calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
- immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
- must also be initialized, and then if strm->avail_in is not zero, input will
- initially be taken from strm->next_in[0 .. strm->avail_in - 1].
-
- The in_desc and out_desc parameters of inflateBack() is passed as the
- first parameter of in() and out() respectively when they are called. These
- descriptors can be optionally used to pass any information that the caller-
- supplied in() and out() functions need to do their job.
-
- On return, inflateBack() will set strm->next_in and strm->avail_in to
- pass back any unused input that was provided by the last in() call. The
- return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
- if in() or out() returned an error, Z_DATA_ERROR if there was a format error
- in the deflate stream (in which case strm->msg is set to indicate the nature
- of the error), or Z_STREAM_ERROR if the stream was not properly initialized.
- In the case of Z_BUF_ERROR, an input or output error can be distinguished
- using strm->next_in which will be Z_NULL only if in() returned an error. If
- strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
- non-zero. (in() will always be called before out(), so strm->next_in is
- assured to be defined if out() returns non-zero.) Note that inflateBack()
- cannot return Z_OK.
-*/
-
-ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
-/*
- All memory allocated by inflateBackInit() is freed.
-
- inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
- state was inconsistent.
-*/
-
-ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
-/* Return flags indicating compile-time options.
-
- Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
- 1.0: size of uInt
- 3.2: size of uLong
- 5.4: size of voidpf (pointer)
- 7.6: size of z_off_t
-
- Compiler, assembler, and debug options:
- 8: DEBUG
- 9: ASMV or ASMINF -- use ASM code
- 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
- 11: 0 (reserved)
-
- One-time table building (smaller code, but not thread-safe if true):
- 12: BUILDFIXED -- build static block decoding tables when needed
- 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
- 14,15: 0 (reserved)
-
- Library content (indicates missing functionality):
- 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
- deflate code when not needed)
- 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
- and decode gzip streams (to avoid linking crc code)
- 18-19: 0 (reserved)
-
- Operation variations (changes in library functionality):
- 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
- 21: FASTEST -- deflate algorithm with only one, lowest compression level
- 22,23: 0 (reserved)
-
- The sprintf variant used by gzprintf (zero is best):
- 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
- 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
- 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
-
- Remainder:
- 27-31: 0 (reserved)
- */
-
-#ifndef Z_SOLO
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the basic
- stream-oriented functions. To simplify the interface, some default options
- are assumed (compression level and memory usage, standard memory allocation
- functions). The source code of these utility functions can be modified if
- you need special options.
-*/
-
-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total size
- of the destination buffer, which must be at least the value returned by
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
-
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen,
- int level));
-/*
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least the value returned by
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-
-ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
-/*
- compressBound() returns an upper bound on the compressed size after
- compress() or compress2() on sourceLen bytes. It would be used before a
- compress() or compress2() call to allocate the destination buffer.
-*/
-
-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total size
- of the destination buffer, which must be large enough to hold the entire
- uncompressed data. (The size of the uncompressed data must have been saved
- previously by the compressor and transmitted to the decompressor by some
- mechanism outside the scope of this compression library.) Upon exit, destLen
- is the actual size of the uncompressed buffer.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In
- the case where there is not enough room, uncompress() will fill the output
- buffer with the uncompressed data up to that point.
-*/
-
- /* gzip file access functions */
-
-/*
- This library supports reading and writing files in gzip (.gz) format with
- an interface similar to that of stdio, using the functions that start with
- "gz". The gzip format is different from the zlib format. gzip is a gzip
- wrapper, documented in RFC 1952, wrapped around a deflate stream.
-*/
-
-typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */
-
-/*
-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
-
- Opens a gzip (.gz) file for reading or writing. The mode parameter is as
- in fopen ("rb" or "wb") but can also include a compression level ("wb9") or
- a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
- compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
- for fixed code compression as in "wb9F". (See the description of
- deflateInit2 for more information about the strategy parameter.) 'T' will
- request transparent writing or appending with no compression and not using
- the gzip format.
-
- "a" can be used instead of "w" to request that the gzip stream that will
- be written be appended to the file. "+" will result in an error, since
- reading and writing to the same gzip file is not supported.
-
- These functions, as well as gzip, will read and decode a sequence of gzip
- streams in a file. The append function of gzopen() can be used to create
- such a file. (Also see gzflush() for another way to do this.) When
- appending, gzopen does not test whether the file begins with a gzip stream,
- nor does it look for the end of the gzip streams to begin appending. gzopen
- will simply append a gzip stream to the existing file.
-
- gzopen can be used to read a file which is not in gzip format; in this
- case gzread will directly read from the file without decompression. When
- reading, this will be detected automatically by looking for the magic two-
- byte gzip header.
-
- gzopen returns NULL if the file could not be opened, if there was
- insufficient memory to allocate the gzFile state, or if an invalid mode was
- specified (an 'r', 'w', or 'a' was not provided, or '+' was provided).
- errno can be checked to determine if the reason gzopen failed was that the
- file could not be opened.
-*/
-
-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen associates a gzFile with the file descriptor fd. File descriptors
- are obtained from calls like open, dup, creat, pipe or fileno (if the file
- has been previously opened with fopen). The mode parameter is as in gzopen.
-
- The next call of gzclose on the returned gzFile will also close the file
- descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
- fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
- mode);. The duplicated descriptor should be saved to avoid a leak, since
- gzdopen does not close fd if it fails. If you are using fileno() to get the
- file descriptor from a FILE *, then you will have to use dup() to avoid
- double-close()ing the file descriptor. Both gzclose() and fclose() will
- close the associated file descriptor, so they need to have different file
- descriptors.
-
- gzdopen returns NULL if there was insufficient memory to allocate the
- gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
- provided, or '+' was provided), or if fd is -1. The file descriptor is not
- used until the next gz* read, write, seek, or close operation, so gzdopen
- will not detect if fd is invalid (unless fd is -1).
-*/
-
-ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
-/*
- Set the internal buffer size used by this library's functions. The
- default buffer size is 8192 bytes. This function must be called after
- gzopen() or gzdopen(), and before any other calls that read or write the
- file. The buffer memory allocation is always deferred to the first read or
- write. Two buffers are allocated, either both of the specified size when
- writing, or one of the specified size and the other twice that size when
- reading. A larger buffer size of, for example, 64K or 128K bytes will
- noticeably increase the speed of decompression (reading).
-
- The new buffer size also affects the maximum length for gzprintf().
-
- gzbuffer() returns 0 on success, or -1 on failure, such as being called
- too late.
-*/
-
-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
-/*
- Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters.
-
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
- opened for writing.
-*/
-
-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file. If
- the input file is not in gzip format, gzread copies the given number of
- bytes into the buffer directly from the file.
-
- After reaching the end of a gzip stream in the input, gzread will continue
- to read, looking for another gzip stream. Any number of gzip streams may be
- concatenated in the input file, and will all be decompressed by gzread().
- If something other than a gzip stream is encountered after a gzip stream,
- that remaining trailing garbage is ignored (and no error is returned).
-
- gzread can be used to read a gzip file that is being concurrently written.
- Upon reaching the end of the input, gzread will return with the available
- data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then
- gzclearerr can be used to clear the end of file indicator in order to permit
- gzread to be tried again. Z_OK indicates that a gzip stream was completed
- on the last gzread. Z_BUF_ERROR indicates that the input file ended in the
- middle of a gzip stream. Note that gzread does not return -1 in the event
- of an incomplete gzip stream. This error is deferred until gzclose(), which
- will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip
- stream. Alternatively, gzerror can be used before gzclose to detect this
- case.
-
- gzread returns the number of uncompressed bytes actually read, less than
- len for end of file, or -1 for error.
-*/
-
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- voidpc buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes written or 0 in case of
- error.
-*/
-
-ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
-/*
- Converts, formats, and writes the arguments to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written, or 0 in case of error. The number of
- uncompressed bytes written is limited to 8191, or one less than the buffer
- size given to gzbuffer(). The caller should assure that this limit is not
- exceeded. If it is exceeded, then gzprintf() will return an error (0) with
- nothing written. In this case, there may also be a buffer overflow with
- unpredictable consequences, which is possible only if zlib was compiled with
- the insecure functions sprintf() or vsprintf() because the secure snprintf()
- or vsnprintf() functions were not available. This can be determined using
- zlibCompileFlags().
-*/
-
-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
-/*
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
-
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-
-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
-/*
- Reads bytes from the compressed file until len-1 characters are read, or a
- newline character is read and transferred to buf, or an end-of-file
- condition is encountered. If any characters are read or if len == 1, the
- string is terminated with a null character. If no characters are read due
- to an end-of-file or len < 1, then the buffer is left untouched.
-
- gzgets returns buf which is a null-terminated string, or it returns NULL
- for end-of-file or in case of error. If there was an error, the contents at
- buf are indeterminate.
-*/
-
-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
-/*
- Writes c, converted to an unsigned char, into the compressed file. gzputc
- returns the value that was written, or -1 in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
-/*
- Reads one byte from the compressed file. gzgetc returns this byte or -1
- in case of end of file or error. This is implemented as a macro for speed.
- As such, it does not do all of the checking the other functions do. I.e.
- it does not check to see if file is NULL, nor whether the structure file
- points to has been clobbered or not.
-*/
-
-ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
-/*
- Push one character back onto the stream to be read as the first character
- on the next read. At least one character of push-back is allowed.
- gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
- fail if c is -1, and may fail if a character has been pushed but not read
- yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
- output buffer size of pushed characters is allowed. (See gzbuffer above.)
- The pushed character will be discarded if the stream is repositioned with
- gzseek() or gzrewind().
-*/
-
-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter flush
- is as in the deflate() function. The return value is the zlib error number
- (see function gzerror below). gzflush is only permitted when writing.
-
- If the flush parameter is Z_FINISH, the remaining data is written and the
- gzip stream is completed in the output. If gzwrite() is called again, a new
- gzip stream will be started in the output. gzread() is able to read such
- concatented gzip streams.
-
- gzflush should be called only when strictly necessary because it will
- degrade compression if called too often.
-*/
-
-/*
-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
- z_off_t offset, int whence));
-
- Sets the starting position for the next gzread or gzwrite on the given
- compressed file. The offset represents a number of bytes in the
- uncompressed data stream. The whence parameter is defined as in lseek(2);
- the value SEEK_END is not supported.
-
- If the file is opened for reading, this function is emulated but can be
- extremely slow. If the file is opened for writing, only forward seeks are
- supported; gzseek then compresses a sequence of zeroes up to the new
- starting position.
-
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error, in
- particular if the file is opened for writing and the new starting position
- would be before the current position.
-*/
-
-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
-/*
- Rewinds the given file. This function is supported only for reading.
-
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
-*/
-
-/*
-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
-
- Returns the starting position for the next gzread or gzwrite on the given
- compressed file. This position represents a number of bytes in the
- uncompressed data stream, and is zero when starting, even if appending or
- reading a gzip stream from the middle of a file using gzdopen().
-
- gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
-*/
-
-/*
-ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
-
- Returns the current offset in the file being read or written. This offset
- includes the count of bytes that precede the gzip stream, for example when
- appending or when using gzdopen() for reading. When reading, the offset
- does not include as yet unused buffered input. This information can be used
- for a progress indicator. On error, gzoffset() returns -1.
-*/
-
-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
-/*
- Returns true (1) if the end-of-file indicator has been set while reading,
- false (0) otherwise. Note that the end-of-file indicator is set only if the
- read tried to go past the end of the input, but came up short. Therefore,
- just like feof(), gzeof() may return false even if there is no more data to
- read, in the event that the last read request was for the exact number of
- bytes remaining in the input file. This will happen if the input file size
- is an exact multiple of the buffer size.
-
- If gzeof() returns true, then the read functions will return no more data,
- unless the end-of-file indicator is reset by gzclearerr() and the input file
- has grown since the previous end of file was detected.
-*/
-
-ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
-/*
- Returns true (1) if file is being copied directly while reading, or false
- (0) if file is a gzip stream being decompressed.
-
- If the input file is empty, gzdirect() will return true, since the input
- does not contain a gzip stream.
-
- If gzdirect() is used immediately after gzopen() or gzdopen() it will
- cause buffers to be allocated to allow reading the file to determine if it
- is a gzip file. Therefore if gzbuffer() is used, it should be called before
- gzdirect().
-
- When writing, gzdirect() returns true (1) if transparent writing was
- requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note:
- gzdirect() is not needed when writing. Transparent writing must be
- explicitly requested, so the application already knows the answer. When
- linking statically, using gzdirect() will include all of the zlib code for
- gzip file reading and decompression, which may not be desired.)
-*/
-
-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file and
- deallocates the (de)compression state. Note that once file is closed, you
- cannot call gzerror with file, since its structures have been deallocated.
- gzclose must not be called more than once on the same file, just as free
- must not be called more than once on the same allocation.
-
- gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
- file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the
- last read ended in the middle of a gzip stream, or Z_OK on success.
-*/
-
-ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
-ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
-/*
- Same as gzclose(), but gzclose_r() is only for use when reading, and
- gzclose_w() is only for use when writing or appending. The advantage to
- using these instead of gzclose() is that they avoid linking in zlib
- compression or decompression code that is not used when only reading or only
- writing respectively. If gzclose() is used, then both compression and
- decompression code will be included the application when linking to a static
- zlib library.
-*/
-
-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the given
- compressed file. errnum is set to zlib error number. If an error occurred
- in the file system and not in the compression library, errnum is set to
- Z_ERRNO and the application may consult errno to get the exact error code.
-
- The application must not modify the returned string. Future calls to
- this function may invalidate the previously returned string. If file is
- closed, then the string previously returned by gzerror will no longer be
- available.
-
- gzerror() should be used to distinguish errors from end-of-file for those
- functions above that do not distinguish those cases in their return values.
-*/
-
-ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
-/*
- Clears the error and end-of-file flags for file. This is analogous to the
- clearerr() function in stdio. This is useful for continuing to read a gzip
- file that is being written concurrently.
-*/
-
-#endif /* !Z_SOLO */
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the compression
- library.
-*/
-
-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is Z_NULL, this function returns the
- required initial value for the checksum.
-
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster.
-
- Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-/*
-ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
- z_off_t len2));
-
- Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
- and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
- each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
- seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note
- that the z_off_t type (like off_t) is a signed integer. If len2 is
- negative, the result has no meaning or utility.
-*/
-
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running CRC-32 with the bytes buf[0..len-1] and return the
- updated CRC-32. If buf is Z_NULL, this function returns the required
- initial value for the for the crc. Pre- and post-conditioning (one's
- complement) is performed within this function so it shouldn't be done by the
- application.
-
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-/*
-ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
-
- Combine two CRC-32 check values into one. For two sequences of bytes,
- seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
- calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
- check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
- len2.
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel,
- int strategy, const char *version,
- int stream_size));
-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
- unsigned char FAR *window,
- const char *version,
- int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
- (int)sizeof(z_stream))
-#define inflateBackInit(strm, windowBits, window) \
- inflateBackInit_((strm), (windowBits), (window), \
- ZLIB_VERSION, (int)sizeof(z_stream))
-
-#ifndef Z_SOLO
-
-/* gzgetc() macro and its supporting function and exposed data structure. Note
- * that the real internal state is much larger than the exposed structure.
- * This abbreviated structure exposes just enough for the gzgetc() macro. The
- * user should not mess with these exposed elements, since their names or
- * behavior could change in the future, perhaps even capriciously. They can
- * only be used by the gzgetc() macro. You have been warned.
- */
-struct gzFile_s {
- unsigned have;
- unsigned char *next;
- z_off64_t pos;
-};
-ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));
-#define gzgetc(g) \
- ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc_(g))
-
-/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
- * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
- * both are true, the application gets the *64 functions, and the regular
- * functions are changed to 64 bits) -- in case these are set on systems
- * without large file support, _LFS64_LARGEFILE must also be true
- */
-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
- ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
- ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
- ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
- ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
- ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
-#endif
-
-#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
-# ifdef Z_PREFIX_SET
-# define z_gzopen z_gzopen64
-# define z_gzseek z_gzseek64
-# define z_gztell z_gztell64
-# define z_gzoffset z_gzoffset64
-# define z_adler32_combine z_adler32_combine64
-# define z_crc32_combine z_crc32_combine64
-# else
-# define gzopen gzopen64
-# define gzseek gzseek64
-# define gztell gztell64
-# define gzoffset gzoffset64
-# define adler32_combine adler32_combine64
-# define crc32_combine crc32_combine64
-# endif
-# ifndef _LARGEFILE64_SOURCE
- ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
- ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
- ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
- ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
- ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
-# endif
-#else
- ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
- ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));
- ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));
- ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
- ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
-#endif
-
-#else /* Z_SOLO */
-
- ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
-
-#endif /* !Z_SOLO */
-
-/* hack for buggy compilers */
-#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;};
-#endif
-
-/* undocumented functions */
-ZEXTERN const char * ZEXPORT zError OF((int));
-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
-ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
-ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
-ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
-#ifndef Z_SOLO
- ZEXTERN unsigned long ZEXPORT gzflags OF((void));
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ZLIB_H */
+++ /dev/null
-libzdll.a
\ No newline at end of file
+++ /dev/null
-prefix=/usr/local
-exec_prefix=/usr/local
-libdir=/tmp/zlib-1.2.6.out/usr/local/lib
-sharedlibdir=/tmp/zlib-1.2.6.out/usr/local/lib
-includedir=/tmp/zlib-1.2.6.out/usr/local/include
-
-Name: zlib
-Description: zlib compression library
-Version: 1.2.6
-
-Requires:
-Libs: -L${libdir} -L${sharedlibdir} -lz
-Cflags: -I${includedir}