ReactOS  0.4.14-dev-323-g6fe6a88
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 
25 static inline struct d3drm_face *impl_from_IDirect3DRMFace(IDirect3DRMFace *iface)
26 {
27  return CONTAINING_RECORD(iface, struct d3drm_face, IDirect3DRMFace_iface);
28 }
29 
30 static inline struct d3drm_face *impl_from_IDirect3DRMFace2(IDirect3DRMFace2 *iface)
31 {
33 }
34 
35 static HRESULT WINAPI d3drm_face1_QueryInterface(IDirect3DRMFace *iface, REFIID riid, void **out)
36 {
37  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
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 
62 static ULONG WINAPI d3drm_face1_AddRef(IDirect3DRMFace *iface)
63 {
64  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
65  ULONG refcount = InterlockedIncrement(&face->ref);
66 
67  TRACE("%p increasing refcount to %u.\n", iface, refcount);
68 
69  return refcount;
70 }
71 
72 static ULONG WINAPI d3drm_face1_Release(IDirect3DRMFace *iface)
73 {
74  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
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);
82  heap_free(face);
83  }
84 
85  return refcount;
86 }
87 
88 static 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 
96 static HRESULT WINAPI d3drm_face1_AddDestroyCallback(IDirect3DRMFace *iface,
97  D3DRMOBJECTCALLBACK cb, void *ctx)
98 {
99  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
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 
106 static HRESULT WINAPI d3drm_face1_DeleteDestroyCallback(IDirect3DRMFace *iface,
107  D3DRMOBJECTCALLBACK cb, void *ctx)
108 {
109  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
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 
116 static HRESULT WINAPI d3drm_face2_SetAppData(IDirect3DRMFace2 *iface, DWORD data)
117 {
118  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
119 
120  TRACE("iface %p, data %#x.\n", iface, data);
121 
122  face->obj.appdata = data;
123 
124  return D3DRM_OK;
125 }
126 
127 static HRESULT WINAPI d3drm_face1_SetAppData(IDirect3DRMFace *iface, DWORD data)
128 {
129  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
130 
131  TRACE("iface %p, data %#x.\n", iface, data);
132 
133  return d3drm_face2_SetAppData(&face->IDirect3DRMFace2_iface, data);
134 }
135 
136 static DWORD WINAPI d3drm_face2_GetAppData(IDirect3DRMFace2 *iface)
137 {
138  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
139 
140  TRACE("iface %p.\n", iface);
141 
142  return face->obj.appdata;
143 }
144 
145 static DWORD WINAPI d3drm_face1_GetAppData(IDirect3DRMFace *iface)
146 {
147  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
148 
149  TRACE("iface %p.\n", iface);
150 
151  return d3drm_face2_GetAppData(&face->IDirect3DRMFace2_iface);
152 }
153 
154 static HRESULT WINAPI d3drm_face2_SetName(IDirect3DRMFace2 *iface, const char *name)
155 {
156  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
157 
158  TRACE("iface %p, name %s.\n", iface, debugstr_a(name));
159 
160  return d3drm_object_set_name(&face->obj, name);
161 }
162 
163 static HRESULT WINAPI d3drm_face1_SetName(IDirect3DRMFace *iface, const char *name)
164 {
165  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
166 
167  TRACE("iface %p, name %s.\n", iface, debugstr_a(name));
168 
169  return d3drm_face2_SetName(&face->IDirect3DRMFace2_iface, name);
170 }
171 
172 static HRESULT WINAPI d3drm_face2_GetName(IDirect3DRMFace2 *iface, DWORD *size, char *name)
173 {
174  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
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 
181 static HRESULT WINAPI d3drm_face1_GetName(IDirect3DRMFace *iface, DWORD *size, char *name)
182 {
183  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
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 
190 static HRESULT WINAPI d3drm_face1_GetClassName(IDirect3DRMFace *iface, DWORD *size, char *name)
191 {
192  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
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 
199 static HRESULT WINAPI d3drm_face1_AddVertex(IDirect3DRMFace *iface, D3DVALUE x, D3DVALUE y, D3DVALUE z)
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 {
216  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
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 
225 static HRESULT WINAPI d3drm_face1_SetColorRGB(IDirect3DRMFace *iface,
227 {
228  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
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 
235 static HRESULT WINAPI d3drm_face2_SetColor(IDirect3DRMFace2 *iface, D3DCOLOR color)
236 {
237  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
238 
239  TRACE("iface %p, color 0x%08x.\n", iface, color);
240 
241  face->color = color;
242 
243  return D3DRM_OK;
244 }
245 
246 static HRESULT WINAPI d3drm_face1_SetColor(IDirect3DRMFace *iface, D3DCOLOR color)
247 {
248  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
249 
250  TRACE("iface %p, color 0x%08x.\n", iface, color);
251 
252  return d3drm_face2_SetColor(&face->IDirect3DRMFace2_iface, color);
253 }
254 
255 static 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 
262 static HRESULT WINAPI d3drm_face1_SetTextureCoordinates(IDirect3DRMFace *iface,
264 {
265  FIXME("iface %p, vertex %u, u %.8e, v %.8e stub!\n", iface, vertex, u, v);
266 
267  return E_NOTIMPL;
268 }
269 
270 static 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 
277 static 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 
284 static 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 
292 static 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 
301 static HRESULT WINAPI d3drm_face1_GetTextureCoordinates(IDirect3DRMFace *iface,
303 {
304  FIXME("iface %p, vertex %u, u %p, v %p stub!\n", iface, vertex, u, v);
305 
306  return E_NOTIMPL;
307 }
308 
309 static 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 
316 static 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 
323 static 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 
330 static 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 
337 static int WINAPI d3drm_face1_GetVertexCount(IDirect3DRMFace *iface)
338 {
339  FIXME("iface %p stub!\n", iface);
340 
341  return 0;
342 }
343 
344 static 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 
351 static 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 
358 static D3DCOLOR WINAPI d3drm_face2_GetColor(IDirect3DRMFace2 *iface)
359 {
360  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
361 
362  TRACE("iface %p.\n", iface);
363 
364  return face->color;
365 }
366 
367 static D3DCOLOR WINAPI d3drm_face1_GetColor(IDirect3DRMFace *iface)
368 {
369  struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
370 
371  TRACE("iface %p.\n", iface);
372 
373  return d3drm_face2_GetColor(&face->IDirect3DRMFace2_iface);
374 }
375 
376 static const struct IDirect3DRMFaceVtbl d3drm_face1_vtbl =
377 {
408 };
409 
410 static HRESULT WINAPI d3drm_face2_QueryInterface(IDirect3DRMFace2 *iface, REFIID riid, void **out)
411 {
412  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
413 
414  return d3drm_face1_QueryInterface(&face->IDirect3DRMFace_iface, riid, out);
415 }
416 
417 static ULONG WINAPI d3drm_face2_AddRef(IDirect3DRMFace2 *iface)
418 {
419  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
420 
421  return d3drm_face1_AddRef(&face->IDirect3DRMFace_iface);
422 }
423 
424 static ULONG WINAPI d3drm_face2_Release(IDirect3DRMFace2 *iface)
425 {
426  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
427 
428  return d3drm_face1_Release(&face->IDirect3DRMFace_iface);
429 }
430 
431 static 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 
439 static HRESULT WINAPI d3drm_face2_AddDestroyCallback(IDirect3DRMFace2 *iface,
440  D3DRMOBJECTCALLBACK cb, void *ctx)
441 {
442  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
443 
444  TRACE("iface %p, cb %p, ctx %p.\n", iface, cb, ctx);
445 
446  return d3drm_object_add_destroy_callback(&face->obj, cb, ctx);
447 }
448 
449 static HRESULT WINAPI d3drm_face2_DeleteDestroyCallback(IDirect3DRMFace2 *iface,
450  D3DRMOBJECTCALLBACK cb, void *ctx)
451 {
452  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
453 
454  TRACE("iface %p, cb %p, ctx %p.\n", iface, cb, ctx);
455 
456  return d3drm_object_delete_destroy_callback(&face->obj, cb, ctx);
457 }
458 
459 static HRESULT WINAPI d3drm_face2_GetClassName(IDirect3DRMFace2 *iface, DWORD *size, char *name)
460 {
461  struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface);
462 
463  TRACE("iface %p, size %p, name %p.\n", iface, size, name);
464 
465  return d3drm_object_get_class_name(&face->obj, size, name);
466 }
467 
468 static HRESULT WINAPI d3drm_face2_AddVertex(IDirect3DRMFace2 *iface, D3DVALUE x, D3DVALUE y, D3DVALUE z)
469 {
470  FIXME("iface %p, x %.8e, y %.8e, z %.8e stub!\n", iface, x, y, z);
471 
472  return E_NOTIMPL;
473 }
474 
475 static HRESULT WINAPI d3drm_face2_AddVertexAndNormalIndexed(IDirect3DRMFace2 *iface,
477 {
478  FIXME("iface %p, vertex %u, normal %u stub!\n", iface, vertex, normal);
479 
480  return E_NOTIMPL;
481 }
482 
483 static 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 
490 static 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 
498 static 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 
505 static 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 
512 static 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 
520 static 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 
529 static 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 
537 static 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 
544 static 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 
551 static 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 
558 static 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 
565 static int WINAPI d3drm_face2_GetVertexCount(IDirect3DRMFace2 *iface)
566 {
567  FIXME("iface %p stub!\n", iface);
568 
569  return 0;
570 }
571 
572 static 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 
579 static 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 
586 static 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 }
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
static HRESULT WINAPI d3drm_face2_GetTextureCoordinates(IDirect3DRMFace2 *iface, DWORD vertex, D3DVALUE *u, D3DVALUE *v)
Definition: face.c:529
void d3drm_object_cleanup(IDirect3DRMObject *iface, struct d3drm_object *object)
Definition: d3drm_main.c:153
#define REFIID
Definition: guiddef.h:118
#define E_NOINTERFACE
Definition: winerror.h:2364
Definition: mesh.c:4557
WINE_DEFAULT_DEBUG_CHANNEL(d3drm)
static HRESULT WINAPI d3drm_face2_GetName(IDirect3DRMFace2 *iface, DWORD *size, char *name)
Definition: face.c:172
static int WINAPI d3drm_face1_GetVertexCount(IDirect3DRMFace *iface)
Definition: face.c:337
REFIID riid
Definition: precomp.h:44
static HRESULT WINAPI d3drm_face2_GetTexture(IDirect3DRMFace2 *iface, IDirect3DRMTexture3 **texture)
Definition: face.c:551
IDirect3DRMFace IDirect3DRMFace_iface
static HRESULT WINAPI d3drm_face1_SetTextureCoordinates(IDirect3DRMFace *iface, DWORD vertex, D3DVALUE u, D3DVALUE v)
Definition: face.c:262
static GLenum which
Definition: wgl_font.c:159
#define WARN(fmt,...)
Definition: debug.h:111
static HRESULT WINAPI d3drm_face1_GetTextureTopology(IDirect3DRMFace *iface, BOOL *wrap_u, BOOL *wrap_v)
Definition: face.c:309
static HRESULT WINAPI d3drm_face1_SetMaterial(IDirect3DRMFace *iface, IDirect3DRMMaterial *material)
Definition: face.c:270
static D3DCOLOR WINAPI d3drm_face2_GetColor(IDirect3DRMFace2 *iface)
Definition: face.c:358
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
HRESULT d3drm_object_add_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: d3drm_main.c:55
static HRESULT WINAPI d3drm_face1_AddVertex(IDirect3DRMFace *iface, D3DVALUE x, D3DVALUE y, D3DVALUE z)
Definition: face.c:199
HRESULT d3drm_face_create(struct d3drm_face **face)
Definition: face.c:620
static HRESULT WINAPI d3drm_face1_GetTextureCoordinates(IDirect3DRMFace *iface, DWORD vertex, D3DVALUE *u, D3DVALUE *v)
Definition: face.c:301
WCHAR classname[128]
Definition: startup.c:15
int vertex_count
Definition: d3drm.c:3367
#define IDirect3DRMFace2_GetClassName(p, a, b)
Definition: d3drmobj.h:2429
GLuint coords
Definition: glext.h:7368
static HRESULT WINAPI d3drm_face2_GetVertices(IDirect3DRMFace2 *iface, DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals)
Definition: face.c:520
static HRESULT WINAPI d3drm_face1_QueryInterface(IDirect3DRMFace *iface, REFIID riid, void **out)
Definition: face.c:35
static HRESULT WINAPI d3drm_face1_AddDestroyCallback(IDirect3DRMFace *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: face.c:96
static HRESULT WINAPI d3drm_face1_SetTextureTopology(IDirect3DRMFace *iface, BOOL wrap_u, BOOL wrap_v)
Definition: face.c:277
static HRESULT WINAPI d3drm_face2_GetVertex(IDirect3DRMFace2 *iface, DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal)
Definition: face.c:512
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
unsigned int BOOL
Definition: ntddk_ex.h:94
GLuint color
Definition: glext.h:6243
static HRESULT WINAPI d3drm_face2_GetTextureTopology(IDirect3DRMFace2 *iface, BOOL *wrap_u, BOOL *wrap_v)
Definition: face.c:537
#define FIXME(fmt,...)
Definition: debug.h:110
static D3DCOLOR WINAPI d3drm_face1_GetColor(IDirect3DRMFace *iface)
Definition: face.c:367
GLdouble GLdouble z
Definition: glext.h:5874
float D3DVALUE
Definition: d3dtypes.h:89
static HRESULT WINAPI d3drm_face1_GetClassName(IDirect3DRMFace *iface, DWORD *size, char *name)
Definition: face.c:190
smooth NULL
Definition: ftsmooth.c:416
static HRESULT WINAPI d3drm_face1_SetName(IDirect3DRMFace *iface, const char *name)
Definition: face.c:163
static HRESULT WINAPI d3drm_face2_AddVertexAndNormalIndexed(IDirect3DRMFace2 *iface, DWORD vertex, DWORD normal)
Definition: face.c:475
static HRESULT WINAPI d3drm_face2_SetTextureCoordinates(IDirect3DRMFace2 *iface, DWORD vertex, D3DVALUE u, D3DVALUE v)
Definition: face.c:490
HRESULT d3drm_object_get_name(struct d3drm_object *object, DWORD *size, char *name)
Definition: d3drm_main.c:111
static HRESULT WINAPI d3drm_face2_Clone(IDirect3DRMFace2 *iface, IUnknown *outer, REFIID iid, void **out)
Definition: face.c:431
GLuint index
Definition: glext.h:6031
static HRESULT WINAPI d3drm_face1_GetVertices(IDirect3DRMFace *iface, DWORD *vertex_count, D3DVECTOR *coords, D3DVECTOR *normals)
Definition: face.c:292
#define debugstr_guid
Definition: kernel32.h:35
GLclampf GLclampf blue
Definition: gl.h:1740
HRESULT d3drm_object_get_class_name(struct d3drm_object *object, DWORD *size, char *name)
Definition: d3drm_main.c:92
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
static HRESULT WINAPI d3drm_face2_AddDestroyCallback(IDirect3DRMFace2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: face.c:439
static HRESULT WINAPI d3drm_face1_SetAppData(IDirect3DRMFace *iface, DWORD data)
Definition: face.c:127
static HRESULT WINAPI d3drm_face2_DeleteDestroyCallback(IDirect3DRMFace2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: face.c:449
#define debugstr_a
Definition: kernel32.h:31
GLenum GLuint texture
Definition: glext.h:6295
LONG HRESULT
Definition: typedefs.h:77
#define D3DRM_OK
Definition: d3drm.h:486
static HRESULT WINAPI d3drm_face1_SetTexture(IDirect3DRMFace *iface, IDirect3DRMTexture *texture)
Definition: face.c:255
const GUID IID_IUnknown
static int WINAPI d3drm_face2_GetTextureCoordinateIndex(IDirect3DRMFace2 *iface, DWORD which)
Definition: face.c:579
#define WINAPI
Definition: msvc.h:8
static HRESULT WINAPI d3drm_face1_Clone(IDirect3DRMFace *iface, IUnknown *outer, REFIID iid, void **out)
Definition: face.c:88
#define IDirect3DRMFace2_AddDestroyCallback(p, a, b)
Definition: d3drmobj.h:2423
static FILE * out
Definition: regtests2xml.c:44
GLclampf green
Definition: gl.h:1740
unsigned long DWORD
Definition: ntddk_ex.h:95
#define red
Definition: linetest.c:67
static HRESULT WINAPI d3drm_face2_AddVertex(IDirect3DRMFace2 *iface, D3DVALUE x, D3DVALUE y, D3DVALUE z)
Definition: face.c:468
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
static DWORD WINAPI d3drm_face2_GetAppData(IDirect3DRMFace2 *iface)
Definition: face.c:136
static HRESULT WINAPI d3drm_face1_GetNormal(IDirect3DRMFace *iface, D3DVECTOR *normal)
Definition: face.c:316
void(__cdecl * D3DRMOBJECTCALLBACK)(struct IDirect3DRMObject *obj, void *arg)
Definition: d3drmobj.h:157
static HRESULT WINAPI d3drm_face2_SetTexture(IDirect3DRMFace2 *iface, IDirect3DRMTexture3 *texture)
Definition: face.c:483
static HRESULT WINAPI d3drm_face1_GetMaterial(IDirect3DRMFace *iface, IDirect3DRMMaterial **material)
Definition: face.c:330
HRESULT d3drm_object_delete_destroy_callback(struct d3drm_object *object, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: d3drm_main.c:72
static HRESULT WINAPI d3drm_face2_SetName(IDirect3DRMFace2 *iface, const char *name)
Definition: face.c:154
static int WINAPI d3drm_face2_GetVertexIndex(IDirect3DRMFace2 *iface, DWORD which)
Definition: face.c:572
#define InterlockedDecrement
Definition: armddk.h:52
static const struct IDirect3DRMFace2Vtbl d3drm_face2_vtbl
Definition: face.c:586
static HRESULT WINAPI d3drm_face1_DeleteDestroyCallback(IDirect3DRMFace *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
Definition: face.c:106
static ULONG WINAPI d3drm_face2_Release(IDirect3DRMFace2 *iface)
Definition: face.c:424
static HRESULT WINAPI d3drm_face1_GetName(IDirect3DRMFace *iface, DWORD *size, char *name)
Definition: face.c:181
static ULONG WINAPI d3drm_face1_AddRef(IDirect3DRMFace *iface)
Definition: face.c:62
#define IDirect3DRMFace2_DeleteDestroyCallback(p, a, b)
Definition: d3drmobj.h:2424
Definition: d3drm.c:188
static struct d3drm_face * impl_from_IDirect3DRMFace2(IDirect3DRMFace2 *iface)
Definition: face.c:30
static HRESULT WINAPI d3drm_face2_SetAppData(IDirect3DRMFace2 *iface, DWORD data)
Definition: face.c:116
static HRESULT WINAPI d3drm_face1_GetVertex(IDirect3DRMFace *iface, DWORD index, D3DVECTOR *vertex, D3DVECTOR *normal)
Definition: face.c:284
static struct d3drm_face * impl_from_IDirect3DRMFace(IDirect3DRMFace *iface)
Definition: face.c:25
#define S_OK
Definition: intsafe.h:59
static HRESULT WINAPI d3drm_face2_GetMaterial(IDirect3DRMFace2 *iface, IDirect3DRMMaterial2 **material)
Definition: face.c:558
static HRESULT WINAPI d3drm_face2_SetColor(IDirect3DRMFace2 *iface, D3DCOLOR color)
Definition: face.c:235
#define InterlockedIncrement
Definition: armddk.h:53
static HRESULT WINAPI d3drm_face2_SetMaterial(IDirect3DRMFace2 *iface, IDirect3DRMMaterial2 *material)
Definition: face.c:498
const GLdouble * v
Definition: gl.h:2040
static ULONG WINAPI d3drm_face2_AddRef(IDirect3DRMFace2 *iface)
Definition: face.c:417
static HRESULT WINAPI d3drm_face1_GetTexture(IDirect3DRMFace *iface, IDirect3DRMTexture **texture)
Definition: face.c:323
#define E_NOTIMPL
Definition: ddrawi.h:99
static void d3drm_set_color(D3DCOLOR *color, float r, float g, float b, float a)
static ULONG WINAPI d3drm_face1_Release(IDirect3DRMFace *iface)
Definition: face.c:72
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
void d3drm_object_init(struct d3drm_object *object, const char *classname)
Definition: d3drm_main.c:39
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
static int WINAPI d3drm_face1_GetTextureCoordinateIndex(IDirect3DRMFace *iface, DWORD which)
Definition: face.c:351
IDirect3DRMFace2 IDirect3DRMFace2_iface
static HMODULE MODULEINFO DWORD cb
Definition: module.c:32
static HRESULT WINAPI d3drm_face2_QueryInterface(IDirect3DRMFace2 *iface, REFIID riid, void **out)
Definition: face.c:410
Definition: name.c:36
unsigned int ULONG
Definition: retypes.h:1
static HRESULT WINAPI d3drm_face1_SetColor(IDirect3DRMFace *iface, D3DCOLOR color)
Definition: face.c:246
static HRESULT WINAPI d3drm_face1_AddVertexAndNormalIndexed(IDirect3DRMFace *iface, DWORD vertex, DWORD normal)
Definition: face.c:206
static int WINAPI d3drm_face2_GetVertexCount(IDirect3DRMFace2 *iface)
Definition: face.c:565
static int WINAPI d3drm_face1_GetVertexIndex(IDirect3DRMFace *iface, DWORD which)
Definition: face.c:344
static HRESULT WINAPI d3drm_face2_GetClassName(IDirect3DRMFace2 *iface, DWORD *size, char *name)
Definition: face.c:459
static HRESULT WINAPI d3drm_face2_GetNormal(IDirect3DRMFace2 *iface, D3DVECTOR *normal)
Definition: face.c:544
static HRESULT WINAPI d3drm_face2_SetColorRGB(IDirect3DRMFace2 *iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue)
Definition: face.c:214
static const struct IDirect3DRMFaceVtbl d3drm_face1_vtbl
Definition: face.c:376
static DWORD WINAPI d3drm_face1_GetAppData(IDirect3DRMFace *iface)
Definition: face.c:145
void * object
Definition: jmemsys.h:48
GLenum GLuint GLint GLenum face
Definition: glext.h:7025
static HRESULT WINAPI d3drm_face1_SetColorRGB(IDirect3DRMFace *iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue)
Definition: face.c:225
static BOOL heap_free(void *mem)
Definition: appwiz.h:75
HRESULT d3drm_object_set_name(struct d3drm_object *object, const char *name)
Definition: d3drm_main.c:135
static HRESULT WINAPI d3drm_face2_SetTextureTopology(IDirect3DRMFace2 *iface, BOOL wrap_u, BOOL wrap_v)
Definition: face.c:505