VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/d3dhal.h@ 30705

Last change on this file since 30705 was 16477, checked in by vboxsync, 16 years ago

LGPL disclaimer by filemuncher

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette