From 50204244016f4e84944e6826d707bf3cec1629f8 Mon Sep 17 00:00:00 2001 From: bones_was_here Date: Mon, 25 Dec 2023 19:31:16 +1000 Subject: [PATCH] Remove builddeps: win32/dx win64/dx win32/zlib win64/zlib We're autobuilding zlib and developers can install it from MSYS2 pacman, dx is obsolete. --- .../win32/dx/include/_mingw_dxhelper.h | 102 - misc/builddeps/win32/dx/include/d3d.h | 1531 ----- misc/builddeps/win32/dx/include/d3d10.h | 5603 ----------------- misc/builddeps/win32/dx/include/d3d10.idl | 1539 ----- misc/builddeps/win32/dx/include/d3d10effect.h | 788 --- misc/builddeps/win32/dx/include/d3d10misc.h | 46 - misc/builddeps/win32/dx/include/d3d10shader.h | 137 - misc/builddeps/win32/dx/include/d3d8.h | 1145 ---- misc/builddeps/win32/dx/include/d3d8caps.h | 286 - misc/builddeps/win32/dx/include/d3d8types.h | 1221 ---- misc/builddeps/win32/dx/include/d3d9.h | 2031 ------ misc/builddeps/win32/dx/include/d3d9caps.h | 395 -- misc/builddeps/win32/dx/include/d3d9types.h | 1582 ----- misc/builddeps/win32/dx/include/d3dcaps.h | 432 -- misc/builddeps/win32/dx/include/d3dhal.h | 535 -- misc/builddeps/win32/dx/include/d3drm.h | 497 -- misc/builddeps/win32/dx/include/d3drmdef.h | 266 - misc/builddeps/win32/dx/include/d3drmobj.h | 3033 --------- misc/builddeps/win32/dx/include/d3dtypes.h | 1374 ---- misc/builddeps/win32/dx/include/d3dvec.inl | 141 - misc/builddeps/win32/dx/include/d3dx9.h | 54 - misc/builddeps/win32/dx/include/d3dx9core.h | 496 -- misc/builddeps/win32/dx/include/d3dx9effect.h | 394 -- misc/builddeps/win32/dx/include/d3dx9math.h | 432 -- misc/builddeps/win32/dx/include/d3dx9math.inl | 1268 ---- misc/builddeps/win32/dx/include/d3dx9mesh.h | 141 - misc/builddeps/win32/dx/include/d3dx9shader.h | 349 - misc/builddeps/win32/dx/include/d3dx9shape.h | 39 - misc/builddeps/win32/dx/include/d3dx9tex.h | 698 -- misc/builddeps/win32/dx/include/ddraw.h | 4844 -------------- misc/builddeps/win32/dx/include/dinput.h | 1849 ------ misc/builddeps/win32/dx/include/dsound.h | 1200 ---- misc/builddeps/win32/dx/include/wspiapi.h | 1061 ---- misc/builddeps/win32/dx/include/zconf.h | 466 -- misc/builddeps/win32/zlib/bin/zlib1.dll | Bin 82432 -> 0 bytes misc/builddeps/win32/zlib/include/zlib.h | 1732 ----- misc/builddeps/win32/zlib/lib/libz.a | Bin 127278 -> 0 bytes misc/builddeps/win32/zlib/lib/libz.dll.a | 1 - misc/builddeps/win32/zlib/lib/libzdll.a | Bin 38996 -> 0 bytes .../win32/zlib/lib/pkgconfig/zlib.pc | 13 - .../win64/dx/include/_mingw_dxhelper.h | 102 - misc/builddeps/win64/dx/include/d3d.h | 1531 ----- misc/builddeps/win64/dx/include/d3d10.h | 5603 ----------------- misc/builddeps/win64/dx/include/d3d10.idl | 1539 ----- misc/builddeps/win64/dx/include/d3d10effect.h | 788 --- misc/builddeps/win64/dx/include/d3d10misc.h | 46 - misc/builddeps/win64/dx/include/d3d10shader.h | 137 - misc/builddeps/win64/dx/include/d3d8.h | 1145 ---- misc/builddeps/win64/dx/include/d3d8caps.h | 286 - misc/builddeps/win64/dx/include/d3d8types.h | 1221 ---- misc/builddeps/win64/dx/include/d3d9.h | 2031 ------ misc/builddeps/win64/dx/include/d3d9caps.h | 395 -- misc/builddeps/win64/dx/include/d3d9types.h | 1582 ----- misc/builddeps/win64/dx/include/d3dcaps.h | 432 -- misc/builddeps/win64/dx/include/d3dhal.h | 535 -- misc/builddeps/win64/dx/include/d3drm.h | 497 -- misc/builddeps/win64/dx/include/d3drmdef.h | 266 - misc/builddeps/win64/dx/include/d3drmobj.h | 3033 --------- misc/builddeps/win64/dx/include/d3dtypes.h | 1374 ---- misc/builddeps/win64/dx/include/d3dvec.inl | 141 - misc/builddeps/win64/dx/include/d3dx9.h | 54 - misc/builddeps/win64/dx/include/d3dx9core.h | 496 -- misc/builddeps/win64/dx/include/d3dx9effect.h | 394 -- misc/builddeps/win64/dx/include/d3dx9math.h | 432 -- misc/builddeps/win64/dx/include/d3dx9math.inl | 1268 ---- misc/builddeps/win64/dx/include/d3dx9mesh.h | 141 - misc/builddeps/win64/dx/include/d3dx9shader.h | 349 - misc/builddeps/win64/dx/include/d3dx9shape.h | 39 - misc/builddeps/win64/dx/include/d3dx9tex.h | 698 -- misc/builddeps/win64/dx/include/ddraw.h | 4844 -------------- misc/builddeps/win64/dx/include/dinput.h | 1849 ------ misc/builddeps/win64/dx/include/dsound.h | 1200 ---- misc/builddeps/win64/dx/include/zconf.h | 466 -- misc/builddeps/win64/zlib/bin/zlib1.dll | Bin 89600 -> 0 bytes misc/builddeps/win64/zlib/include/zlib.h | 1732 ----- misc/builddeps/win64/zlib/lib/libz.a | Bin 142856 -> 0 bytes misc/builddeps/win64/zlib/lib/libz.dll.a | 1 - misc/builddeps/win64/zlib/lib/libzdll.a | Bin 39110 -> 0 bytes .../win64/zlib/lib/pkgconfig/zlib.pc | 13 - 79 files changed, 74381 deletions(-) delete mode 100644 misc/builddeps/win32/dx/include/_mingw_dxhelper.h delete mode 100644 misc/builddeps/win32/dx/include/d3d.h delete mode 100644 misc/builddeps/win32/dx/include/d3d10.h delete mode 100644 misc/builddeps/win32/dx/include/d3d10.idl delete mode 100644 misc/builddeps/win32/dx/include/d3d10effect.h delete mode 100644 misc/builddeps/win32/dx/include/d3d10misc.h delete mode 100644 misc/builddeps/win32/dx/include/d3d10shader.h delete mode 100644 misc/builddeps/win32/dx/include/d3d8.h delete mode 100644 misc/builddeps/win32/dx/include/d3d8caps.h delete mode 100644 misc/builddeps/win32/dx/include/d3d8types.h delete mode 100644 misc/builddeps/win32/dx/include/d3d9.h delete mode 100644 misc/builddeps/win32/dx/include/d3d9caps.h delete mode 100644 misc/builddeps/win32/dx/include/d3d9types.h delete mode 100644 misc/builddeps/win32/dx/include/d3dcaps.h delete mode 100644 misc/builddeps/win32/dx/include/d3dhal.h delete mode 100644 misc/builddeps/win32/dx/include/d3drm.h delete mode 100644 misc/builddeps/win32/dx/include/d3drmdef.h delete mode 100644 misc/builddeps/win32/dx/include/d3drmobj.h delete mode 100644 misc/builddeps/win32/dx/include/d3dtypes.h delete mode 100644 misc/builddeps/win32/dx/include/d3dvec.inl delete mode 100644 misc/builddeps/win32/dx/include/d3dx9.h delete mode 100644 misc/builddeps/win32/dx/include/d3dx9core.h delete mode 100644 misc/builddeps/win32/dx/include/d3dx9effect.h delete mode 100644 misc/builddeps/win32/dx/include/d3dx9math.h delete mode 100644 misc/builddeps/win32/dx/include/d3dx9math.inl delete mode 100644 misc/builddeps/win32/dx/include/d3dx9mesh.h delete mode 100644 misc/builddeps/win32/dx/include/d3dx9shader.h delete mode 100644 misc/builddeps/win32/dx/include/d3dx9shape.h delete mode 100644 misc/builddeps/win32/dx/include/d3dx9tex.h delete mode 100644 misc/builddeps/win32/dx/include/ddraw.h delete mode 100644 misc/builddeps/win32/dx/include/dinput.h delete mode 100644 misc/builddeps/win32/dx/include/dsound.h delete mode 100644 misc/builddeps/win32/dx/include/wspiapi.h delete mode 100644 misc/builddeps/win32/dx/include/zconf.h delete mode 100755 misc/builddeps/win32/zlib/bin/zlib1.dll delete mode 100644 misc/builddeps/win32/zlib/include/zlib.h delete mode 100644 misc/builddeps/win32/zlib/lib/libz.a delete mode 120000 misc/builddeps/win32/zlib/lib/libz.dll.a delete mode 100644 misc/builddeps/win32/zlib/lib/libzdll.a delete mode 100644 misc/builddeps/win32/zlib/lib/pkgconfig/zlib.pc delete mode 100644 misc/builddeps/win64/dx/include/_mingw_dxhelper.h delete mode 100644 misc/builddeps/win64/dx/include/d3d.h delete mode 100644 misc/builddeps/win64/dx/include/d3d10.h delete mode 100644 misc/builddeps/win64/dx/include/d3d10.idl delete mode 100644 misc/builddeps/win64/dx/include/d3d10effect.h delete mode 100644 misc/builddeps/win64/dx/include/d3d10misc.h delete mode 100644 misc/builddeps/win64/dx/include/d3d10shader.h delete mode 100644 misc/builddeps/win64/dx/include/d3d8.h delete mode 100644 misc/builddeps/win64/dx/include/d3d8caps.h delete mode 100644 misc/builddeps/win64/dx/include/d3d8types.h delete mode 100644 misc/builddeps/win64/dx/include/d3d9.h delete mode 100644 misc/builddeps/win64/dx/include/d3d9caps.h delete mode 100644 misc/builddeps/win64/dx/include/d3d9types.h delete mode 100644 misc/builddeps/win64/dx/include/d3dcaps.h delete mode 100644 misc/builddeps/win64/dx/include/d3dhal.h delete mode 100644 misc/builddeps/win64/dx/include/d3drm.h delete mode 100644 misc/builddeps/win64/dx/include/d3drmdef.h delete mode 100644 misc/builddeps/win64/dx/include/d3drmobj.h delete mode 100644 misc/builddeps/win64/dx/include/d3dtypes.h delete mode 100644 misc/builddeps/win64/dx/include/d3dvec.inl delete mode 100644 misc/builddeps/win64/dx/include/d3dx9.h delete mode 100644 misc/builddeps/win64/dx/include/d3dx9core.h delete mode 100644 misc/builddeps/win64/dx/include/d3dx9effect.h delete mode 100644 misc/builddeps/win64/dx/include/d3dx9math.h delete mode 100644 misc/builddeps/win64/dx/include/d3dx9math.inl delete mode 100644 misc/builddeps/win64/dx/include/d3dx9mesh.h delete mode 100644 misc/builddeps/win64/dx/include/d3dx9shader.h delete mode 100644 misc/builddeps/win64/dx/include/d3dx9shape.h delete mode 100644 misc/builddeps/win64/dx/include/d3dx9tex.h delete mode 100644 misc/builddeps/win64/dx/include/ddraw.h delete mode 100644 misc/builddeps/win64/dx/include/dinput.h delete mode 100644 misc/builddeps/win64/dx/include/dsound.h delete mode 100644 misc/builddeps/win64/dx/include/zconf.h delete mode 100755 misc/builddeps/win64/zlib/bin/zlib1.dll delete mode 100644 misc/builddeps/win64/zlib/include/zlib.h delete mode 100644 misc/builddeps/win64/zlib/lib/libz.a delete mode 120000 misc/builddeps/win64/zlib/lib/libz.dll.a delete mode 100644 misc/builddeps/win64/zlib/lib/libzdll.a delete mode 100644 misc/builddeps/win64/zlib/lib/pkgconfig/zlib.pc diff --git a/misc/builddeps/win32/dx/include/_mingw_dxhelper.h b/misc/builddeps/win32/dx/include/_mingw_dxhelper.h deleted file mode 100644 index e13408c0..00000000 --- a/misc/builddeps/win32/dx/include/_mingw_dxhelper.h +++ /dev/null @@ -1,102 +0,0 @@ -/** - * 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 */ - diff --git a/misc/builddeps/win32/dx/include/d3d.h b/misc/builddeps/win32/dx/include/d3d.h deleted file mode 100644 index 409be1b1..00000000 --- a/misc/builddeps/win32/dx/include/d3d.h +++ /dev/null @@ -1,1531 +0,0 @@ -/* - * 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 - -#define COM_NO_WINDOWS_H -#include -#include /* must precede d3dcaps.h */ -#include - -/***************************************************************************** - * 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 */ diff --git a/misc/builddeps/win32/dx/include/d3d10.h b/misc/builddeps/win32/dx/include/d3d10.h deleted file mode 100644 index dd6ea6ce..00000000 --- a/misc/builddeps/win32/dx/include/d3d10.h +++ /dev/null @@ -1,5603 +0,0 @@ -/*** Autogenerated by WIDL 1.2-rc3 from d3d10.idl - Do not edit ***/ - -#include -#include - -#ifndef __WIDL_D3D10_H -#define __WIDL_D3D10_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Headers for imported files */ - -#include -#include -#include - -/* 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 */ diff --git a/misc/builddeps/win32/dx/include/d3d10.idl b/misc/builddeps/win32/dx/include/d3d10.idl deleted file mode 100644 index 62059177..00000000 --- a/misc/builddeps/win32/dx/include/d3d10.idl +++ /dev/null @@ -1,1539 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win32/dx/include/d3d10effect.h b/misc/builddeps/win32/dx/include/d3d10effect.h deleted file mode 100644 index e020583a..00000000 --- a/misc/builddeps/win32/dx/include/d3d10effect.h +++ /dev/null @@ -1,788 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win32/dx/include/d3d10misc.h b/misc/builddeps/win32/dx/include/d3d10misc.h deleted file mode 100644 index 58a6d26d..00000000 --- a/misc/builddeps/win32/dx/include/d3d10misc.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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__ */ diff --git a/misc/builddeps/win32/dx/include/d3d10shader.h b/misc/builddeps/win32/dx/include/d3d10shader.h deleted file mode 100644 index 99b123c6..00000000 --- a/misc/builddeps/win32/dx/include/d3d10shader.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win32/dx/include/d3d8.h b/misc/builddeps/win32/dx/include/d3d8.h deleted file mode 100644 index 46e0812d..00000000 --- a/misc/builddeps/win32/dx/include/d3d8.h +++ /dev/null @@ -1,1145 +0,0 @@ -/* - * 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 - -#define COM_NO_WINDOWS_H -#include - -#ifndef __WINESRC__ -# include -#endif - -#include -#include - -/***************************************************************************** - * 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 */ diff --git a/misc/builddeps/win32/dx/include/d3d8caps.h b/misc/builddeps/win32/dx/include/d3d8caps.h deleted file mode 100644 index 019d346c..00000000 --- a/misc/builddeps/win32/dx/include/d3d8caps.h +++ /dev/null @@ -1,286 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win32/dx/include/d3d8types.h b/misc/builddeps/win32/dx/include/d3d8types.h deleted file mode 100644 index 7c24b73b..00000000 --- a/misc/builddeps/win32/dx/include/d3d8types.h +++ /dev/null @@ -1,1221 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win32/dx/include/d3d9.h b/misc/builddeps/win32/dx/include/d3d9.h deleted file mode 100644 index 3f9ebf26..00000000 --- a/misc/builddeps/win32/dx/include/d3d9.h +++ /dev/null @@ -1,2031 +0,0 @@ -/* - * 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 - -#define COM_NO_WINDOWS_H -#include - -#ifndef __WINESRC__ -# include -#endif - -#include -#include - -/***************************************************************************** - * 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 */ diff --git a/misc/builddeps/win32/dx/include/d3d9caps.h b/misc/builddeps/win32/dx/include/d3d9caps.h deleted file mode 100644 index 8ed6598c..00000000 --- a/misc/builddeps/win32/dx/include/d3d9caps.h +++ /dev/null @@ -1,395 +0,0 @@ -/* - * 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 diff --git a/misc/builddeps/win32/dx/include/d3d9types.h b/misc/builddeps/win32/dx/include/d3d9types.h deleted file mode 100644 index e0e11dfd..00000000 --- a/misc/builddeps/win32/dx/include/d3d9types.h +++ /dev/null @@ -1,1582 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win32/dx/include/d3dcaps.h b/misc/builddeps/win32/dx/include/d3dcaps.h deleted file mode 100644 index b44c49d1..00000000 --- a/misc/builddeps/win32/dx/include/d3dcaps.h +++ /dev/null @@ -1,432 +0,0 @@ -/* - * 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 - -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 diff --git a/misc/builddeps/win32/dx/include/d3dhal.h b/misc/builddeps/win32/dx/include/d3dhal.h deleted file mode 100644 index 806f299d..00000000 --- a/misc/builddeps/win32/dx/include/d3dhal.h +++ /dev/null @@ -1,535 +0,0 @@ -/* - * 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 - -/***************************************************************************** - * 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_ */ diff --git a/misc/builddeps/win32/dx/include/d3drm.h b/misc/builddeps/win32/dx/include/d3drm.h deleted file mode 100644 index 240014e8..00000000 --- a/misc/builddeps/win32/dx/include/d3drm.h +++ /dev/null @@ -1,497 +0,0 @@ -/* - * 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 - -typedef struct IDirect3DRM *LPDIRECT3DRM; - -#include - - -/* 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__ */ diff --git a/misc/builddeps/win32/dx/include/d3drmdef.h b/misc/builddeps/win32/dx/include/d3drmdef.h deleted file mode 100644 index 80086dce..00000000 --- a/misc/builddeps/win32/dx/include/d3drmdef.h +++ /dev/null @@ -1,266 +0,0 @@ -/* - * 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 -#include - -#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 diff --git a/misc/builddeps/win32/dx/include/d3drmobj.h b/misc/builddeps/win32/dx/include/d3drmobj.h deleted file mode 100644 index bd22e897..00000000 --- a/misc/builddeps/win32/dx/include/d3drmobj.h +++ /dev/null @@ -1,3033 +0,0 @@ -/* - * 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 -#define VIRTUAL -#include -#include - -#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__ */ diff --git a/misc/builddeps/win32/dx/include/d3dtypes.h b/misc/builddeps/win32/dx/include/d3dtypes.h deleted file mode 100644 index 2ac2cff8..00000000 --- a/misc/builddeps/win32/dx/include/d3dtypes.h +++ /dev/null @@ -1,1374 +0,0 @@ -/* - * 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 -#endif - -#include -#include - -#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 -#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 diff --git a/misc/builddeps/win32/dx/include/d3dvec.inl b/misc/builddeps/win32/dx/include/d3dvec.inl deleted file mode 100644 index 9418dd22..00000000 --- a/misc/builddeps/win32/dx/include/d3dvec.inl +++ /dev/null @@ -1,141 +0,0 @@ -/* - * 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 diff --git a/misc/builddeps/win32/dx/include/d3dx9.h b/misc/builddeps/win32/dx/include/d3dx9.h deleted file mode 100644 index 09ae5537..00000000 --- a/misc/builddeps/win32/dx/include/d3dx9.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 - -#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 diff --git a/misc/builddeps/win32/dx/include/d3dx9core.h b/misc/builddeps/win32/dx/include/d3dx9core.h deleted file mode 100644 index c1b948e6..00000000 --- a/misc/builddeps/win32/dx/include/d3dx9core.h +++ /dev/null @@ -1,496 +0,0 @@ -/* - * 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 - -#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 */ diff --git a/misc/builddeps/win32/dx/include/d3dx9effect.h b/misc/builddeps/win32/dx/include/d3dx9effect.h deleted file mode 100644 index 3bb2878d..00000000 --- a/misc/builddeps/win32/dx/include/d3dx9effect.h +++ /dev/null @@ -1,394 +0,0 @@ -/* - * 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 - -#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__ */ diff --git a/misc/builddeps/win32/dx/include/d3dx9math.h b/misc/builddeps/win32/dx/include/d3dx9math.h deleted file mode 100644 index f842e3ec..00000000 --- a/misc/builddeps/win32/dx/include/d3dx9math.h +++ /dev/null @@ -1,432 +0,0 @@ -/* - * 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 - -#ifndef __D3DX9MATH_H__ -#define __D3DX9MATH_H__ - -#include - -#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 - -#endif /* __D3DX9MATH_H__ */ diff --git a/misc/builddeps/win32/dx/include/d3dx9math.inl b/misc/builddeps/win32/dx/include/d3dx9math.inl deleted file mode 100644 index 3cd078ac..00000000 --- a/misc/builddeps/win32/dx/include/d3dx9math.inl +++ /dev/null @@ -1,1268 +0,0 @@ -/* - * 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 diff --git a/misc/builddeps/win32/dx/include/d3dx9mesh.h b/misc/builddeps/win32/dx/include/d3dx9mesh.h deleted file mode 100644 index 5773d246..00000000 --- a/misc/builddeps/win32/dx/include/d3dx9mesh.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * 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 - -#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 */ diff --git a/misc/builddeps/win32/dx/include/d3dx9shader.h b/misc/builddeps/win32/dx/include/d3dx9shader.h deleted file mode 100644 index c8380bc5..00000000 --- a/misc/builddeps/win32/dx/include/d3dx9shader.h +++ /dev/null @@ -1,349 +0,0 @@ -/* - * 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__ */ diff --git a/misc/builddeps/win32/dx/include/d3dx9shape.h b/misc/builddeps/win32/dx/include/d3dx9shape.h deleted file mode 100644 index e1bf2310..00000000 --- a/misc/builddeps/win32/dx/include/d3dx9shape.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * 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__ */ diff --git a/misc/builddeps/win32/dx/include/d3dx9tex.h b/misc/builddeps/win32/dx/include/d3dx9tex.h deleted file mode 100644 index 019a4da0..00000000 --- a/misc/builddeps/win32/dx/include/d3dx9tex.h +++ /dev/null @@ -1,698 +0,0 @@ -/* - * 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 - -#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 */ diff --git a/misc/builddeps/win32/dx/include/ddraw.h b/misc/builddeps/win32/dx/include/ddraw.h deleted file mode 100644 index feaec698..00000000 --- a/misc/builddeps/win32/dx/include/ddraw.h +++ /dev/null @@ -1,4844 +0,0 @@ -/*==========================================================================; - * - * 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 -#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 -// -#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 - diff --git a/misc/builddeps/win32/dx/include/dinput.h b/misc/builddeps/win32/dx/include/dinput.h deleted file mode 100644 index 5bf9f5ae..00000000 --- a/misc/builddeps/win32/dx/include/dinput.h +++ /dev/null @@ -1,1849 +0,0 @@ -/**************************************************************************** - * - * 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 -#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 */ diff --git a/misc/builddeps/win32/dx/include/dsound.h b/misc/builddeps/win32/dx/include/dsound.h deleted file mode 100644 index 599b80a2..00000000 --- a/misc/builddeps/win32/dx/include/dsound.h +++ /dev/null @@ -1,1200 +0,0 @@ -/* - * 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 -#include - -#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 */ diff --git a/misc/builddeps/win32/dx/include/wspiapi.h b/misc/builddeps/win32/dx/include/wspiapi.h deleted file mode 100644 index a14be51c..00000000 --- a/misc/builddeps/win32/dx/include/wspiapi.h +++ /dev/null @@ -1,1061 +0,0 @@ -/*++ - -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 // sprintf() -#include // calloc(), strtoul() -#include // calloc() -#include // 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 -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_ - diff --git a/misc/builddeps/win32/dx/include/zconf.h b/misc/builddeps/win32/dx/include/zconf.h deleted file mode 100644 index 51c80ac1..00000000 --- a/misc/builddeps/win32/dx/include/zconf.h +++ /dev/null @@ -1,466 +0,0 @@ -/* 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 - /* 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 /* 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 /* for SEEK_* and off_t */ -# ifdef VMS -# include /* 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 */ diff --git a/misc/builddeps/win32/zlib/bin/zlib1.dll b/misc/builddeps/win32/zlib/bin/zlib1.dll deleted file mode 100755 index 1ced00e0ef9457fb25042a9cc6c0b4da49c7f5f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82432 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 b{(9Q8!?V+~%d^|F$FtY7&m-OWdxrl2u>YQ; diff --git a/misc/builddeps/win32/zlib/include/zlib.h b/misc/builddeps/win32/zlib/include/zlib.h deleted file mode 100644 index 79142d11..00000000 --- a/misc/builddeps/win32/zlib/include/zlib.h +++ /dev/null @@ -1,1732 +0,0 @@ -/* 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 */ diff --git a/misc/builddeps/win32/zlib/lib/libz.a b/misc/builddeps/win32/zlib/lib/libz.a deleted file mode 100644 index 9c193d29d280e4cc87ec5df8ede4595be9ad18c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127278 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 diff --git a/misc/builddeps/win32/zlib/lib/libz.dll.a b/misc/builddeps/win32/zlib/lib/libz.dll.a deleted file mode 120000 index d68f8504..00000000 --- a/misc/builddeps/win32/zlib/lib/libz.dll.a +++ /dev/null @@ -1 +0,0 @@ -libzdll.a \ No newline at end of file diff --git a/misc/builddeps/win32/zlib/lib/libzdll.a b/misc/builddeps/win32/zlib/lib/libzdll.a deleted file mode 100644 index 29913685eecece596e33646df7f60358d9b37567..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38996 zcmeHQ&5s;M6)%rJ)@+Qw?HFUsWV3Oc#IfgdKN82W>^LSsz+e(Z2xUAw+dH0Qc4q0F zm7P%(Ap}AQA_B5I|Q9L%NWwhSWxjUV@NZQ z25I&qL66TchV;aj1U&`MM0)zyg3kS!F{H{aLA48vAS;W^)+p8<#?h^gu0b8gqo%4^ zinWJp8w2A3BF4E!PJs(C;KuMNtmvFlyglr%Me2j580=S8pb$De#oI%u3FE0E#<|8* zMQyc*E8UItoBAd)+8#!x08mjl=o?w&k@j%e&Y+9}zY|9-BZm}k4_n>-depe3pQ{*j zPC?mV$iu`{Sa+>%)Qlm^<|*Q|hf5nPEBf2eaj1hvD{eIg&84o!l+9d@xP(XU%))wtDWlexZS#znmPHAsj2d6P$&tsV zgt1sMa;d+ezb~67V~L7j_y(($2DD5|Mx&Ep@+e&?Bh;2zk4!Krs#*$zL5J$Ls%>m8 zccVC+rxaT<=mr#BE+x@cUzFM2SRcM6AG$0AH&{YDCqXIGfz6bm~ncQ;4{(x#W4QpDBj*jkPhw_QMuyaf)h@ z=kz}H%AcODSG)@E4}A%~6`KM(1qW_b(^N(UX6u=2zP4y$R@C=t$ii;^Sg83ybbDar z1NqPe5yh3eA}jqx;z?l<>*WKWX)F!|u~Rj#-Vmny8_;2QI`xJy-G@LY-RYpWAp*XM ze^5m2OZWc!7)IW+KBJ2azX(#)MXh7a@8Z`@!4`?$u|6{E1hb>Q9bS6t+u`LD@7Vm} zur%r_o_DNy`}@K>3mhDPBMf+6aAtX2Yzhn?Vs|hceU4-&MSP=kwaiGVm!QMU1Ae0d zDQ6&)_e07K|#{RANJ; z1xybr6xj1{%+X>M$LOXe_=(P~#7#9bZff)86mDkW-P{j1|B-pd*EkM0yWHR;6@k6#*N8$%A5LPW_c5G zZ|E5lHz3>d+Ad}44M|yp*dXP_X1S5FkQpiU@?uJ>EkWaXKdpARp#2xiK`K z8AG+jbdNd|EqH-2B**&lDs2v>uya~+a93c9uqEu!u%$KJs+exHWVbHY7V9aA6AD`9 zEwtpfZK9sD?lYm)mO_D{fzU!rqH&@TCO1}mth(W1Wsa~S2IF$uD*0f=8dsF95%Jtu z$!^yTS?8@2R`^_y{K^#{opaQpDi=mXIpeJOe3Ji076nJ{I0^ zb=#_m6_}>66?9v~g`RO@fQ2*NXnA1gCCyLl-J{SILd#V(bt$)q@v-yj;@I{&lkdh& zb~|q^;Bllf;RYvqLCC9=$uy261&T3e&Ehz5QhQ+6%_3h)gcCmHFTXhP(Q(b$ixMc3 zE#>L?+*jo9wpSdMQ1RE|l3(XHDGXyfwmEUl_E7 z?n%Mm+X8zQ_GF<$e56|>&2?kO$D*6YOehxJr%lX2o#$11@oAM183}`~WVw;zVb7h1 z$>u!hxtF2Lp*urJ$puPCHlVn`Ayve!o;{_d3XL1#*#g7)x^~+G(F7>?%U^%i11$GXO z0ZpUUP$or&n2TNWu*wEJ7yAjo2VZmwb-el72E1j;%vhO0ql5?&Yc950Pn&2)Bqp-k zUPB)LI}Mo73y|}G3w+P%x!9SsP_rmf*|1q|qh;Jz_1HxtSX>084sGqT%CL&n4`V1m0J$qObZGm~OM_)-}mCp>JS0qYiz z3QV-{%glwG;GS?WHxtSUetpWAA$lfN536Uuy2T7)LO3GI0VWU&6YCbT7^+L6;_i0D z#{!yOMI4H?>k+^Q_x1#DCKob;GBc^nkgluTn0R0T#V=3?_e`=PVnR40%K;`Zw-d_@ z@}VY{(x_sMYEvFqKs7e-$c>NB0zSai+B&Alh0LJLOe!<@^`kK1VF3+T_dF>ukssX? z-YL(_|A7fy^6PF#d~BWJj<|mYFd_U;=0r|VX2xP-JCIt#U;$HEvbp|}*egZHd zT#@Dk6O@@rF(IxWfe8=$=G6(1{SdaZsaR;*)y5Ary^`K^c>AN!CELAN4B9v7PeE5iYd$5Sy>gQ6L3 zgm~CF7s5rz!wMmBZY78pLM+$#=zJd;ZiIMPJp=BU93_Oncewd7gd_n`Wdi(dKhpbe@c=A+2O`W z#u;3r{;e_sA0C#_fW6cmVqlIoeoeFa?TZ^D)S74=)#0ViE(+qVL&Di; zZm~maS9B}o@TDrTLw-~F|34EvHCvjJmeFJVPE8{HCE5k;}(3-R1o@vzhe+*kUf z!ixCC<;S|OBxT68aewP{_pHkvR@;Cj%N|0@R`91P(L%mc%~ptbZpq?f%?;O|>O&@0 zKJNZh4XkK?s!66BEgm-AfNlTNgqECpBFkj^m%uQ*kXalzPJC>;X@4=Hcp&=(;bbfL z#gwQp{bJfICsIm2cHQ(Ggiw&On~);@P`)L4LDtXKB~*y##!7a}ZY|*12vdX=u%>T* z52zvEESmNwnvFo$rv`@jY=lyFt8K{ty4uBBajRNswEC+{onDj!Tp%9Ovk@|lBHBff zW|Sn;EkQi&vjNYl-zm_N1C-#vceR38881C(JQ34bv+Bk5BV>n<1vcEi?+yl1V=a!> z*G22R`E3fmPASW8E*uLBtX&=XT^$)Qg&Nwy_D|jhT_YA8*46iqu9_^^NW)s2p - -#define COM_NO_WINDOWS_H -#include -#include /* must precede d3dcaps.h */ -#include - -/***************************************************************************** - * 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 */ diff --git a/misc/builddeps/win64/dx/include/d3d10.h b/misc/builddeps/win64/dx/include/d3d10.h deleted file mode 100644 index dd6ea6ce..00000000 --- a/misc/builddeps/win64/dx/include/d3d10.h +++ /dev/null @@ -1,5603 +0,0 @@ -/*** Autogenerated by WIDL 1.2-rc3 from d3d10.idl - Do not edit ***/ - -#include -#include - -#ifndef __WIDL_D3D10_H -#define __WIDL_D3D10_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Headers for imported files */ - -#include -#include -#include - -/* 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 */ diff --git a/misc/builddeps/win64/dx/include/d3d10.idl b/misc/builddeps/win64/dx/include/d3d10.idl deleted file mode 100644 index 62059177..00000000 --- a/misc/builddeps/win64/dx/include/d3d10.idl +++ /dev/null @@ -1,1539 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win64/dx/include/d3d10effect.h b/misc/builddeps/win64/dx/include/d3d10effect.h deleted file mode 100644 index e020583a..00000000 --- a/misc/builddeps/win64/dx/include/d3d10effect.h +++ /dev/null @@ -1,788 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win64/dx/include/d3d10misc.h b/misc/builddeps/win64/dx/include/d3d10misc.h deleted file mode 100644 index 58a6d26d..00000000 --- a/misc/builddeps/win64/dx/include/d3d10misc.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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__ */ diff --git a/misc/builddeps/win64/dx/include/d3d10shader.h b/misc/builddeps/win64/dx/include/d3d10shader.h deleted file mode 100644 index 99b123c6..00000000 --- a/misc/builddeps/win64/dx/include/d3d10shader.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win64/dx/include/d3d8.h b/misc/builddeps/win64/dx/include/d3d8.h deleted file mode 100644 index 46e0812d..00000000 --- a/misc/builddeps/win64/dx/include/d3d8.h +++ /dev/null @@ -1,1145 +0,0 @@ -/* - * 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 - -#define COM_NO_WINDOWS_H -#include - -#ifndef __WINESRC__ -# include -#endif - -#include -#include - -/***************************************************************************** - * 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 */ diff --git a/misc/builddeps/win64/dx/include/d3d8caps.h b/misc/builddeps/win64/dx/include/d3d8caps.h deleted file mode 100644 index 019d346c..00000000 --- a/misc/builddeps/win64/dx/include/d3d8caps.h +++ /dev/null @@ -1,286 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win64/dx/include/d3d8types.h b/misc/builddeps/win64/dx/include/d3d8types.h deleted file mode 100644 index 7c24b73b..00000000 --- a/misc/builddeps/win64/dx/include/d3d8types.h +++ /dev/null @@ -1,1221 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win64/dx/include/d3d9.h b/misc/builddeps/win64/dx/include/d3d9.h deleted file mode 100644 index 3f9ebf26..00000000 --- a/misc/builddeps/win64/dx/include/d3d9.h +++ /dev/null @@ -1,2031 +0,0 @@ -/* - * 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 - -#define COM_NO_WINDOWS_H -#include - -#ifndef __WINESRC__ -# include -#endif - -#include -#include - -/***************************************************************************** - * 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 */ diff --git a/misc/builddeps/win64/dx/include/d3d9caps.h b/misc/builddeps/win64/dx/include/d3d9caps.h deleted file mode 100644 index 8ed6598c..00000000 --- a/misc/builddeps/win64/dx/include/d3d9caps.h +++ /dev/null @@ -1,395 +0,0 @@ -/* - * 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 diff --git a/misc/builddeps/win64/dx/include/d3d9types.h b/misc/builddeps/win64/dx/include/d3d9types.h deleted file mode 100644 index e0e11dfd..00000000 --- a/misc/builddeps/win64/dx/include/d3d9types.h +++ /dev/null @@ -1,1582 +0,0 @@ -/* - * 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 */ diff --git a/misc/builddeps/win64/dx/include/d3dcaps.h b/misc/builddeps/win64/dx/include/d3dcaps.h deleted file mode 100644 index b44c49d1..00000000 --- a/misc/builddeps/win64/dx/include/d3dcaps.h +++ /dev/null @@ -1,432 +0,0 @@ -/* - * 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 - -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 diff --git a/misc/builddeps/win64/dx/include/d3dhal.h b/misc/builddeps/win64/dx/include/d3dhal.h deleted file mode 100644 index 806f299d..00000000 --- a/misc/builddeps/win64/dx/include/d3dhal.h +++ /dev/null @@ -1,535 +0,0 @@ -/* - * 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 - -/***************************************************************************** - * 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_ */ diff --git a/misc/builddeps/win64/dx/include/d3drm.h b/misc/builddeps/win64/dx/include/d3drm.h deleted file mode 100644 index 240014e8..00000000 --- a/misc/builddeps/win64/dx/include/d3drm.h +++ /dev/null @@ -1,497 +0,0 @@ -/* - * 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 - -typedef struct IDirect3DRM *LPDIRECT3DRM; - -#include - - -/* 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__ */ diff --git a/misc/builddeps/win64/dx/include/d3drmdef.h b/misc/builddeps/win64/dx/include/d3drmdef.h deleted file mode 100644 index 80086dce..00000000 --- a/misc/builddeps/win64/dx/include/d3drmdef.h +++ /dev/null @@ -1,266 +0,0 @@ -/* - * 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 -#include - -#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 diff --git a/misc/builddeps/win64/dx/include/d3drmobj.h b/misc/builddeps/win64/dx/include/d3drmobj.h deleted file mode 100644 index bd22e897..00000000 --- a/misc/builddeps/win64/dx/include/d3drmobj.h +++ /dev/null @@ -1,3033 +0,0 @@ -/* - * 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 -#define VIRTUAL -#include -#include - -#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__ */ diff --git a/misc/builddeps/win64/dx/include/d3dtypes.h b/misc/builddeps/win64/dx/include/d3dtypes.h deleted file mode 100644 index 2ac2cff8..00000000 --- a/misc/builddeps/win64/dx/include/d3dtypes.h +++ /dev/null @@ -1,1374 +0,0 @@ -/* - * 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 -#endif - -#include -#include - -#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 -#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 diff --git a/misc/builddeps/win64/dx/include/d3dvec.inl b/misc/builddeps/win64/dx/include/d3dvec.inl deleted file mode 100644 index 9418dd22..00000000 --- a/misc/builddeps/win64/dx/include/d3dvec.inl +++ /dev/null @@ -1,141 +0,0 @@ -/* - * 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 diff --git a/misc/builddeps/win64/dx/include/d3dx9.h b/misc/builddeps/win64/dx/include/d3dx9.h deleted file mode 100644 index 09ae5537..00000000 --- a/misc/builddeps/win64/dx/include/d3dx9.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 - -#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 diff --git a/misc/builddeps/win64/dx/include/d3dx9core.h b/misc/builddeps/win64/dx/include/d3dx9core.h deleted file mode 100644 index c1b948e6..00000000 --- a/misc/builddeps/win64/dx/include/d3dx9core.h +++ /dev/null @@ -1,496 +0,0 @@ -/* - * 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 - -#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 */ diff --git a/misc/builddeps/win64/dx/include/d3dx9effect.h b/misc/builddeps/win64/dx/include/d3dx9effect.h deleted file mode 100644 index 3bb2878d..00000000 --- a/misc/builddeps/win64/dx/include/d3dx9effect.h +++ /dev/null @@ -1,394 +0,0 @@ -/* - * 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 - -#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__ */ diff --git a/misc/builddeps/win64/dx/include/d3dx9math.h b/misc/builddeps/win64/dx/include/d3dx9math.h deleted file mode 100644 index f842e3ec..00000000 --- a/misc/builddeps/win64/dx/include/d3dx9math.h +++ /dev/null @@ -1,432 +0,0 @@ -/* - * 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 - -#ifndef __D3DX9MATH_H__ -#define __D3DX9MATH_H__ - -#include - -#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 - -#endif /* __D3DX9MATH_H__ */ diff --git a/misc/builddeps/win64/dx/include/d3dx9math.inl b/misc/builddeps/win64/dx/include/d3dx9math.inl deleted file mode 100644 index 3cd078ac..00000000 --- a/misc/builddeps/win64/dx/include/d3dx9math.inl +++ /dev/null @@ -1,1268 +0,0 @@ -/* - * 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 diff --git a/misc/builddeps/win64/dx/include/d3dx9mesh.h b/misc/builddeps/win64/dx/include/d3dx9mesh.h deleted file mode 100644 index 5773d246..00000000 --- a/misc/builddeps/win64/dx/include/d3dx9mesh.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * 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 - -#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 */ diff --git a/misc/builddeps/win64/dx/include/d3dx9shader.h b/misc/builddeps/win64/dx/include/d3dx9shader.h deleted file mode 100644 index c8380bc5..00000000 --- a/misc/builddeps/win64/dx/include/d3dx9shader.h +++ /dev/null @@ -1,349 +0,0 @@ -/* - * 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__ */ diff --git a/misc/builddeps/win64/dx/include/d3dx9shape.h b/misc/builddeps/win64/dx/include/d3dx9shape.h deleted file mode 100644 index e1bf2310..00000000 --- a/misc/builddeps/win64/dx/include/d3dx9shape.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * 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__ */ diff --git a/misc/builddeps/win64/dx/include/d3dx9tex.h b/misc/builddeps/win64/dx/include/d3dx9tex.h deleted file mode 100644 index 019a4da0..00000000 --- a/misc/builddeps/win64/dx/include/d3dx9tex.h +++ /dev/null @@ -1,698 +0,0 @@ -/* - * 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 - -#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 */ diff --git a/misc/builddeps/win64/dx/include/ddraw.h b/misc/builddeps/win64/dx/include/ddraw.h deleted file mode 100644 index feaec698..00000000 --- a/misc/builddeps/win64/dx/include/ddraw.h +++ /dev/null @@ -1,4844 +0,0 @@ -/*==========================================================================; - * - * 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 -#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 -// -#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 - diff --git a/misc/builddeps/win64/dx/include/dinput.h b/misc/builddeps/win64/dx/include/dinput.h deleted file mode 100644 index 5bf9f5ae..00000000 --- a/misc/builddeps/win64/dx/include/dinput.h +++ /dev/null @@ -1,1849 +0,0 @@ -/**************************************************************************** - * - * 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 -#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 */ diff --git a/misc/builddeps/win64/dx/include/dsound.h b/misc/builddeps/win64/dx/include/dsound.h deleted file mode 100644 index 599b80a2..00000000 --- a/misc/builddeps/win64/dx/include/dsound.h +++ /dev/null @@ -1,1200 +0,0 @@ -/* - * 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 -#include - -#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 */ diff --git a/misc/builddeps/win64/dx/include/zconf.h b/misc/builddeps/win64/dx/include/zconf.h deleted file mode 100644 index 51c80ac1..00000000 --- a/misc/builddeps/win64/dx/include/zconf.h +++ /dev/null @@ -1,466 +0,0 @@ -/* 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 - /* 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 /* 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 /* for SEEK_* and off_t */ -# ifdef VMS -# include /* 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 */ diff --git a/misc/builddeps/win64/zlib/bin/zlib1.dll b/misc/builddeps/win64/zlib/bin/zlib1.dll deleted file mode 100755 index 1e8317080fa231f44a88330d726503c7e3491d13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89600 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 J@Ne1z{{xZ%B#8h3 diff --git a/misc/builddeps/win64/zlib/include/zlib.h b/misc/builddeps/win64/zlib/include/zlib.h deleted file mode 100644 index 79142d11..00000000 --- a/misc/builddeps/win64/zlib/include/zlib.h +++ /dev/null @@ -1,1732 +0,0 @@ -/* 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 */ diff --git a/misc/builddeps/win64/zlib/lib/libz.a b/misc/builddeps/win64/zlib/lib/libz.a deleted file mode 100644 index 93a0a6b3624ff7a0bcc6a319ff6d328b6849462f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142856 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 diff --git a/misc/builddeps/win64/zlib/lib/libz.dll.a b/misc/builddeps/win64/zlib/lib/libz.dll.a deleted file mode 120000 index d68f8504..00000000 --- a/misc/builddeps/win64/zlib/lib/libz.dll.a +++ /dev/null @@ -1 +0,0 @@ -libzdll.a \ No newline at end of file diff --git a/misc/builddeps/win64/zlib/lib/libzdll.a b/misc/builddeps/win64/zlib/lib/libzdll.a deleted file mode 100644 index c10a88ffdd6766fd6fed95ba3dd9674c5573e723..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39110 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