123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589 |
- /*
- * 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 __WINE_D3DHAL_H
- #define __WINE_D3DHAL_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <d3d.h>
- /*****************************************************************************
- * device info structures
- */
- typedef struct _D3DDeviceDesc_V1 {
- DWORD dwSize;
- DWORD dwFlags;
- D3DCOLORMODEL dcmColorModel;
- DWORD dwDevCaps;
- D3DTRANSFORMCAPS dtcTransformCaps;
- WINBOOL bClipping;
- D3DLIGHTINGCAPS dlcLightingCaps;
- D3DPRIMCAPS dpcLineCaps;
- D3DPRIMCAPS dpcTriCaps;
- DWORD dwDeviceRenderBitDepth;
- DWORD dwDeviceZBufferBitDepth;
- DWORD dwMaxBufferSize;
- DWORD dwMaxVertexCount;
- } D3DDEVICEDESC_V1,*LPD3DDEVICEDESC_V1;
- typedef struct _D3DDeviceDesc_V2
- {
- 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;
- /* DirectX 5 */
- DWORD dwMinTextureWidth;
- DWORD dwMinTextureHeight;
- DWORD dwMaxTextureWidth;
- DWORD dwMaxTextureHeight;
- DWORD dwMinStippleWidth;
- DWORD dwMaxStippleWidth;
- DWORD dwMinStippleHeight;
- DWORD dwMaxStippleHeight;
- } D3DDEVICEDESC_V2, *LPD3DDEVICEDESC_V2;
- typedef struct _D3DDeviceDesc_V3
- {
- 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;
- /* DirectX 5 */
- DWORD dwMinTextureWidth;
- DWORD dwMinTextureHeight;
- DWORD dwMaxTextureWidth;
- DWORD dwMaxTextureHeight;
- DWORD dwMinStippleWidth;
- DWORD dwMaxStippleWidth;
- DWORD dwMinStippleHeight;
- DWORD 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;
- } D3DDEVICEDESC_V3, *LPD3DDEVICEDESC_V3;
- typedef struct _D3DHAL_GLOBALDRIVERDATA {
- DWORD dwSize;
- D3DDEVICEDESC_V1 hwCaps;
- DWORD dwNumVertices;
- DWORD dwNumClipVertices;
- DWORD dwNumTextureFormats;
- LPDDSURFACEDESC lpTextureFormats;
- } D3DHAL_GLOBALDRIVERDATA,*LPD3DHAL_GLOBALDRIVERDATA;
- 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,*LPD3DHAL_CALLBACKS;
- 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 /* __WINE_D3DHAL_H */
|