VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/d3drmdef.h@ 30926

Last change on this file since 30926 was 28475, checked in by vboxsync, 15 years ago

crOpenGL: update to wine 1.1.43

  • Property svn:eol-style set to native
File size: 7.8 KB
Line 
1/*
2 * Copyright 2007 Vijay Kiran Kamuju
3 * Copyright 2007 David ADAM
4 * Copyright 2010 Christian Costa
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21/*
22 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
23 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
24 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
25 * a choice of LGPL license versions is made available with the language indicating
26 * that LGPLv2 or any later version may be used, or where a choice of which version
27 * of the LGPL is applied is otherwise unspecified.
28 */
29
30#ifndef __D3DRMDEFS_H__
31#define __D3DRMDEFS_H__
32
33#include <stddef.h>
34#include <d3dtypes.h>
35
36#if defined(__cplusplus)
37extern "C" {
38#endif
39
40typedef struct _D3DRMVECTOR4D
41{
42 D3DVALUE x;
43 D3DVALUE y;
44 D3DVALUE z;
45 D3DVALUE w;
46} D3DRMVECTOR4D, *LPD3DRMVECTOR4D;
47
48typedef D3DVALUE D3DRMMATRIX4D[4][4];
49
50typedef struct _D3DRMQUATERNION {
51 D3DVALUE s;
52 D3DVECTOR v;
53} D3DRMQUATERNION, *LPD3DRMQUATERNION;
54
55typedef struct _D3DRMRAY {
56 D3DVECTOR dvDir;
57 D3DVECTOR dvPos;
58} D3DRMRAY, *LPD3DRMRAY;
59
60typedef struct _D3DRMBOX {
61 D3DVECTOR min;
62 D3DVECTOR max;
63} D3DRMBOX, *LPD3DRMBOX;
64
65typedef enum _D3DRMLIGHTTYPE {
66 D3DRMLIGHT_AMBIENT,
67 D3DRMLIGHT_POINT,
68 D3DRMLIGHT_SPOT,
69 D3DRMLIGHT_DIRECTIONAL,
70 D3DRMLIGHT_PARALLELPOINT
71} D3DRMLIGHTTYPE, *LPD3DRMLIGHTTYPE;
72
73typedef DWORD D3DRMRENDERQUALITY, *LPD3DRMRENDERQUALITY;
74
75typedef enum _D3DRMTEXTUREQUALITY {
76 D3DRMTEXTURE_NEAREST,
77 D3DRMTEXTURE_LINEAR,
78 D3DRMTEXTURE_MIPNEAREST,
79 D3DRMTEXTURE_MIPLINEAR,
80 D3DRMTEXTURE_LINEARMIPNEAREST,
81 D3DRMTEXTURE_LINEARMIPLINEAR
82} D3DRMTEXTUREQUALITY, *LPD3DRMTEXTUREQUALITY;
83
84typedef enum _D3DRMCOMBINETYPE {
85 D3DRMCOMBINE_REPLACE,
86 D3DRMCOMBINE_BEFORE,
87 D3DRMCOMBINE_AFTER
88} D3DRMCOMBINETYPE, *LPD3DRMCOMBINETYPE;
89
90typedef struct _D3DRMPALETTEENTRY {
91 unsigned char red;
92 unsigned char green;
93 unsigned char blue;
94 unsigned char flags;
95} D3DRMPALETTEENTRY, *LPD3DRMPALETTEENTRY;
96
97typedef struct _D3DRMIMAGE {
98 int width;
99 int height;
100 int aspectx;
101 int aspecty;
102 int depth;
103 int rgb;
104 int bytes_per_line;
105 void* buffer1;
106 void* buffer2;
107 unsigned long red_mask;
108 unsigned long green_mask;
109 unsigned long blue_mask;
110 unsigned long alpha_mask;
111 int palette_size;
112 D3DRMPALETTEENTRY* palette;
113} D3DRMIMAGE, *LPD3DRMIMAGE;
114
115typedef enum _D3DRMWRAPTYPE {
116 D3DRMWRAP_FLAT,
117 D3DRMWRAP_CYLINDER,
118 D3DRMWRAP_SPHERE,
119 D3DRMWRAP_CHROME,
120 D3DRMWRAP_SHEET,
121 D3DRMWRAP_BOX
122} D3DRMWRAPTYPE, *LPD3DRMWRAPTYPE;
123
124typedef enum _D3DRMPROJECTIONTYPE
125{
126 D3DRMPROJECT_PERSPECTIVE,
127 D3DRMPROJECT_ORTHOGRAPHIC,
128 D3DRMPROJECT_RIGHTHANDPERSPECTIVE,
129 D3DRMPROJECT_RIGHTHANDORTHOGRAPHIC
130} D3DRMPROJECTIONTYPE, *LPD3DRMPROJECTIONTYPE;
131
132typedef enum _D3DRMXOFFORMAT {
133 D3DRMXOF_BINARY,
134 D3DRMXOF_COMPRESSED,
135 D3DRMXOF_TEXT
136} D3DRMXOFFORMAT, *LPD3DRMXOFFORMAT;
137
138typedef DWORD D3DRMSAVEOPTIONS;
139
140typedef enum _D3DRMCOLORSOURCE {
141 D3DRMCOLOR_FROMFACE,
142 D3DRMCOLOR_FROMVERTEX
143} D3DRMCOLORSOURCE, *LPD3DRMCOLORSOURCE;
144
145typedef enum _D3DRMFRAMECONSTRAINT {
146 D3DRMCONSTRAIN_Z,
147 D3DRMCONSTRAIN_Y,
148 D3DRMCONSTRAIN_X
149} D3DRMFRAMECONSTRAINT, *LPD3DRMFRAMECONSTRAINT;
150
151typedef enum _D3DRMMATERIALMODE {
152 D3DRMMATERIAL_FROMMESH,
153 D3DRMMATERIAL_FROMPARENT,
154 D3DRMMATERIAL_FROMFRAME
155} D3DRMMATERIALMODE, *LPD3DRMMATERIALMODE;
156
157typedef enum _D3DRMFOGMODE {
158 D3DRMFOG_LINEAR,
159 D3DRMFOG_EXPONENTIAL,
160 D3DRMFOG_EXPONENTIALSQUARED
161} D3DRMFOGMODE, *LPD3DRMFOGMODE;
162
163typedef enum _D3DRMZBUFFERMODE {
164 D3DRMZBUFFER_FROMPARENT,
165 D3DRMZBUFFER_ENABLE,
166 D3DRMZBUFFER_DISABLE
167} D3DRMZBUFFERMODE, *LPD3DRMZBUFFERMODE;
168
169typedef enum _D3DRMSORTMODE {
170 D3DRMSORT_FROMPARENT,
171 D3DRMSORT_NONE,
172 D3DRMSORT_FRONTTOBACK,
173 D3DRMSORT_BACKTOFRONT
174} D3DRMSORTMODE, *LPD3DRMSORTMODE;
175
176typedef struct _D3DRMMATERIALOVERRIDE {
177 DWORD dwSize;
178 DWORD dwFlags;
179 D3DCOLORVALUE dcDiffuse;
180 D3DCOLORVALUE dcAmbient;
181 D3DCOLORVALUE dcEmissive;
182 D3DCOLORVALUE dcSpecular;
183 D3DVALUE dvPower;
184 LPUNKNOWN lpD3DRMTex;
185} D3DRMMATERIALOVERRIDE, *LPD3DRMMATERIALOVERRIDE;
186
187typedef DWORD D3DRMLOADOPTIONS;
188
189#define D3DRMLOAD_FROMFILE 0x000L
190#define D3DRMLOAD_FROMRESOURCE 0x001L
191#define D3DRMLOAD_FROMMEMORY 0x002L
192#define D3DRMLOAD_FROMSTREAM 0x004L
193#define D3DRMLOAD_FROMURL 0x008L
194
195#define D3DRMLOAD_BYNAME 0x010L
196#define D3DRMLOAD_BYPOSITION 0x020L
197#define D3DRMLOAD_BYGUID 0x040L
198#define D3DRMLOAD_FIRST 0x080L
199
200#define D3DRMLOAD_INSTANCEBYREFERENCE 0x100L
201#define D3DRMLOAD_INSTANCEBYCOPYING 0x200L
202
203#define D3DRMLOAD_ASYNCHRONOUS 0x400L
204
205typedef struct _D3DRMLOADRESOURCE {
206 HMODULE hModule;
207 LPCSTR /*LPCTSTR*/ lpName;
208 LPCSTR /*LPCTSTR*/ lpType;
209} D3DRMLOADRESOURCE, *LPD3DRMLOADRESOURCE;
210
211typedef struct _D3DRMLOADMEMORY {
212 LPVOID lpMemory;
213 DWORD dSize;
214} D3DRMLOADMEMORY, *LPD3DRMLOADMEMORY;
215
216typedef struct _D3DRMPMESHLOADSTATUS {
217 DWORD dwSize;
218 DWORD dwPMeshSize;
219 DWORD dwBaseMeshSize;
220 DWORD dwBytesLoaded;
221 DWORD dwVerticesLoaded;
222 DWORD dwFacesLoaded;
223 HRESULT dwLoadResult;
224 DWORD dwFlags;
225} D3DRMPMESHLOADSTATUS, *LPD3DRMPMESHLOADSTATUS;
226
227typedef enum _D3DRMUSERVISUALREASON {
228 D3DRMUSERVISUAL_CANSEE,
229 D3DRMUSERVISUAL_RENDER
230} D3DRMUSERVISUALREASON, *LPD3DRMUSERVISUALREASON;
231
232typedef DWORD D3DRMMAPPING;
233
234typedef struct _D3DRMVERTEX {
235 D3DVECTOR position;
236 D3DVECTOR normal;
237 D3DVALUE tu;
238 D3DVALUE tv;
239 D3DCOLOR color;
240} D3DRMVERTEX, *LPD3DRMVERTEX;
241
242typedef LONG D3DRMGROUPINDEX;
243
244void WINAPI D3DRMMatrixFromQuaternion(D3DRMMATRIX4D, LPD3DRMQUATERNION);
245
246LPD3DRMQUATERNION WINAPI D3DRMQuaternionFromRotation(LPD3DRMQUATERNION ,LPD3DVECTOR,D3DVALUE);
247LPD3DRMQUATERNION WINAPI D3DRMQuaternionMultiply(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION);
248LPD3DRMQUATERNION WINAPI D3DRMQuaternionSlerp(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION, D3DVALUE);
249
250LPD3DVECTOR WINAPI D3DRMVectorAdd(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
251LPD3DVECTOR WINAPI D3DRMVectorCrossProduct(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
252D3DVALUE WINAPI D3DRMVectorDotProduct(LPD3DVECTOR, LPD3DVECTOR);
253LPD3DVECTOR WINAPI D3DRMVectorNormalize(LPD3DVECTOR);
254
255#define D3DRMVectorNormalise D3DRMVectorNormalize
256
257D3DVALUE WINAPI D3DRMVectorModulus(LPD3DVECTOR);
258LPD3DVECTOR WINAPI D3DRMVectorRandom(LPD3DVECTOR);
259LPD3DVECTOR WINAPI D3DRMVectorRotate(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR, D3DVALUE);
260LPD3DVECTOR WINAPI D3DRMVectorReflect(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
261LPD3DVECTOR WINAPI D3DRMVectorScale(LPD3DVECTOR, LPD3DVECTOR, D3DVALUE);
262LPD3DVECTOR WINAPI D3DRMVectorSubtract(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
263
264D3DCOLOR WINAPI D3DRMCreateColorRGB(D3DVALUE, D3DVALUE, D3DVALUE);
265D3DCOLOR WINAPI D3DRMCreateColorRGBA(D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE);
266D3DVALUE WINAPI D3DRMColorGetAlpha(D3DCOLOR);
267D3DVALUE WINAPI D3DRMColorGetBlue(D3DCOLOR);
268D3DVALUE WINAPI D3DRMColorGetGreen(D3DCOLOR);
269D3DVALUE WINAPI D3DRMColorGetRed(D3DCOLOR);
270
271#if defined(__cplusplus)
272}
273#endif
274
275#endif
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