VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/d3dhal.h

最後變更 在這個檔案是 53206,由 vboxsync 提交於 10 年 前

Devices/vmsvga: header fixes

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

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