3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Direct3D driver interface
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * (DirectX 7 version)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) 2001 Ove Kaaven
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncextern "C" {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * device info structures
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_GLOBALDRIVERDATA,*LPD3DHAL_GLOBALDRIVERDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* DirectX 5 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* DirectX 6 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* DirectX 7 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * d3d->driver callbacks
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_CONTEXTCREATEDATA *LPD3DHAL_CONTEXTCREATEDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_CONTEXTDESTROYDATA *LPD3DHAL_CONTEXTDESTROYDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_CONTEXTDESTROYALLDATA *LPD3DHAL_CONTEXTDESTROYALLDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_SCENECAPTUREDATA *LPD3DHAL_SCENECAPTUREDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_RENDERSTATEDATA *LPD3DHAL_RENDERSTATEDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_RENDERPRIMITIVEDATA *LPD3DHAL_RENDERPRIMITIVEDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_TEXTURECREATEDATA *LPD3DHAL_TEXTURECREATEDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_TEXTUREDESTROYDATA *LPD3DHAL_TEXTUREDESTROYDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_TEXTURESWAPDATA *LPD3DHAL_TEXTURESWAPDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_TEXTUREGETSURFDATA *LPD3DHAL_TEXTUREGETSURFDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_GETSTATEDATA *LPD3DHAL_GETSTATEDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_CONTEXTCREATECB) (LPD3DHAL_CONTEXTCREATEDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYCB) (LPD3DHAL_CONTEXTDESTROYDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYALLCB)(LPD3DHAL_CONTEXTDESTROYALLDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_SCENECAPTURECB) (LPD3DHAL_SCENECAPTUREDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_RENDERSTATECB) (LPD3DHAL_RENDERSTATEDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_RENDERPRIMITIVECB) (LPD3DHAL_RENDERPRIMITIVEDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_TEXTURECREATECB) (LPD3DHAL_TEXTURECREATEDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_TEXTUREDESTROYCB) (LPD3DHAL_TEXTUREDESTROYDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_TEXTURESWAPCB) (LPD3DHAL_TEXTURESWAPDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_TEXTUREGETSURFCB) (LPD3DHAL_TEXTUREGETSURFDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_GETSTATECB) (LPD3DHAL_GETSTATEDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* now why did MS create CALLBACKS2 and CALLBACKS3 structures if
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * all these reserved fields were available? we may never know */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_SETRENDERTARGETDATA *LPD3DHAL_SETRENDERTARGETDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_CLEARDATA *LPD3DHAL_CLEARDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_DRAWONEPRIMITIVEDATA *LPD3DHAL_DRAWONEPRIMITIVEDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_DRAWONEINDEXEDPRIMITIVEDATA *LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_DRAWPRIMITIVESDATA *LPD3DHAL_DRAWPRIMITIVESDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_SETRENDERTARGETCB) (LPD3DHAL_SETRENDERTARGETDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_CLEARCB) (LPD3DHAL_CLEARDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_DRAWONEPRIMITIVECB) (LPD3DHAL_DRAWONEPRIMITIVEDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB)(LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVESCB) (LPD3DHAL_DRAWPRIMITIVESDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB DrawOneIndexedPrimitive;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_CLEAR2DATA *LPD3DHAL_CLEAR2DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_VALIDATETEXTURESTAGESTATEDATA *LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _D3DHAL_DRAWPRIMITIVES2DATA *LPD3DHAL_DRAWPRIMITIVES2DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_CLEAR2CB) (LPD3DHAL_CLEAR2DATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_VALIDATETEXTURESTAGESTATECB)(LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVES2CB) (LPD3DHAL_DRAWPRIMITIVES2DATA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPD3DHAL_VALIDATETEXTURESTAGESTATECB ValidateTextureStageState;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * parameter structures
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPDDRAWI_DIRECTDRAW_GBL lpDDGbl; /* pre-DirectX 7 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl; /* DirectX 7 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl; /* DirectX 7 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*****************************************************************************
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * DrawPrimitives2 command structures
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* pre-DirectX 7 interfaces */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* DirectX 7 interfaces */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* all interfaces */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* DirectX 7 interfaces */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* point primitives */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* line primitives */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2INDEXEDLINELIST,*LPD3DHAL_DP2INDEXEDLINELIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2INDEXEDLINESTRIP,*LPD3DHAL_DP2INDEXEDLINESTRIP;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* triangle primitives */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2INDEXEDTRIANGLELIST,*LPD3DHAL_DP2INDEXEDTRIANGLELIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2INDEXEDTRIANGLELIST2,*LPD3DHAL_DP2INDEXEDTRIANGLELIST2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2TRIANGLESTRIP,*LPD3DHAL_DP2TRIANGLESTRIP;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2INDEXEDTRIANGLESTRIP,*LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2INDEXEDTRIANGLEFAN,*LPD3DHAL_DP2INDEXEDTRIANGLEFAN;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2TRIANGLEFAN_IMM,*LPD3DHAL_DP2TRIANGLEFAN_IMM;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* render states */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2TEXTURESTAGESTATE,*LPD3DHAL_DP2TEXTURESTAGESTATE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2UPDATEPALETTE,*LPD3DHAL_DP2UPDATEPALETTE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef D3DMATERIAL7 D3DHAL_DP2SETMATERIAL,*LPD3DHAL_DP2SETMATERIAL;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} D3DHAL_DP2SETRENDERTARGET,*LPD3DHAL_DP2SETRENDERTARGET;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} /* extern "C" */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* __WINE_D3DHAL_H */