source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/d3dhal.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 17.5 KB
Line 
1/*
2 * Direct3D driver interface
3 * (DirectX 7 version)
4 *
5 * Copyright (C) 2001 Ove Kaaven
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 */
21
22#ifndef __WINE_D3DHAL_H
23#define __WINE_D3DHAL_H
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29#include <d3d.h>
30
31/*****************************************************************************
32 * device info structures
33 */
34typedef struct _D3DDeviceDesc_V1 {
35 DWORD dwSize;
36 DWORD dwFlags;
37 D3DCOLORMODEL dcmColorModel;
38 DWORD dwDevCaps;
39 D3DTRANSFORMCAPS dtcTransformCaps;
40 WINBOOL bClipping;
41 D3DLIGHTINGCAPS dlcLightingCaps;
42 D3DPRIMCAPS dpcLineCaps;
43 D3DPRIMCAPS dpcTriCaps;
44 DWORD dwDeviceRenderBitDepth;
45 DWORD dwDeviceZBufferBitDepth;
46 DWORD dwMaxBufferSize;
47 DWORD dwMaxVertexCount;
48} D3DDEVICEDESC_V1,*LPD3DDEVICEDESC_V1;
49
50typedef struct _D3DDeviceDesc_V2
51{
52 DWORD dwSize;
53 DWORD dwFlags;
54 D3DCOLORMODEL dcmColorModel;
55 DWORD dwDevCaps;
56 D3DTRANSFORMCAPS dtcTransformCaps;
57 WINBOOL bClipping;
58 D3DLIGHTINGCAPS dlcLightingCaps;
59 D3DPRIMCAPS dpcLineCaps;
60 D3DPRIMCAPS dpcTriCaps;
61 DWORD dwDeviceRenderBitDepth;
62 DWORD dwDeviceZBufferBitDepth;
63 DWORD dwMaxBufferSize;
64 DWORD dwMaxVertexCount;
65
66 /* DirectX 5 */
67 DWORD dwMinTextureWidth;
68 DWORD dwMinTextureHeight;
69 DWORD dwMaxTextureWidth;
70 DWORD dwMaxTextureHeight;
71 DWORD dwMinStippleWidth;
72 DWORD dwMaxStippleWidth;
73 DWORD dwMinStippleHeight;
74 DWORD dwMaxStippleHeight;
75} D3DDEVICEDESC_V2, *LPD3DDEVICEDESC_V2;
76
77typedef struct _D3DDeviceDesc_V3
78{
79 DWORD dwSize;
80 DWORD dwFlags;
81 D3DCOLORMODEL dcmColorModel;
82 DWORD dwDevCaps;
83 D3DTRANSFORMCAPS dtcTransformCaps;
84 WINBOOL bClipping;
85 D3DLIGHTINGCAPS dlcLightingCaps;
86 D3DPRIMCAPS dpcLineCaps;
87 D3DPRIMCAPS dpcTriCaps;
88 DWORD dwDeviceRenderBitDepth;
89 DWORD dwDeviceZBufferBitDepth;
90 DWORD dwMaxBufferSize;
91 DWORD dwMaxVertexCount;
92
93 /* DirectX 5 */
94 DWORD dwMinTextureWidth;
95 DWORD dwMinTextureHeight;
96 DWORD dwMaxTextureWidth;
97 DWORD dwMaxTextureHeight;
98 DWORD dwMinStippleWidth;
99 DWORD dwMaxStippleWidth;
100 DWORD dwMinStippleHeight;
101 DWORD dwMaxStippleHeight;
102
103 /* DirectX 6 */
104 DWORD dwMaxTextureRepeat;
105 DWORD dwMaxTextureAspectRatio;
106 DWORD dwMaxAnisotropy;
107 D3DVALUE dvGuardBandLeft;
108 D3DVALUE dvGuardBandTop;
109 D3DVALUE dvGuardBandRight;
110 D3DVALUE dvGuardBandBottom;
111 D3DVALUE dvExtentsAdjust;
112 DWORD dwStencilCaps;
113 DWORD dwFVFCaps;
114 DWORD dwTextureOpCaps;
115 WORD wMaxTextureBlendStages;
116 WORD wMaxSimultaneousTextures;
117} D3DDEVICEDESC_V3, *LPD3DDEVICEDESC_V3;
118
119typedef struct _D3DHAL_GLOBALDRIVERDATA {
120 DWORD dwSize;
121 D3DDEVICEDESC_V1 hwCaps;
122 DWORD dwNumVertices;
123 DWORD dwNumClipVertices;
124 DWORD dwNumTextureFormats;
125 LPDDSURFACEDESC lpTextureFormats;
126} D3DHAL_GLOBALDRIVERDATA,*LPD3DHAL_GLOBALDRIVERDATA;
127
128typedef struct _D3DHAL_D3DEXTENDEDCAPS {
129 DWORD dwSize;
130 /* DirectX 5 */
131 DWORD dwMinTextureWidth, dwMaxTextureWidth;
132 DWORD dwMinTextureHeight, dwMaxTextureHeight;
133 DWORD dwMinStippleWidth, dwMaxStippleWidth;
134 DWORD dwMinStippleHeight, dwMaxStippleHeight;
135 /* DirectX 6 */
136 DWORD dwMaxTextureRepeat;
137 DWORD dwMaxTextureAspectRatio;
138 DWORD dwMaxAnisotropy;
139 D3DVALUE dvGuardBandLeft;
140 D3DVALUE dvGuardBandTop;
141 D3DVALUE dvGuardBandRight;
142 D3DVALUE dvGuardBandBottom;
143 D3DVALUE dvExtentsAdjust;
144 DWORD dwStencilCaps;
145 DWORD dwFVFCaps;
146 DWORD dwTextureOpCaps;
147 WORD wMaxTextureBlendStages;
148 WORD wMaxSimultaneousTextures;
149 /* DirectX 7 */
150 DWORD dwMaxActiveLights;
151 D3DVALUE dvMaxVertexW;
152 WORD wMaxUserClipPlanes;
153 WORD wMaxVertexBlendMatrices;
154 DWORD dwVertexProcessingCaps;
155 DWORD dwReserved1;
156 DWORD dwReserved2;
157 DWORD dwReserved3;
158 DWORD dwReserved4;
159} D3DHAL_D3DEXTENDEDCAPS,*LPD3DHAL_D3DEXTENDEDCAPS;
160
161/*****************************************************************************
162 * d3d->driver callbacks
163 */
164typedef struct _D3DHAL_CONTEXTCREATEDATA *LPD3DHAL_CONTEXTCREATEDATA;
165typedef struct _D3DHAL_CONTEXTDESTROYDATA *LPD3DHAL_CONTEXTDESTROYDATA;
166typedef struct _D3DHAL_CONTEXTDESTROYALLDATA *LPD3DHAL_CONTEXTDESTROYALLDATA;
167typedef struct _D3DHAL_SCENECAPTUREDATA *LPD3DHAL_SCENECAPTUREDATA;
168typedef struct _D3DHAL_RENDERSTATEDATA *LPD3DHAL_RENDERSTATEDATA;
169typedef struct _D3DHAL_RENDERPRIMITIVEDATA *LPD3DHAL_RENDERPRIMITIVEDATA;
170typedef struct _D3DHAL_TEXTURECREATEDATA *LPD3DHAL_TEXTURECREATEDATA;
171typedef struct _D3DHAL_TEXTUREDESTROYDATA *LPD3DHAL_TEXTUREDESTROYDATA;
172typedef struct _D3DHAL_TEXTURESWAPDATA *LPD3DHAL_TEXTURESWAPDATA;
173typedef struct _D3DHAL_TEXTUREGETSURFDATA *LPD3DHAL_TEXTUREGETSURFDATA;
174typedef struct _D3DHAL_GETSTATEDATA *LPD3DHAL_GETSTATEDATA;
175
176typedef DWORD (PASCAL *LPD3DHAL_CONTEXTCREATECB) (LPD3DHAL_CONTEXTCREATEDATA);
177typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYCB) (LPD3DHAL_CONTEXTDESTROYDATA);
178typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYALLCB)(LPD3DHAL_CONTEXTDESTROYALLDATA);
179typedef DWORD (PASCAL *LPD3DHAL_SCENECAPTURECB) (LPD3DHAL_SCENECAPTUREDATA);
180typedef DWORD (PASCAL *LPD3DHAL_RENDERSTATECB) (LPD3DHAL_RENDERSTATEDATA);
181typedef DWORD (PASCAL *LPD3DHAL_RENDERPRIMITIVECB) (LPD3DHAL_RENDERPRIMITIVEDATA);
182typedef DWORD (PASCAL *LPD3DHAL_TEXTURECREATECB) (LPD3DHAL_TEXTURECREATEDATA);
183typedef DWORD (PASCAL *LPD3DHAL_TEXTUREDESTROYCB) (LPD3DHAL_TEXTUREDESTROYDATA);
184typedef DWORD (PASCAL *LPD3DHAL_TEXTURESWAPCB) (LPD3DHAL_TEXTURESWAPDATA);
185typedef DWORD (PASCAL *LPD3DHAL_TEXTUREGETSURFCB) (LPD3DHAL_TEXTUREGETSURFDATA);
186typedef DWORD (PASCAL *LPD3DHAL_GETSTATECB) (LPD3DHAL_GETSTATEDATA);
187
188typedef struct _D3DHAL_CALLBACKS {
189 DWORD dwSize;
190 LPD3DHAL_CONTEXTCREATECB ContextCreate;
191 LPD3DHAL_CONTEXTDESTROYCB ContextDestroy;
192 LPD3DHAL_CONTEXTDESTROYALLCB ContextDestroyAll;
193 LPD3DHAL_SCENECAPTURECB SceneCapture;
194 LPVOID lpReserved10;
195 LPVOID lpReserved11;
196 LPD3DHAL_RENDERSTATECB RenderState;
197 LPD3DHAL_RENDERPRIMITIVECB RenderPrimitive;
198 DWORD dwReserved;
199 LPD3DHAL_TEXTURECREATECB TextureCreate;
200 LPD3DHAL_TEXTUREDESTROYCB TextureDestroy;
201 LPD3DHAL_TEXTURESWAPCB TextureSwap;
202 LPD3DHAL_TEXTUREGETSURFCB TextureGetSurf;
203 /* now why did MS create CALLBACKS2 and CALLBACKS3 structures if
204 * all these reserved fields were available? we may never know */
205 LPVOID lpReserved12;
206 LPVOID lpReserved13;
207 LPVOID lpReserved14;
208 LPVOID lpReserved15;
209 LPVOID lpReserved16;
210 LPVOID lpReserved17;
211 LPVOID lpReserved18;
212 LPVOID lpReserved19;
213 LPVOID lpReserved20;
214 LPVOID lpReserved21;
215 LPD3DHAL_GETSTATECB GetState;
216 DWORD dwReserved0;
217 DWORD dwReserved1;
218 DWORD dwReserved2;
219 DWORD dwReserved3;
220 DWORD dwReserved4;
221 DWORD dwReserved5;
222 DWORD dwReserved6;
223 DWORD dwReserved7;
224 DWORD dwReserved8;
225 DWORD dwReserved9;
226} D3DHAL_CALLBACKS,*LPD3DHAL_CALLBACKS;
227
228typedef struct _D3DHAL_SETRENDERTARGETDATA *LPD3DHAL_SETRENDERTARGETDATA;
229typedef struct _D3DHAL_CLEARDATA *LPD3DHAL_CLEARDATA;
230typedef struct _D3DHAL_DRAWONEPRIMITIVEDATA *LPD3DHAL_DRAWONEPRIMITIVEDATA;
231typedef struct _D3DHAL_DRAWONEINDEXEDPRIMITIVEDATA *LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA;
232typedef struct _D3DHAL_DRAWPRIMITIVESDATA *LPD3DHAL_DRAWPRIMITIVESDATA;
233
234typedef DWORD (PASCAL *LPD3DHAL_SETRENDERTARGETCB) (LPD3DHAL_SETRENDERTARGETDATA);
235typedef DWORD (PASCAL *LPD3DHAL_CLEARCB) (LPD3DHAL_CLEARDATA);
236typedef DWORD (PASCAL *LPD3DHAL_DRAWONEPRIMITIVECB) (LPD3DHAL_DRAWONEPRIMITIVEDATA);
237typedef DWORD (PASCAL *LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB)(LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA);
238typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVESCB) (LPD3DHAL_DRAWPRIMITIVESDATA);
239
240typedef struct _D3DHAL_CALLBACKS2 {
241 DWORD dwSize;
242 DWORD dwFlags;
243 LPD3DHAL_SETRENDERTARGETCB SetRenderTarget;
244 LPD3DHAL_CLEARCB Clear;
245 LPD3DHAL_DRAWONEPRIMITIVECB DrawOnePrimitive;
246 LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB DrawOneIndexedPrimitive;
247 LPD3DHAL_DRAWPRIMITIVESCB DrawPrimitives;
248} D3DHAL_CALLBACKS2,*LPD3DHAL_CALLBACKS2;
249
250typedef struct _D3DHAL_CLEAR2DATA *LPD3DHAL_CLEAR2DATA;
251typedef struct _D3DHAL_VALIDATETEXTURESTAGESTATEDATA *LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA;
252typedef struct _D3DHAL_DRAWPRIMITIVES2DATA *LPD3DHAL_DRAWPRIMITIVES2DATA;
253
254typedef DWORD (PASCAL *LPD3DHAL_CLEAR2CB) (LPD3DHAL_CLEAR2DATA);
255typedef DWORD (PASCAL *LPD3DHAL_VALIDATETEXTURESTAGESTATECB)(LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA);
256typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVES2CB) (LPD3DHAL_DRAWPRIMITIVES2DATA);
257
258typedef struct _D3DHAL_CALLBACKS3 {
259 DWORD dwSize;
260 DWORD dwFlags;
261 LPD3DHAL_CLEAR2CB Clear2;
262 LPVOID lpvReserved;
263 LPD3DHAL_VALIDATETEXTURESTAGESTATECB ValidateTextureStageState;
264 LPD3DHAL_DRAWPRIMITIVES2CB DrawPrimitives2;
265} D3DHAL_CALLBACKS3,*LPD3DHAL_CALLBACKS3;
266
267/*****************************************************************************
268 * parameter structures
269 */
270typedef struct _D3DHAL_CONTEXTCREATEDATA {
271 union {
272 LPDDRAWI_DIRECTDRAW_GBL lpDDGbl; /* pre-DirectX 7 */
273 LPDDRAWI_DIRECTDRAW_LCL lpDDLcl; /* DirectX 7 */
274 } DUMMYUNIONNAME1;
275 union {
276 LPDIRECTDRAWSURFACE lpDDS;
277 LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl; /* DirectX 7 */
278 } DUMMYUNIONNAME2;
279 union {
280 LPDIRECTDRAWSURFACE lpDDSZ;
281 LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl; /* DirectX 7 */
282 } DUMMYUNIONNAME3;
283 union {
284 DWORD dwPID;
285 ULONG_PTR dwrstates;
286 } DUMMYUNIONNAME4;
287 ULONG_PTR dwhContext;
288 HRESULT ddrval;
289} D3DHAL_CONTEXTCREATEDATA;
290
291typedef struct _D3DHAL_CONTEXTDESTROYDATA {
292 ULONG_PTR dwhContext;
293 HRESULT ddrval;
294} D3DHAL_CONTEXTDESTROYDATA;
295
296typedef struct _D3DHAL_CONTEXTDESTROYALLDATA {
297 DWORD dwPID;
298 HRESULT ddrval;
299} D3DHAL_CONTEXTDESTROYALLDATA;
300
301typedef struct _D3DHAL_SCENECAPTUREDATA {
302 ULONG_PTR dwhContext;
303 DWORD dwFlag;
304 HRESULT ddrval;
305} D3DHAL_SCENECAPTUREDATA;
306
307#define D3DHAL_SCENE_CAPTURE_START 0x00000000
308#define D3DHAL_SCENE_CAPTURE_END 0x00000001
309
310typedef struct _D3DHAL_SETRENDERTARGETDATA {
311 ULONG_PTR dwhContext;
312 union {
313 LPDIRECTDRAWSURFACE lpDDS;
314 LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl;
315 } DUMMYUNIONNAME1;
316 union {
317 LPDIRECTDRAWSURFACE lpDDSZ;
318 LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl;
319 } DUMMYUNIONNAME2;
320 HRESULT ddrval;
321} D3DHAL_SETRENDERTARGETDATA;
322
323typedef struct _D3DHAL_DRAWPRIMITIVES2DATA {
324 ULONG_PTR dwhContext;
325 DWORD dwFlags;
326 DWORD dwVertexType;
327 LPDDRAWI_DDRAWSURFACE_LCL lpDDCommands;
328 DWORD dwCommandOffset;
329 DWORD dwCommandLength;
330 union {
331 LPDDRAWI_DDRAWSURFACE_LCL lpDDVertex;
332 LPVOID lpVertices;
333 } DUMMYUNIONNAME1;
334 DWORD dwVertexOffset;
335 DWORD dwVertexLength;
336 DWORD dwReqVertexBufSize;
337 DWORD dwReqCommandBufSize;
338 LPDWORD lpdwRStates;
339 union {
340 DWORD dwVertexSize;
341 HRESULT ddrval;
342 } DUMMYUNIONNAME2;
343 DWORD dwErrorOffset;
344} D3DHAL_DRAWPRIMITIVES2DATA;
345
346#define D3DHALDP2_USERMEMVERTICES 0x00000001
347#define D3DHALDP2_EXECUTEBUFFER 0x00000002
348#define D3DHALDP2_SWAPVERTEXBUFFER 0x00000004
349#define D3DHALDP2_SWAPCOMMANDBUFFER 0x00000008
350#define D3DHALDP2_REQVERTEXBUFSIZE 0x00000010
351#define D3DHALDP2_REQCOMMANDBUFSIZE 0x00000020
352#define D3DHALDP2_VIDMEMVERTEXBUF 0x00000040
353#define D3DHALDP2_VIDMEMCOMMANDBUF 0x00000080
354
355/*****************************************************************************
356 * DrawPrimitives2 command structures
357 */
358typedef struct _D3DHAL_DP2COMMAND {
359 BYTE bCommand;
360 BYTE bReserved;
361 union {
362 WORD wPrimitiveCount;
363 WORD wStateCount;
364 } DUMMYUNIONNAME;
365} D3DHAL_DP2COMMAND,*LPD3DHAL_DP2COMMAND;
366
367typedef enum _D3DHAL_DP2OPERATION {
368 D3DDP2OP_POINTS = 1,
369 D3DDP2OP_INDEXEDLINELIST = 2,
370 D3DDP2OP_INDEXEDTRIANGLELIST = 3,
371 D3DDP2OP_RENDERSTATE = 8,
372 D3DDP2OP_LINELIST = 15,
373 D3DDP2OP_LINESTRIP = 16,
374 D3DDP2OP_INDEXEDLINESTRIP = 17,
375 D3DDP2OP_TRIANGLELIST = 18,
376 D3DDP2OP_TRIANGLESTRIP = 19,
377 D3DDP2OP_INDEXEDTRIANGLESTRIP = 20,
378 D3DDP2OP_TRIANGLEFAN = 21,
379 D3DDP2OP_INDEXEDTRIANGLEFAN = 22,
380 D3DDP2OP_TRIANGLEFAN_IMM = 23,
381 D3DDP2OP_LINELIST_IMM = 24,
382 D3DDP2OP_TEXTURESTAGESTATE = 25,
383 D3DDP2OP_INDEXEDTRIANGLELIST2 = 26,
384 D3DDP2OP_INDEXEDLINELIST2 = 27,
385 D3DDP2OP_VIEWPORTINFO = 28,
386 D3DDP2OP_WINFO = 29,
387 /* pre-DirectX 7 interfaces */
388 D3DDP2OP_SETPALETTE = 30,
389 D3DDP2OP_UPDATEPALETTE = 31,
390 /* DirectX 7 interfaces */
391 D3DDP2OP_ZRANGE = 32,
392 D3DDP2OP_SETMATERIAL = 33,
393 D3DDP2OP_SETLIGHT = 34,
394 D3DDP2OP_CREATELIGHT = 35,
395 D3DDP2OP_SETTRANSFORM = 36,
396 D3DDP2OP_TEXBLT = 38,
397 D3DDP2OP_STATESET = 39,
398 D3DDP2OP_SETPRIORITY = 40,
399 /* all interfaces */
400 D3DDP2OP_SETRENDERTARGET = 41,
401 D3DDP2OP_CLEAR = 42,
402 /* DirectX 7 interfaces */
403 D3DDP2OP_SETTEXLOD = 43,
404 D3DPP2OP_SETCLIPPLANE = 44
405} D3DHAL_DP2OPERATION;
406
407/* point primitives */
408
409typedef struct _D3DHAL_POINTS {
410 WORD wCount;
411 WORD wVStart;
412} D3DHAL_DP2POINTS,*LPD3DHAL_DP2POINTS;
413
414/* line primitives */
415
416typedef struct _D3DHAL_DP2STARTVERTEX {
417 WORD wVStart;
418} D3DHAL_DP2STARTVERTEX,*LPD3DHAL_DP2STARTVERTEX;
419
420typedef struct _D3DHAL_DP2LINELIST {
421 WORD wVStart;
422} D3DHAL_DP2LINELIST,*LPD3DHAL_DP2LINELIST;
423
424typedef struct _D3DHAL_DP2INDEXEDLINELIST {
425 WORD wV1;
426 WORD wV2;
427} D3DHAL_DP2INDEXEDLINELIST,*LPD3DHAL_DP2INDEXEDLINELIST;
428
429typedef struct _D3DHAL_DP2LINESTRIP {
430 WORD wVStart;
431} D3DHAL_DP2LINESTRIP,*LPD3DHAL_DP2LINESTRIP;
432
433typedef struct _D3DHAL_DP2INDEXEDLINESTRIP {
434 WORD wV[2];
435} D3DHAL_DP2INDEXEDLINESTRIP,*LPD3DHAL_DP2INDEXEDLINESTRIP;
436
437/* triangle primitives */
438
439typedef struct _D3DHAL_DP2TRIANGLELIST {
440 WORD wVStart;
441} D3DHAL_DP2TRIANGLELIST,*LPD3DHAL_DP2TRIANGLELIST;
442
443typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST {
444 WORD wV1;
445 WORD wV2;
446 WORD wV3;
447 WORD wFlags;
448} D3DHAL_DP2INDEXEDTRIANGLELIST,*LPD3DHAL_DP2INDEXEDTRIANGLELIST;
449
450typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST2 {
451 WORD wV1;
452 WORD wV2;
453 WORD wV3;
454} D3DHAL_DP2INDEXEDTRIANGLELIST2,*LPD3DHAL_DP2INDEXEDTRIANGLELIST2;
455
456typedef struct _D3DHAL_DP2TRIANGLESTRIP {
457 WORD wVStart;
458} D3DHAL_DP2TRIANGLESTRIP,*LPD3DHAL_DP2TRIANGLESTRIP;
459
460typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
461 WORD wV[3];
462} D3DHAL_DP2INDEXEDTRIANGLESTRIP,*LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;
463
464typedef struct _D3DHAL_DP2TRIANGLEFAN {
465 WORD wVStart;
466} D3DHAL_DP2TRIANGLEFAN,*LPD3DHAL_DP2TRIANGLEFAN;
467
468typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
469 WORD wV[3];
470} D3DHAL_DP2INDEXEDTRIANGLEFAN,*LPD3DHAL_DP2INDEXEDTRIANGLEFAN;
471
472typedef struct _D3DHAL_DP2TRIANGLEFAN_IMM {
473 DWORD dwEdgeFlags;
474} D3DHAL_DP2TRIANGLEFAN_IMM,*LPD3DHAL_DP2TRIANGLEFAN_IMM;
475
476/* render states */
477typedef struct _D3DHAL_DP2RENDERSTATE {
478 D3DRENDERSTATETYPE RenderState;
479 union {
480 D3DVALUE dvState;
481 DWORD dwState;
482 } DUMMYUNIONNAME;
483} D3DHAL_DP2RENDERSTATE,*LPD3DHAL_DP2RENDERSTATE;
484
485typedef struct _D3DHAL_DP2TEXTURESTAGESTATE {
486 WORD wStage;
487 WORD TSState;
488 DWORD dwValue;
489} D3DHAL_DP2TEXTURESTAGESTATE,*LPD3DHAL_DP2TEXTURESTAGESTATE;
490
491#define D3DTSS_TEXTUREMAP 0
492
493typedef struct _D3DHAL_DP2VIEWPORTINFO {
494 DWORD dwX;
495 DWORD dwY;
496 DWORD dwWidth;
497 DWORD dwHeight;
498} D3DHAL_DP2VIEWPORTINFO,*LPD3DHAL_DP2VIEWPORTINFO;
499
500typedef struct _D3DHAL_DP2WINFO {
501 D3DVALUE dwWNear;
502 D3DVALUE dwWFar;
503} D3DHAL_DP2WINFO,*LPD3DHAL_DP2WINFO;
504
505typedef struct _D3DHAL_DP2SETPALETTE {
506 DWORD dwPaletteHandle;
507 DWORD dwPaletteFlags;
508 DWORD dwSurfaceHandle;
509} D3DHAL_DP2SETPALETTE,*LPD3DHAL_DP2SETPALETTE;
510
511typedef struct _D3DHAL_DP2UPDATEPALETTE {
512 DWORD dwPaletteHandle;
513 WORD wStartIndex;
514 WORD wNumEntries;
515} D3DHAL_DP2UPDATEPALETTE,*LPD3DHAL_DP2UPDATEPALETTE;
516
517typedef struct _D3DHAL_DP2ZRANGE {
518 D3DVALUE dvMinZ;
519 D3DVALUE dvMaxZ;
520} D3DHAL_DP2ZRANGE,*LPD3DHAL_DP2ZRANGE;
521
522typedef D3DMATERIAL7 D3DHAL_DP2SETMATERIAL,*LPD3DHAL_DP2SETMATERIAL;
523
524typedef struct _D3DHAL_DP2SETLIGHT {
525 DWORD dwIndex;
526 DWORD dwDataType;
527} D3DHAL_DP2SETLIGHT,*LPD3DHAL_DP2SETLIGHT;
528
529#define D3DHAL_SETLIGHT_ENABLE 0
530#define D3DHAL_SETLIGHT_DISABLE 1
531#define D3DHAL_SETLIGHT_DATA 2
532
533typedef struct _D3DHAL_DP2CREATELIGHT {
534 DWORD dwIndex;
535} D3DHAL_DP2CREATELIGHT,*LPD3DHAL_DP2CREATELIGHT;
536
537typedef struct _D3DHAL_DP2SETTRANSFORM {
538 D3DTRANSFORMSTATETYPE xfrmType;
539 D3DMATRIX matrix;
540} D3DHAL_DP2SETTRANSFORM,*LPD3DHAL_DP2SETTRANSFORM;
541
542typedef struct _D3DHAL_DP2TEXBLT {
543 DWORD dwDDDestSurface;
544 DWORD dwDDSrcSurface;
545 POINT pDest;
546 RECTL rSrc;
547 DWORD dwFlags;
548} D3DHAL_DP2TEXBLT,*LPD3DHAL_DP2TEXBLT;
549
550typedef struct _D3DHAL_DP2STATESET {
551 DWORD dwOperation;
552 DWORD dwParam;
553 D3DSTATEBLOCKTYPE sbType;
554} D3DHAL_DP2STATESET,*LPD3DHAL_DP2STATESET;
555
556#define D3DHAL_STATESETBEGIN 0
557#define D3DHAL_STATESETEND 1
558#define D3DHAL_STATESETDELETE 2
559#define D3DHAL_STATESETEXECUTE 3
560#define D3DHAL_STATESETCAPTURE 4
561
562typedef struct _D3DHAL_DP2SETPRIORITY {
563 DWORD dwDDSurface;
564 DWORD dwPriority;
565} D3DHAL_DP2SETPRIORITY,*LPD3DHAL_DP2SETPRIORITY;
566
567typedef struct _D3DHAL_DP2SETRENDERTARGET {
568 DWORD hRenderTarget;
569 DWORD hZBuffer;
570} D3DHAL_DP2SETRENDERTARGET,*LPD3DHAL_DP2SETRENDERTARGET;
571
572typedef struct _D3DHAL_DP2CLEAR {
573 DWORD dwFlags;
574 DWORD dwFillColor;
575 D3DVALUE dvFillDepth;
576 DWORD dwFillStencil;
577 RECT Rects[1];
578} D3DHAL_DP2CLEAR,*LPD3DHAL_DP2CLEAR;
579
580typedef struct _D3DHAL_DP2SETTEXLOD {
581 DWORD dwDDSurface;
582 DWORD dwLOD;
583} D3DHAL_DP2SETTEXLOD,*LPD3DHAL_DP2SETTEXLOD;
584
585#ifdef __cplusplus
586} /* extern "C" */
587#endif
588
589#endif /* __WINE_D3DHAL_H */
Note: See TracBrowser for help on using the repository browser.