/*
* Direct3D driver interface
* (DirectX 7 version)
*
* Copyright (C) 2001 Ove Kaaven
*
* 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
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
#ifndef __WINE_D3DHAL_H
#define __WINE_D3DHAL_H
#ifdef __cplusplus
extern "C" {
#endif
#include <d3d.h>
/*****************************************************************************
* device info structures
*/
typedef struct _D3DDeviceDesc_V1 {
/* this is to allow keeping the bulk of our OpenGL code out of x11drv */
typedef struct _D3DHAL_GLOBALDRIVERDATA {
typedef struct _D3DHAL_D3DEXTENDEDCAPS {
/* DirectX 5 */
/* DirectX 6 */
/* DirectX 7 */
/*****************************************************************************
* d3d->driver callbacks
*/
typedef struct _D3DHAL_CALLBACKS {
/* now why did MS create CALLBACKS2 and CALLBACKS3 structures if
* all these reserved fields were available? we may never know */
typedef struct _D3DHAL_CALLBACKS2 {
typedef DWORD (PASCAL *LPD3DHAL_VALIDATETEXTURESTAGESTATECB)(LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA);
typedef struct _D3DHAL_CALLBACKS3 {
/*****************************************************************************
* parameter structures
*/
typedef struct _D3DHAL_CONTEXTCREATEDATA {
union {
union {
union {
union {
typedef struct _D3DHAL_CONTEXTDESTROYDATA {
typedef struct _D3DHAL_CONTEXTDESTROYALLDATA {
typedef struct _D3DHAL_SCENECAPTUREDATA {
typedef struct _D3DHAL_SETRENDERTARGETDATA {
union {
union {
typedef struct _D3DHAL_DRAWPRIMITIVES2DATA {
union {
union {
/*****************************************************************************
* DrawPrimitives2 command structures
*/
typedef struct _D3DHAL_DP2COMMAND {
union {
typedef enum _D3DHAL_DP2OPERATION {
/* pre-DirectX 7 interfaces */
/* DirectX 7 interfaces */
/* all interfaces */
/* DirectX 7 interfaces */
/* point primitives */
typedef struct _D3DHAL_POINTS {
/* line primitives */
typedef struct _D3DHAL_DP2STARTVERTEX {
typedef struct _D3DHAL_DP2LINELIST {
typedef struct _D3DHAL_DP2INDEXEDLINELIST {
typedef struct _D3DHAL_DP2LINESTRIP {
typedef struct _D3DHAL_DP2INDEXEDLINESTRIP {
/* triangle primitives */
typedef struct _D3DHAL_DP2TRIANGLELIST {
typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST {
typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST2 {
typedef struct _D3DHAL_DP2TRIANGLESTRIP {
typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
typedef struct _D3DHAL_DP2TRIANGLEFAN {
typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
typedef struct _D3DHAL_DP2TRIANGLEFAN_IMM {
/* render states */
typedef struct _D3DHAL_DP2RENDERSTATE {
union {
typedef struct _D3DHAL_DP2TEXTURESTAGESTATE {
#define D3DTSS_TEXTUREMAP 0
typedef struct _D3DHAL_DP2VIEWPORTINFO {
typedef struct _D3DHAL_DP2WINFO {
typedef struct _D3DHAL_DP2SETPALETTE {
typedef struct _D3DHAL_DP2UPDATEPALETTE {
typedef struct _D3DHAL_DP2ZRANGE {
typedef struct _D3DHAL_DP2SETLIGHT {
#define D3DHAL_SETLIGHT_ENABLE 0
typedef struct _D3DHAL_DP2CREATELIGHT {
typedef struct _D3DHAL_DP2SETTRANSFORM {
typedef struct _D3DHAL_DP2TEXBLT {
typedef struct _D3DHAL_DP2STATESET {
#define D3DHAL_STATESETBEGIN 0
typedef struct _D3DHAL_DP2SETPRIORITY {
typedef struct _D3DHAL_DP2SETRENDERTARGET {
typedef struct _D3DHAL_DP2CLEAR {
typedef struct _D3DHAL_DP2SETTEXLOD {
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __WINE_DDRAWI_H */