2 * Direct3D wine internal private include file
4 * Copyright 2002-2003 The wine-d3d team
5 * Copyright 2002-2003 Raphael Junqueira
6 * Copyright 2004 Jason Edmeades
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #ifndef __WINE_WINED3D_PRIVATE_H
24 #define __WINE_WINED3D_PRIVATE_H
27 #define NONAMELESSUNION
28 #define NONAMELESSSTRUCT
34 #include "wine/debug.h"
37 #include "d3d9types.h"
38 #include "wine/wined3d_interface.h"
49 /*****************************************************************************
50 * IWineD3D implementation structure
52 typedef struct IWineD3DImpl
56 DWORD ref; /* Note: Ref counting not required */
58 /* WineD3D Information */
62 extern IWineD3DVtbl IWineD3D_Vtbl;
66 #if 0 /* Needs fixing during rework */
67 /*****************************************************************************
68 * IDirect3DVertexShaderDeclaration implementation structure
70 struct IDirect3DVertexShaderDeclarationImpl {
72 /*IDirect3DDeviceImpl* device;*/
74 /** precomputed fvf if simple declaration */
75 DWORD fvf[MAX_STREAMS];
78 /** dx8 compatible Declaration fields */
80 DWORD declaration8Length;
84 /*****************************************************************************
85 * IDirect3DVertexShader implementation structure
87 struct IDirect3DVertexShaderImpl {
89 /*IDirect3DDeviceImpl* device;*/
97 VSHADERINPUTDATA input;
98 VSHADEROUTPUTDATA output;
102 /*****************************************************************************
103 * IDirect3DPixelShader implementation structure
105 struct IDirect3DPixelShaderImpl {
107 /*IDirect3DDeviceImpl* device;*/
114 PSHADERINPUTDATA input;
115 PSHADEROUTPUTDATA output;
118 #endif /* Needs fixing during rework */