ReactOS 0.4.16-dev-117-g38f21f9
face.c
Go to the documentation of this file.
1/*
2 * Implementation of IDirect3DRMFace Interface
3 *
4 * Copyright 2013 André Hentschel
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#include "d3drm_private.h"
22
24
25static inline struct d3drm_face *impl_from_IDirect3DRMFace(IDirect3DRMFace *iface)
26{
28}
29
30static inline struct d3drm_face *impl_from_IDirect3DRMFace2(IDirect3DRMFace2 *iface)
31{
33}
34
35static HRESULT WINAPI d3drm_face1_QueryInterface(IDirect3DRMFace *iface, REFIID riid, void **out)
36{
38
39 TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
40
41 if (IsEqualGUID(riid, &IID_IDirect3DRMFace)
42 || IsEqualGUID(riid, &IID_IDirect3DRMObject)
44 {
45 *out = &face->IDirect3DRMFace_iface;
46 }
47 else if(IsEqualGUID(riid, &IID_IDirect3DRMFace2))
48 {
49 *out = &face->IDirect3DRMFace2_iface;
50 }
51 else
52 {
53 *out = NULL;
54 WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
55 return E_NOINTERFACE;
56 }
57
58 IUnknown_AddRef((IUnknown *)*out);
59 return S_OK;
60}
61
62static ULONG WINAPI d3drm_face1_AddRef(IDirect3DRMFace *iface)
63{
65 ULONG refcount = InterlockedIncrement(&face->ref);
66
67 TRACE("%p increasing refcount to %u.\n", iface, refcount);
68
69 return refcount;
70}
71
72static ULONG WINAPI d3drm_face1_Release(IDirect3DRMFace *iface)
73{
75 ULONG refcount = InterlockedDecrement(&face->ref);
76
77 TRACE("%p decreasing refcount to %u.\n", iface, refcount);
78
79 if (!refcount)
80 {
81 d3drm_object_cleanup((IDirect3DRMObject *)iface, &face->obj);
83 }
84
85 return refcount;
86}
87
88static HRESULT WINAPI d3drm_face1_Clone(IDirect3DRMFace *iface,
89 IUnknown *outer, REFIID iid, void **out)
90{
91 FIXME("iface %p, outer %p, iid %s, out %p stub!\n", iface, outer, debugstr_guid(iid), out);
92
93 return E_NOTIMPL;
94}
95
96static HRESULT WINAPI d3drm_face1_AddDestroyCallback(IDirect3DRMFace *iface,
98{
100
101 TRACE("iface %p, cb %p, ctx %p.\n", iface, cb, ctx);
102
103 return IDirect3DRMFace2_AddDestroyCallback(&face->IDirect3DRMFace2_iface, cb, ctx);
104}
105
108{
110
111 TRACE("iface %p, cb %p, ctx %p.\n", iface, cb, ctx);
112
113 return IDirect3DRMFace2_DeleteDestroyCallback(&face->IDirect3DRMFace2_iface, cb, ctx);
114}
115
116static HRESULT WINAPI d3drm_face2_SetAppData(IDirect3DRMFace2 *iface, DWORD data)
117{
119
120 TRACE("iface %p, data %#x.\n", iface, data);
121
122 face->obj.appdata = data;
123
124 return D3DRM_OK;
125}
126
127static HRESULT WINAPI d3drm_face1_SetAppData(IDirect3DRMFace *iface, DWORD data)
128{
130
131 TRACE("iface %p, data %#x.\n", iface, data);
132
133 return d3drm_face2_SetAppData(&face->IDirect3DRMFace2_iface, data);
134}
135
136static DWORD WINAPI d3drm_face2_GetAppData(IDirect3DRMFace2 *iface)
137{
139
140 TRACE("iface %p.\n", iface);
141
142 return face->obj.appdata;
143}
144
145static DWORD WINAPI d3drm_face1_GetAppData(IDirect3DRMFace *iface)
146{
148
149 TRACE("iface %p.\n", iface);
150
151 return d3drm_face2_GetAppData(&face->IDirect3DRMFace2_iface);
152}
153
154static HRESULT WINAPI d3drm_face2_SetName(IDirect3DRMFace2 *iface, const char *name)
155{
157
158 TRACE("iface %p, name %s.\n", iface, debugstr_a(name));
159
160 return d3drm_object_set_name(&face->obj, name);
161}
162
163static HRESULT WINAPI d3drm_face1_SetName(IDirect3DRMFace *iface, const char *name)
164{
166
167 TRACE("iface %p, name %s.\n", iface, debugstr_a(name));
168
169 return d3drm_face2_SetName(&face->IDirect3DRMFace2_iface, name);
170}
171
172static HRESULT WINAPI d3drm_face2_GetName(IDirect3DRMFace2 *iface, DWORD *size, char *name)
173{
175
176 TRACE("iface %p, size %p, name %p.\n", iface, size, name);
177
178 return d3drm_object_get_name(&face->obj, size, name);
179}
180
181static HRESULT WINAPI d3drm_face1_GetName(IDirect3DRMFace *iface, DWORD *size, char *name)
182{
184
185 TRACE("iface %p, size %p, name %p.\n", iface, size, name);
186
187 return d3drm_face2_GetName(&face->IDirect3DRMFace2_iface, size, name);
188}
189
190static HRESULT WINAPI d3drm_face1_GetClassName(IDirect3DRMFace *iface, DWORD *size, char *name)
191{
193
194 TRACE("iface %p, size %p, name %p.\n", iface, size, name);
195
196 return IDirect3DRMFace2_GetClassName(&face->IDirect3DRMFace2_iface, size, name);
197}
198
200{
201 FIXME("iface %p, x %.8e, y %.8e, z %.8e stub!\n", iface, x, y, z);
202
203 return E_NOTIMPL;
204}
205
208{
209 FIXME("iface %p, vertex %u, normal %u stub!\n", iface, vertex, normal);
210
211 return E_NOTIMPL;
212}
213
215{
217
218 TRACE("iface %p, red %.8e, green %.8e, blue %.8e.\n", iface, red, green, blue);
219
220 d3drm_set_color(&face->color, red, green, blue, 1.0f);
221
222 return D3DRM_OK;
223}
224
225static HRESULT WINAPI d3drm_face1_SetColorRGB(IDirect3DRMFace *iface,
227{
229
230 TRACE("iface %p, red %.8e, green %.8e, blue %.8e.\n", iface, red, green, blue);
231
232 return d3drm_face2_SetColorRGB(&face->IDirect3DRMFace2_iface, red, green, blue);
233}
234
235static HRESULT WINAPI d3drm_face2_SetColor(IDirect3DRMFace2 *iface, D3DCOLOR color)
236{
238
239 TRACE("iface %p, color 0x%08x.\n", iface, color);
240
241 face->color = color;
242
243 return D3DRM_OK;
244}
245
246static HRESULT WINAPI d3drm_face1_SetColor(IDirect3DRMFace *iface, D3DCOLOR color)
247{
249
250 TRACE("iface %p, color 0x%08x.\n", iface, color);
251
252 return d3drm_face2_SetColor(&face->IDirect3DRMFace2_iface, color);
253}
254
255static HRESULT WINAPI d3drm_face1_SetTexture(IDirect3DRMFace *iface, IDirect3DRMTexture *texture)
256{
257 FIXME("iface %p, texture %p stub!\n", iface, texture);
258
259 return E_NOTIMPL;
260}
261
264{
265 FIXME("iface %p, vertex %u, u %.8e, v %.8e stub!\n", iface, vertex, u, v);
266
267 return E_NOTIMPL;
268}
269
270static HRESULT WINAPI d3drm_face1_SetMaterial(IDirect3DRMFace *iface, IDirect3DRMMaterial *material)
271{
272 FIXME("iface %p, material %p stub!\n", iface, material);
273
274 return E_NOTIMPL;
275}
276
277static HRESULT WINAPI d3drm_face1_SetTextureTopology(IDirect3DRMFace *iface, BOOL wrap_u, BOOL wrap_v)
278{
279 FIXME("iface %p, wrap_u %#x, wrap_v %#x stub!\n", iface, wrap_u, wrap_v);
280
281 return E_NOTIMPL;
282}
283
284static HRESULT WINAPI d3drm_face1_GetVertex(IDirect3DRMFace *iface,
286{
287 FIXME("iface %p, index %u, vertex %p, normal %p stub!\n", iface, index, vertex, normal);
288
289 return E_NOTIMPL;
290}
291
292static HRESULT WINAPI d3drm_face1_GetVertices(IDirect3DRMFace *iface,
294{
295 FIXME("iface %p, vertex_count %p, coords %p, normals %p stub!\n",
296 iface, vertex_count, coords, normals);
297
298 return E_NOTIMPL;
299}
300
303{
304 FIXME("iface %p, vertex %u, u %p, v %p stub!\n", iface, vertex, u, v);
305
306 return E_NOTIMPL;
307}
308
309static HRESULT WINAPI d3drm_face1_GetTextureTopology(IDirect3DRMFace *iface, BOOL *wrap_u, BOOL *wrap_v)
310{
311 FIXME("iface %p, wrap_u %p, wrap_v %p stub!\n", iface, wrap_u, wrap_v);
312
313 return E_NOTIMPL;
314}
315
316static HRESULT WINAPI d3drm_face1_GetNormal(IDirect3DRMFace *iface, D3DVECTOR *normal)
317{
318 FIXME("iface %p, normal %p stub!\n", iface, normal);
319
320 return E_NOTIMPL;
321}
322
323static HRESULT WINAPI d3drm_face1_GetTexture(IDirect3DRMFace *iface, IDirect3DRMTexture **texture)
324{
325 FIXME("iface %p, texture %p stub!\n", iface, texture);
326
327 return E_NOTIMPL;
328}
329
330static HRESULT WINAPI d3drm_face1_GetMaterial(IDirect3DRMFace *iface, IDirect3DRMMaterial **material)
331{
332 FIXME("iface %p, material %p stub!\n", iface, material);
333
334 return E_NOTIMPL;
335}
336
337static int WINAPI d3drm_face1_GetVertexCount(IDirect3DRMFace *iface)
338{
339 FIXME("iface %p stub!\n", iface);
340
341 return 0;
342}
343
344static int WINAPI d3drm_face1_GetVertexIndex(IDirect3DRMFace *iface, DWORD which)
345{
346 FIXME("iface %p, which %u stub!\n", iface, which);
347
348 return 0;
349}
350
351static int WINAPI d3drm_face1_GetTextureCoordinateIndex(IDirect3DRMFace *iface, DWORD which)
352{
353 FIXME("iface %p, which %u stub!\n", iface, which);
354
355 return 0;
356}
357
358static D3DCOLOR WINAPI d3drm_face2_GetColor(IDirect3DRMFace2 *iface)
359{
361
362 TRACE("iface %p.\n", iface);
363
364 return face->color;
365}
366
367static D3DCOLOR WINAPI d3drm_face1_GetColor(IDirect3DRMFace *iface)
368{
370
371 TRACE("iface %p.\n", iface);
372
373 return d3drm_face2_GetColor(&face->IDirect3DRMFace2_iface);
374}
375
376static const struct IDirect3DRMFaceVtbl d3drm_face1_vtbl =
377{
408};
409
410static HRESULT WINAPI d3drm_face2_QueryInterface(IDirect3DRMFace2 *iface, REFIID riid, void **out)
411{
413
414 return d3drm_face1_QueryInterface(&face->IDirect3DRMFace_iface, riid, out);
415}
416
417static ULONG WINAPI d3drm_face2_AddRef(IDirect3DRMFace2 *iface)
418{
420
421 return d3drm_face1_AddRef(&face->IDirect3DRMFace_iface);
422}
423
424static ULONG WINAPI d3drm_face2_Release(IDirect3DRMFace2 *iface)
425{
427
428 return d3drm_face1_Release(&face->IDirect3DRMFace_iface);
429}
430
431static HRESULT WINAPI d3drm_face2_Clone(IDirect3DRMFace2 *iface,
432 IUnknown *outer, REFIID iid, void **out)
433{
434 FIXME("iface %p, outer %p, iid %s, out %p stub!\n", iface, outer, debugstr_guid(iid), out);
435
436 return E_NOTIMPL;
437}
438
439static HRESULT WINAPI d3drm_face2_AddDestroyCallback(IDirect3DRMFace2 *iface,
441{
443
444 TRACE("iface %p, cb %p, ctx %p.\n", iface, cb, ctx);
445
447}
448
449static HRESULT WINAPI d3drm_face2_DeleteDestroyCallback(IDirect3DRMFace2 *iface,
451{
453
454 TRACE("iface %p, cb %p, ctx %p.\n", iface, cb, ctx);
455
457}
458
459static HRESULT WINAPI d3drm_face2_GetClassName(IDirect3DRMFace2 *iface, DWORD *size, char *name)
460{
462
463 TRACE("iface %p, size %p, name %p.\n", iface, size, name);
464
466}
467
469{
470 FIXME("iface %p, x %.8e, y %.8e, z %.8e stub!\n", iface, x, y, z);
471
472 return E_NOTIMPL;
473}
474
477{
478 FIXME("iface %p, vertex %u, normal %u stub!\n", iface, vertex, normal);
479
480 return E_NOTIMPL;
481}
482
483static HRESULT WINAPI d3drm_face2_SetTexture(IDirect3DRMFace2 *iface, IDirect3DRMTexture3 *texture)
484{
485 FIXME("iface %p, texture %p stub!\n", iface, texture);
486
487 return E_NOTIMPL;
488}
489
490static HRESULT WINAPI d3drm_face2_SetTextureCoordinates(IDirect3DRMFace2 *iface,
492{
493 FIXME("iface %p, vertex %u, u %.8e, v %.8e stub!\n", iface, vertex, u, v);
494
495 return E_NOTIMPL;
496}
497
498static HRESULT WINAPI d3drm_face2_SetMaterial(IDirect3DRMFace2 *iface, IDirect3DRMMaterial2 *material)
499{
500 FIXME("iface %p, material %p stub!\n", iface, material);
501
502 return E_NOTIMPL;
503}
504
505static HRESULT WINAPI d3drm_face2_SetTextureTopology(IDirect3DRMFace2 *iface, BOOL wrap_u, BOOL wrap_v)
506{
507 FIXME("iface %p, wrap_u %#x, wrap_v %#x stub!\n", iface, wrap_u, wrap_v);
508
509 return E_NOTIMPL;
510}
511
512static HRESULT WINAPI d3drm_face2_GetVertex(IDirect3DRMFace2 *iface,
514{
515 FIXME("iface %p, index %u, vertex %p, normal %p stub!\n", iface, index, vertex, normal);
516
517 return E_NOTIMPL;
518}
519
520static HRESULT WINAPI d3drm_face2_GetVertices(IDirect3DRMFace2 *iface,
522{
523 FIXME("iface %p, vertex_count %p, coords %p, normals %p stub!\n",
524 iface, vertex_count, coords, normals);
525
526 return E_NOTIMPL;
527}
528
529static HRESULT WINAPI d3drm_face2_GetTextureCoordinates(IDirect3DRMFace2 *iface,
531{
532 FIXME("iface %p, vertex %u, u %p, v %p stub!\n", iface, vertex, u, v);
533
534 return E_NOTIMPL;
535}
536
537static HRESULT WINAPI d3drm_face2_GetTextureTopology(IDirect3DRMFace2 *iface, BOOL *wrap_u, BOOL *wrap_v)
538{
539 FIXME("iface %p, wrap_u %p, wrap_v %p stub!\n", iface, wrap_u, wrap_v);
540
541 return E_NOTIMPL;
542}
543
544static HRESULT WINAPI d3drm_face2_GetNormal(IDirect3DRMFace2 *iface, D3DVECTOR *normal)
545{
546 FIXME("iface %p, normal %p stub!\n", iface, normal);
547
548 return E_NOTIMPL;
549}
550
551static HRESULT WINAPI d3drm_face2_GetTexture(IDirect3DRMFace2 *iface, IDirect3DRMTexture3 **texture)
552{
553 FIXME("iface %p, texture %p stub!\n", iface, texture);
554
555 return E_NOTIMPL;
556}
557
558static HRESULT WINAPI d3drm_face2_GetMaterial(IDirect3DRMFace2 *iface, IDirect3DRMMaterial2 **material)
559{
560 FIXME("iface %p, material %p stub!\n", iface, material);
561
562 return E_NOTIMPL;
563}
564
565static int WINAPI d3drm_face2_GetVertexCount(IDirect3DRMFace2 *iface)
566{
567 FIXME("iface %p stub!\n", iface);
568
569 return 0;
570}
571
572static int WINAPI d3drm_face2_GetVertexIndex(IDirect3DRMFace2 *iface, DWORD which)
573{
574 FIXME("iface %p, which %u stub!\n", iface, which);
575
576 return 0;
577}
578
579static int WINAPI d3drm_face2_GetTextureCoordinateIndex(IDirect3DRMFace2 *iface, DWORD which)
580{
581 FIXME("iface %p, which %u stub!\n", iface, which);
582
583 return 0;
584}
585
586static const struct IDirect3DRMFace2Vtbl d3drm_face2_vtbl =
587{
618};
619
621{
622 static const char classname[] = "Face";
623 struct d3drm_face *object;
624
625 TRACE("face %p.\n", face);
626
627 if (!(object = heap_alloc_zero(sizeof(*object))))
628 return E_OUTOFMEMORY;
629
630 object->IDirect3DRMFace_iface.lpVtbl = &d3drm_face1_vtbl;
631 object->IDirect3DRMFace2_iface.lpVtbl = &d3drm_face2_vtbl;
632 object->ref = 1;
633
635
636 *face = object;
637
638 return S_OK;
639}
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
#define InterlockedIncrement
Definition: armddk.h:53
#define InterlockedDecrement
Definition: armddk.h:52
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
#define FIXME(fmt,...)
Definition: precomp.h:53
#define WARN(fmt,...)
Definition: precomp.h:61
const GUID IID_IUnknown
#define D3DRM_OK
Definition: d3drm.h:486
void d3drm_object_cleanup(IDirect3DRMObject *iface, struct d3drm_object *object)
Definition: d3drm_main.c:153
void d3drm_object_init(struct d3drm_object *object, const char *classname)
Definition: d3drm_main.c:39
HRESULT d3drm_object_get_name(struct d3drm_object *object, DWORD *size, char *name)
Definition: d3drm_main.c:111
HRESULT d3drm_object_delete_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: d3drm_main.c:72
HRESULT d3drm_object_add_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: d3drm_main.c:55
HRESULT d3drm_object_set_name(struct d3drm_object *object, const char *name)
Definition: d3drm_main.c:135
HRESULT d3drm_object_get_class_name(struct d3drm_object *object, DWORD *size, char *name)
Definition: d3drm_main.c:92
static void d3drm_set_color(D3DCOLOR *color, float r, float g, float b, float a)
#define IDirect3DRMFace2_DeleteDestroyCallback(p, a, b)
Definition: d3drmobj.h:2424
#define IDirect3DRMFace2_GetClassName(p, a, b)
Definition: d3drmobj.h:2429
#define IDirect3DRMFace2_AddDestroyCallback(p, a, b)
Definition: d3drmobj.h:2423
void(__cdecl * D3DRMOBJECTCALLBACK)(struct IDirect3DRMObject *obj, void *arg)
Definition: d3drmobj.h:157
float D3DVALUE
Definition: d3dtypes.h:89
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_NOTIMPL
Definition: ddrawi.h:99
#define NULL
Definition: types.h:112
static HRESULT WINAPI d3drm_face1_AddVertex(IDirect3DRMFace *iface, D3DVALUE x, D3DVALUE y, D3DVALUE z)
Definition: face.c:199
static HRESULT WINAPI d3drm_face1_GetNormal(IDirect3DRMFace *iface, D3DVECTOR *normal)
Definition: face.c:316
static D3DCOLOR WINAPI d3drm_face1_GetColor(IDirect3DRMFace *iface)
Definition: face.c:367
static HRESULT WINAPI d3drm_face1_DeleteDestroyCallback(IDirect3DRMFace *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: face.c:106
static int WINAPI d3drm_face2_GetVertexCount(IDirect3DRMFace2 *iface)
Definition: face.c:565
static struct d3drm_face * impl_from_IDirect3DRMFace(IDirect3DRMFace *iface)
Definition: face.c:25
static HRESULT WINAPI d3drm_face2_GetTextureCoordinates(IDirect3DRMFace2 *iface, DWORD vertex, D3DVALUE *u, D3DVALUE *v)
Definition: face.c:529
static int WINAPI d3drm_face1_GetTextureCoordinateIndex(IDirect3DRMFace *iface, DWORD which)
Definition: face.c:351
static HRESULT WINAPI d3drm_face1_GetVertex(IDirect3DRMFace *iface, DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal)
Definition: face.c:284
static DWORD WINAPI d3drm_face1_GetAppData(IDirect3DRMFace *iface)
Definition: face.c:145
static HRESULT WINAPI d3drm_face1_GetClassName(IDirect3DRMFace *iface, DWORD *size, char *name)
Definition: face.c:190
static HRESULT WINAPI d3drm_face2_Clone(IDirect3DRMFace2 *iface, IUnknown *outer, REFIID iid, void **out)
Definition: face.c:431
static HRESULT WINAPI d3drm_face2_SetTextureTopology(IDirect3DRMFace2 *iface, BOOL wrap_u, BOOL wrap_v)
Definition: face.c:505
static HRESULT WINAPI d3drm_face1_GetTextureTopology(IDirect3DRMFace *iface, BOOL *wrap_u, BOOL *wrap_v)
Definition: face.c:309
static HRESULT WINAPI d3drm_face2_QueryInterface(IDirect3DRMFace2 *iface, REFIID riid, void **out)
Definition: face.c:410
static HRESULT WINAPI d3drm_face2_GetVertices(IDirect3DRMFace2 *iface, DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals)
Definition: face.c:520
HRESULT d3drm_face_create(struct d3drm_face **face)
Definition: face.c:620
static int WINAPI d3drm_face1_GetVertexCount(IDirect3DRMFace *iface)
Definition: face.c:337
static struct d3drm_face * impl_from_IDirect3DRMFace2(IDirect3DRMFace2 *iface)
Definition: face.c:30
static HRESULT WINAPI d3drm_face1_SetTexture(IDirect3DRMFace *iface, IDirect3DRMTexture *texture)
Definition: face.c:255
static int WINAPI d3drm_face2_GetTextureCoordinateIndex(IDirect3DRMFace2 *iface, DWORD which)
Definition: face.c:579
static HRESULT WINAPI d3drm_face1_AddDestroyCallback(IDirect3DRMFace *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: face.c:96
static HRESULT WINAPI d3drm_face2_SetMaterial(IDirect3DRMFace2 *iface, IDirect3DRMMaterial2 *material)
Definition: face.c:498
static ULONG WINAPI d3drm_face2_AddRef(IDirect3DRMFace2 *iface)
Definition: face.c:417
static HRESULT WINAPI d3drm_face2_GetMaterial(IDirect3DRMFace2 *iface, IDirect3DRMMaterial2 **material)
Definition: face.c:558
static ULONG WINAPI d3drm_face1_AddRef(IDirect3DRMFace *iface)
Definition: face.c:62
static HRESULT WINAPI d3drm_face1_GetTextureCoordinates(IDirect3DRMFace *iface, DWORD vertex, D3DVALUE *u, D3DVALUE *v)
Definition: face.c:301
static HRESULT WINAPI d3drm_face1_SetTextureTopology(IDirect3DRMFace *iface, BOOL wrap_u, BOOL wrap_v)
Definition: face.c:277
static HRESULT WINAPI d3drm_face2_SetTexture(IDirect3DRMFace2 *iface, IDirect3DRMTexture3 *texture)
Definition: face.c:483
static HRESULT WINAPI d3drm_face2_DeleteDestroyCallback(IDirect3DRMFace2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: face.c:449
static HRESULT WINAPI d3drm_face1_SetName(IDirect3DRMFace *iface, const char *name)
Definition: face.c:163
static HRESULT WINAPI d3drm_face1_QueryInterface(IDirect3DRMFace *iface, REFIID riid, void **out)
Definition: face.c:35
static int WINAPI d3drm_face2_GetVertexIndex(IDirect3DRMFace2 *iface, DWORD which)
Definition: face.c:572
static HRESULT WINAPI d3drm_face2_SetAppData(IDirect3DRMFace2 *iface, DWORD data)
Definition: face.c:116
static HRESULT WINAPI d3drm_face2_AddDestroyCallback(IDirect3DRMFace2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: face.c:439
static HRESULT WINAPI d3drm_face2_SetName(IDirect3DRMFace2 *iface, const char *name)
Definition: face.c:154
static HRESULT WINAPI d3drm_face2_SetColorRGB(IDirect3DRMFace2 *iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue)
Definition: face.c:214
static ULONG WINAPI d3drm_face1_Release(IDirect3DRMFace *iface)
Definition: face.c:72
static HRESULT WINAPI d3drm_face2_GetTextureTopology(IDirect3DRMFace2 *iface, BOOL *wrap_u, BOOL *wrap_v)
Definition: face.c:537
static HRESULT WINAPI d3drm_face1_SetMaterial(IDirect3DRMFace *iface, IDirect3DRMMaterial *material)
Definition: face.c:270
static HRESULT WINAPI d3drm_face1_SetColorRGB(IDirect3DRMFace *iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue)
Definition: face.c:225
static HRESULT WINAPI d3drm_face2_AddVertex(IDirect3DRMFace2 *iface, D3DVALUE x, D3DVALUE y, D3DVALUE z)
Definition: face.c:468
static D3DCOLOR WINAPI d3drm_face2_GetColor(IDirect3DRMFace2 *iface)
Definition: face.c:358
static const struct IDirect3DRMFace2Vtbl d3drm_face2_vtbl
Definition: face.c:586
static HRESULT WINAPI d3drm_face1_GetTexture(IDirect3DRMFace *iface, IDirect3DRMTexture **texture)
Definition: face.c:323
static HRESULT WINAPI d3drm_face1_GetName(IDirect3DRMFace *iface, DWORD *size, char *name)
Definition: face.c:181
static int WINAPI d3drm_face1_GetVertexIndex(IDirect3DRMFace *iface, DWORD which)
Definition: face.c:344
static HRESULT WINAPI d3drm_face1_SetColor(IDirect3DRMFace *iface, D3DCOLOR color)
Definition: face.c:246
static HRESULT WINAPI d3drm_face1_SetTextureCoordinates(IDirect3DRMFace *iface, DWORD vertex, D3DVALUE u, D3DVALUE v)
Definition: face.c:262
static HRESULT WINAPI d3drm_face2_GetClassName(IDirect3DRMFace2 *iface, DWORD *size, char *name)
Definition: face.c:459
static const struct IDirect3DRMFaceVtbl d3drm_face1_vtbl
Definition: face.c:376
static HRESULT WINAPI d3drm_face1_GetVertices(IDirect3DRMFace *iface, DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals)
Definition: face.c:292
static HRESULT WINAPI d3drm_face1_Clone(IDirect3DRMFace *iface, IUnknown *outer, REFIID iid, void **out)
Definition: face.c:88
static HRESULT WINAPI d3drm_face2_SetTextureCoordinates(IDirect3DRMFace2 *iface, DWORD vertex, D3DVALUE u, D3DVALUE v)
Definition: face.c:490
static HRESULT WINAPI d3drm_face2_GetVertex(IDirect3DRMFace2 *iface, DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal)
Definition: face.c:512
static HRESULT WINAPI d3drm_face1_AddVertexAndNormalIndexed(IDirect3DRMFace *iface, DWORD vertex, DWORD normal)
Definition: face.c:206
static HRESULT WINAPI d3drm_face1_SetAppData(IDirect3DRMFace *iface, DWORD data)
Definition: face.c:127
static HRESULT WINAPI d3drm_face2_GetNormal(IDirect3DRMFace2 *iface, D3DVECTOR *normal)
Definition: face.c:544
static HRESULT WINAPI d3drm_face2_AddVertexAndNormalIndexed(IDirect3DRMFace2 *iface, DWORD vertex, DWORD normal)
Definition: face.c:475
static DWORD WINAPI d3drm_face2_GetAppData(IDirect3DRMFace2 *iface)
Definition: face.c:136
static HRESULT WINAPI d3drm_face1_GetMaterial(IDirect3DRMFace *iface, IDirect3DRMMaterial **material)
Definition: face.c:330
static ULONG WINAPI d3drm_face2_Release(IDirect3DRMFace2 *iface)
Definition: face.c:424
static HRESULT WINAPI d3drm_face2_GetTexture(IDirect3DRMFace2 *iface, IDirect3DRMTexture3 **texture)
Definition: face.c:551
static HRESULT WINAPI d3drm_face2_GetName(IDirect3DRMFace2 *iface, DWORD *size, char *name)
Definition: face.c:172
static HRESULT WINAPI d3drm_face2_SetColor(IDirect3DRMFace2 *iface, D3DCOLOR color)
Definition: face.c:235
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLclampf green
Definition: gl.h:1740
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
const GLdouble * v
Definition: gl.h:2040
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLclampf GLclampf blue
Definition: gl.h:1740
GLsizeiptr size
Definition: glext.h:5919
GLenum GLuint texture
Definition: glext.h:6295
GLuint color
Definition: glext.h:6243
GLuint coords
Definition: glext.h:7368
GLuint index
Definition: glext.h:6031
GLenum GLuint GLint GLenum face
Definition: glext.h:7025
GLdouble GLdouble z
Definition: glext.h:5874
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
Definition: glfuncs.h:240
REFIID riid
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_a
Definition: kernel32.h:31
#define red
Definition: linetest.c:67
int vertex_count
Definition: d3drm.c:3367
static HMODULE MODULEINFO DWORD cb
Definition: module.c:33
@ normal
Definition: optimize.h:166
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define REFIID
Definition: guiddef.h:118
static FILE * out
Definition: regtests2xml.c:44
WCHAR classname[128]
Definition: startup.c:15
#define TRACE(s)
Definition: solgame.cpp:4
IDirect3DRMFace IDirect3DRMFace_iface
IDirect3DRMFace2 IDirect3DRMFace2_iface
Definition: d3drm.c:189
Definition: name.c:39
Definition: mesh.c:4558
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
static GLenum which
Definition: wgl_font.c:159
#define WINAPI
Definition: msvc.h:6
#define E_NOINTERFACE
Definition: winerror.h:2364