2 * Implementation of IDirect3DRMFrame Interface
4 * Copyright 2011, 2012 André Hentschel
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.
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.
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
22 #include "wine/debug.h"
29 #include "d3drm_private.h"
31 WINE_DEFAULT_DEBUG_CHANNEL(d3drm);
34 IDirect3DRMFrame2 IDirect3DRMFrame2_iface;
35 IDirect3DRMFrame3 IDirect3DRMFrame3_iface;
38 ULONG children_capacity;
39 IDirect3DRMFrame3** children;
40 } IDirect3DRMFrameImpl;
42 static inline IDirect3DRMFrameImpl *impl_from_IDirect3DRMFrame2(IDirect3DRMFrame2 *iface)
44 return CONTAINING_RECORD(iface, IDirect3DRMFrameImpl, IDirect3DRMFrame2_iface);
47 static inline IDirect3DRMFrameImpl *impl_from_IDirect3DRMFrame3(IDirect3DRMFrame3 *iface)
49 return CONTAINING_RECORD(iface, IDirect3DRMFrameImpl, IDirect3DRMFrame3_iface);
52 static inline IDirect3DRMFrameImpl *unsafe_impl_from_IDirect3DRMFrame2(IDirect3DRMFrame2 *iface);
54 /*** IUnknown methods ***/
55 static HRESULT WINAPI IDirect3DRMFrame2Impl_QueryInterface(IDirect3DRMFrame2* iface,
56 REFIID riid, void** object)
58 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
60 TRACE("(%p/%p)->(%s, %p)\n", iface, This, debugstr_guid(riid), object);
64 if(IsEqualGUID(riid, &IID_IUnknown) ||
65 IsEqualGUID(riid, &IID_IDirect3DRMFrame) ||
66 IsEqualGUID(riid, &IID_IDirect3DRMFrame2))
68 *object = &This->IDirect3DRMFrame2_iface;
70 else if(IsEqualGUID(riid, &IID_IDirect3DRMFrame3))
72 *object = &This->IDirect3DRMFrame3_iface;
76 FIXME("interface %s not implemented\n", debugstr_guid(riid));
80 IDirect3DRMFrame2_AddRef(iface);
84 static ULONG WINAPI IDirect3DRMFrame2Impl_AddRef(IDirect3DRMFrame2* iface)
86 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
87 ULONG ref = InterlockedIncrement(&This->ref);
89 TRACE("(%p)->(): new ref = %d\n", This, ref);
94 static ULONG WINAPI IDirect3DRMFrame2Impl_Release(IDirect3DRMFrame2* iface)
96 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
97 ULONG ref = InterlockedDecrement(&This->ref);
100 TRACE("(%p)->(): new ref = %d\n", This, ref);
104 for (i = 0; i < This->nb_children; i++)
105 IDirect3DRMFrame3_Release(This->children[i]);
106 HeapFree(GetProcessHeap(), 0, This->children);
107 HeapFree(GetProcessHeap(), 0, This);
113 /*** IDirect3DRMObject methods ***/
114 static HRESULT WINAPI IDirect3DRMFrame2Impl_Clone(IDirect3DRMFrame2* iface,
115 LPUNKNOWN unkwn, REFIID riid,
118 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
120 FIXME("(%p/%p)->(%p, %s, %p): stub\n", iface, This, unkwn, debugstr_guid(riid), object);
125 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddDestroyCallback(IDirect3DRMFrame2* iface,
126 D3DRMOBJECTCALLBACK cb,
129 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
131 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
136 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteDestroyCallback(IDirect3DRMFrame2* iface,
137 D3DRMOBJECTCALLBACK cb,
140 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
142 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
147 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetAppData(IDirect3DRMFrame2* iface,
150 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
152 FIXME("(%p/%p)->(%u): stub\n", iface, This, data);
157 static DWORD WINAPI IDirect3DRMFrame2Impl_GetAppData(IDirect3DRMFrame2* iface)
159 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
161 FIXME("(%p/%p)->(): stub\n", iface, This);
166 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetName(IDirect3DRMFrame2* iface, LPCSTR name)
168 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
170 FIXME("(%p/%p)->(%s): stub\n", iface, This, name);
175 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetName(IDirect3DRMFrame2* iface,
176 LPDWORD size, LPSTR name)
178 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
180 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
185 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetClassName(IDirect3DRMFrame2* iface,
186 LPDWORD size, LPSTR name)
188 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
190 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
195 /*** IDirect3DRMFrame methods ***/
196 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddChild(IDirect3DRMFrame2* iface,
197 LPDIRECT3DRMFRAME child)
199 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
200 IDirect3DRMFrameImpl *frame;
202 TRACE("(%p/%p)->(%p)\n", iface, This, child);
204 frame = unsafe_impl_from_IDirect3DRMFrame2((LPDIRECT3DRMFRAME2)child);
207 return D3DRMERR_BADOBJECT;
209 return IDirect3DRMFrame3_AddChild(&This->IDirect3DRMFrame3_iface, &frame->IDirect3DRMFrame3_iface);
212 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddLight(IDirect3DRMFrame2* iface,
213 LPDIRECT3DRMLIGHT light)
215 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
217 FIXME("(%p/%p)->(%p): stub\n", iface, This, light);
222 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddMoveCallback(IDirect3DRMFrame2* iface,
223 D3DRMFRAMEMOVECALLBACK cb, VOID *arg)
225 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
227 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, cb, arg);
232 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddTransform(IDirect3DRMFrame2* iface,
233 D3DRMCOMBINETYPE type,
234 D3DRMMATRIX4D matrix)
236 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
238 FIXME("(%p/%p)->(%u,%p): stub\n", iface, This, type, matrix);
243 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddTranslation(IDirect3DRMFrame2* iface,
244 D3DRMCOMBINETYPE type,
245 D3DVALUE x, D3DVALUE y, D3DVALUE z)
247 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
249 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface, This, type, x, y, z);
254 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddScale(IDirect3DRMFrame2* iface,
255 D3DRMCOMBINETYPE type,
256 D3DVALUE sx, D3DVALUE sy, D3DVALUE sz)
258 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
260 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface, This, type, sx, sy, sz);
265 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddRotation(IDirect3DRMFrame2* iface,
266 D3DRMCOMBINETYPE type,
267 D3DVALUE x, D3DVALUE y, D3DVALUE z,
270 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
272 FIXME("(%p/%p)->(%u,%f,%f,%f,%f): stub\n", iface, This, type, x, y, z, theta);
277 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddVisual(IDirect3DRMFrame2* iface,
278 LPDIRECT3DRMVISUAL vis)
280 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
282 FIXME("(%p/%p)->(%p): stub\n", iface, This, vis);
287 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetChildren(IDirect3DRMFrame2* iface,
288 LPDIRECT3DRMFRAMEARRAY *children)
290 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
292 FIXME("(%p/%p)->(%p): stub\n", iface, This, children);
297 static D3DCOLOR WINAPI IDirect3DRMFrame2Impl_GetColor(IDirect3DRMFrame2* iface)
299 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
301 FIXME("(%p/%p)->(): stub\n", iface, This);
306 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetLights(IDirect3DRMFrame2* iface,
307 LPDIRECT3DRMLIGHTARRAY *lights)
309 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
311 FIXME("(%p/%p)->(%p): stub\n", iface, This, lights);
316 static D3DRMMATERIALMODE WINAPI IDirect3DRMFrame2Impl_GetMaterialMode(IDirect3DRMFrame2* iface)
318 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
320 FIXME("(%p/%p)->(): stub\n", iface, This);
322 return D3DRMMATERIAL_FROMPARENT;
325 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetParent(IDirect3DRMFrame2* iface,
326 LPDIRECT3DRMFRAME * frame)
328 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
330 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
335 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetPosition(IDirect3DRMFrame2* iface,
336 LPDIRECT3DRMFRAME reference,
337 LPD3DVECTOR return_position)
339 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
341 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, reference, return_position);
346 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetRotation(IDirect3DRMFrame2* iface,
347 LPDIRECT3DRMFRAME reference,
348 LPD3DVECTOR axis, LPD3DVALUE return_theta)
350 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
352 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, reference, axis, return_theta);
357 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetScene(IDirect3DRMFrame2* iface,
358 LPDIRECT3DRMFRAME * frame)
360 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
362 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
367 static D3DRMSORTMODE WINAPI IDirect3DRMFrame2Impl_GetSortMode(IDirect3DRMFrame2* iface)
369 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
371 FIXME("(%p/%p)->(): stub\n", iface, This);
373 return D3DRMSORT_FROMPARENT;
376 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetTexture(IDirect3DRMFrame2* iface,
377 LPDIRECT3DRMTEXTURE * tex)
379 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
381 FIXME("(%p/%p)->(%p): stub\n", iface, This, tex);
386 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetTransform(IDirect3DRMFrame2* iface,
387 D3DRMMATRIX4D return_matrix)
389 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
391 FIXME("(%p/%p)->(%p): stub\n", iface, This, return_matrix);
396 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetVelocity(IDirect3DRMFrame2* iface,
397 LPDIRECT3DRMFRAME reference,
398 LPD3DVECTOR return_velocity,
401 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
403 FIXME("(%p/%p)->(%p,%p,%d): stub\n", iface, This, reference, return_velocity, with_rotation);
408 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetOrientation(IDirect3DRMFrame2* iface,
409 LPDIRECT3DRMFRAME reference,
410 LPD3DVECTOR dir, LPD3DVECTOR up)
412 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
414 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, reference, dir, up);
419 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetVisuals(IDirect3DRMFrame2* iface,
420 LPDIRECT3DRMVISUALARRAY *visuals)
422 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
424 FIXME("(%p/%p)->(%p): stub\n", iface, This, visuals);
429 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetTextureTopology(IDirect3DRMFrame2* iface,
430 BOOL *wrap_u, BOOL *wrap_v)
432 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
434 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, wrap_u, wrap_v);
439 static HRESULT WINAPI IDirect3DRMFrame2Impl_InverseTransform(IDirect3DRMFrame2* iface,
440 D3DVECTOR *d, D3DVECTOR *s)
442 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
444 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, d, s);
449 static HRESULT WINAPI IDirect3DRMFrame2Impl_Load(IDirect3DRMFrame2* iface, LPVOID filename,
450 LPVOID name, D3DRMLOADOPTIONS loadflags,
451 D3DRMLOADTEXTURECALLBACK cb, LPVOID lpArg)
453 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
455 FIXME("(%p/%p)->(%p,%p,%u,%p,%p): stub\n", iface, This, filename, name, loadflags, cb, lpArg);
460 static HRESULT WINAPI IDirect3DRMFrame2Impl_LookAt(IDirect3DRMFrame2* iface,
461 LPDIRECT3DRMFRAME target,
462 LPDIRECT3DRMFRAME reference,
463 D3DRMFRAMECONSTRAINT constraint)
465 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
467 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface, This, target, reference, constraint);
472 static HRESULT WINAPI IDirect3DRMFrame2Impl_Move(IDirect3DRMFrame2* iface, D3DVALUE delta)
474 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
476 FIXME("(%p/%p)->(%f): stub\n", iface, This, delta);
481 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteChild(IDirect3DRMFrame2* iface,
482 LPDIRECT3DRMFRAME frame)
484 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
485 IDirect3DRMFrameImpl *child;
487 TRACE("(%p/%p)->(%p)\n", iface, This, frame);
489 child = unsafe_impl_from_IDirect3DRMFrame2((LPDIRECT3DRMFRAME2)frame);
492 return D3DRMERR_BADOBJECT;
494 return IDirect3DRMFrame3_DeleteChild(&This->IDirect3DRMFrame3_iface, &child->IDirect3DRMFrame3_iface);
497 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteLight(IDirect3DRMFrame2* iface,
498 LPDIRECT3DRMLIGHT light)
500 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
502 FIXME("(%p/%p)->(%p): stub\n", iface, This, light);
507 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteMoveCallback(IDirect3DRMFrame2* iface,
508 D3DRMFRAMEMOVECALLBACK cb, VOID *arg)
510 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
512 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, cb, arg);
517 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteVisual(IDirect3DRMFrame2* iface,
518 LPDIRECT3DRMVISUAL vis)
520 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
522 FIXME("(%p/%p)->(%p): stub\n", iface, This, vis);
527 static D3DCOLOR WINAPI IDirect3DRMFrame2Impl_GetSceneBackground(IDirect3DRMFrame2* iface)
529 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
531 FIXME("(%p/%p)->(): stub\n", iface, This);
536 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetSceneBackgroundDepth(IDirect3DRMFrame2* iface,
537 LPDIRECTDRAWSURFACE * surface)
539 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
541 FIXME("(%p/%p)->(%p): stub\n", iface, This, surface);
546 static D3DCOLOR WINAPI IDirect3DRMFrame2Impl_GetSceneFogColor(IDirect3DRMFrame2* iface)
548 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
550 FIXME("(%p/%p)->(): stub\n", iface, This);
555 static BOOL WINAPI IDirect3DRMFrame2Impl_GetSceneFogEnable(IDirect3DRMFrame2* iface)
557 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
559 FIXME("(%p/%p)->(): stub\n", iface, This);
564 static D3DRMFOGMODE WINAPI IDirect3DRMFrame2Impl_GetSceneFogMode(IDirect3DRMFrame2* iface)
566 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
568 FIXME("(%p/%p)->(): stub\n", iface, This);
570 return D3DRMFOG_LINEAR;
573 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetSceneFogParams(IDirect3DRMFrame2* iface,
574 D3DVALUE *return_start,
575 D3DVALUE *return_end,
576 D3DVALUE *return_density)
578 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
580 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, return_start, return_end, return_density);
585 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneBackground(IDirect3DRMFrame2* iface,
588 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
590 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
595 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneBackgroundRGB(IDirect3DRMFrame2* iface,
596 D3DVALUE red, D3DVALUE green,
599 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
601 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, red, green, blue);
606 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneBackgroundDepth(IDirect3DRMFrame2* iface,
607 LPDIRECTDRAWSURFACE surface)
609 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
611 FIXME("(%p/%p)->(%p): stub\n", iface, This, surface);
616 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneBackgroundImage(IDirect3DRMFrame2* iface,
617 LPDIRECT3DRMTEXTURE texture)
619 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
621 FIXME("(%p/%p)->(%p): stub\n", iface, This, texture);
626 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneFogEnable(IDirect3DRMFrame2* iface, BOOL enable)
628 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
630 FIXME("(%p/%p)->(%d): stub\n", iface, This, enable);
635 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneFogColor(IDirect3DRMFrame2* iface,
638 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
640 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
645 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneFogMode(IDirect3DRMFrame2* iface,
648 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
650 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
655 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneFogParams(IDirect3DRMFrame2* iface,
656 D3DVALUE start, D3DVALUE end,
659 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
661 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, start, end, density);
666 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetColor(IDirect3DRMFrame2* iface, D3DCOLOR color)
668 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
670 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
675 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetColorRGB(IDirect3DRMFrame2* iface, D3DVALUE red,
676 D3DVALUE green, D3DVALUE blue)
678 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
680 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, red, green, blue);
685 static D3DRMZBUFFERMODE WINAPI IDirect3DRMFrame2Impl_GetZbufferMode(IDirect3DRMFrame2* iface)
687 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
689 FIXME("(%p/%p)->(): stub\n", iface, This);
691 return D3DRMZBUFFER_FROMPARENT;
694 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetMaterialMode(IDirect3DRMFrame2* iface,
695 D3DRMMATERIALMODE mode)
697 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
699 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
704 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetOrientation(IDirect3DRMFrame2* iface,
705 LPDIRECT3DRMFRAME reference,
706 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
707 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz )
709 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
711 FIXME("(%p/%p)->(%p,%f,%f,%f,%f,%f,%f): stub\n", iface, This, reference,
712 dx, dy, dz, ux, uy, uz);
717 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetPosition(IDirect3DRMFrame2* iface,
718 LPDIRECT3DRMFRAME reference,
719 D3DVALUE x, D3DVALUE y, D3DVALUE z)
721 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
723 FIXME("(%p/%p)->(%p,%f,%f,%f): stub\n", iface, This, reference, x, y, z);
728 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetRotation(IDirect3DRMFrame2* iface,
729 LPDIRECT3DRMFRAME reference,
730 D3DVALUE x, D3DVALUE y, D3DVALUE z,
733 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
735 FIXME("(%p/%p)->(%p,%f,%f,%f,%f): stub\n", iface, This, reference, x, y, z, theta);
740 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSortMode(IDirect3DRMFrame2* iface,
743 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
745 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
750 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetTexture(IDirect3DRMFrame2* iface,
751 LPDIRECT3DRMTEXTURE texture)
753 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
755 FIXME("(%p/%p)->(%p): stub\n", iface, This, texture);
760 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetTextureTopology(IDirect3DRMFrame2* iface,
761 BOOL wrap_u, BOOL wrap_v)
763 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
765 FIXME("(%p/%p)->(%d,%d): stub\n", iface, This, wrap_u, wrap_v);
770 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetVelocity(IDirect3DRMFrame2* iface,
771 LPDIRECT3DRMFRAME reference,
772 D3DVALUE x, D3DVALUE y, D3DVALUE z,
775 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
777 FIXME("(%p/%p)->(%p,%f,%f,%f,%d): stub\n", iface, This, reference, x, y, z, with_rotation);
782 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetZbufferMode(IDirect3DRMFrame2* iface,
783 D3DRMZBUFFERMODE mode)
785 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
787 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
792 static HRESULT WINAPI IDirect3DRMFrame2Impl_Transform(IDirect3DRMFrame2* iface, D3DVECTOR *d,
795 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
797 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, d, s);
802 /*** IDirect3DRMFrame2 methods ***/
803 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddMoveCallback2(IDirect3DRMFrame2* iface,
804 D3DRMFRAMEMOVECALLBACK cb, VOID *arg,
807 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
809 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface, This, cb, arg, flags);
814 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetBox(IDirect3DRMFrame2* iface, LPD3DRMBOX box)
816 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
818 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
823 static BOOL WINAPI IDirect3DRMFrame2Impl_GetBoxEnable(IDirect3DRMFrame2* iface)
825 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
827 FIXME("(%p/%p)->(): stub\n", iface, This);
832 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetAxes(IDirect3DRMFrame2* iface,
833 LPD3DVECTOR dir, LPD3DVECTOR up)
835 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
837 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, dir, up);
842 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetMaterial(IDirect3DRMFrame2* iface,
843 LPDIRECT3DRMMATERIAL *material)
845 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
847 FIXME("(%p/%p)->(%p): stub\n", iface, This, material);
852 static BOOL WINAPI IDirect3DRMFrame2Impl_GetInheritAxes(IDirect3DRMFrame2* iface)
854 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
856 FIXME("(%p/%p)->(): stub\n", iface, This);
861 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetHierarchyBox(IDirect3DRMFrame2* iface,
864 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
866 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
871 static const struct IDirect3DRMFrame2Vtbl Direct3DRMFrame2_Vtbl =
873 /*** IUnknown methods ***/
874 IDirect3DRMFrame2Impl_QueryInterface,
875 IDirect3DRMFrame2Impl_AddRef,
876 IDirect3DRMFrame2Impl_Release,
877 /*** IDirect3DRMObject methods ***/
878 IDirect3DRMFrame2Impl_Clone,
879 IDirect3DRMFrame2Impl_AddDestroyCallback,
880 IDirect3DRMFrame2Impl_DeleteDestroyCallback,
881 IDirect3DRMFrame2Impl_SetAppData,
882 IDirect3DRMFrame2Impl_GetAppData,
883 IDirect3DRMFrame2Impl_SetName,
884 IDirect3DRMFrame2Impl_GetName,
885 IDirect3DRMFrame2Impl_GetClassName,
886 /*** IDirect3DRMFrame methods ***/
887 IDirect3DRMFrame2Impl_AddChild,
888 IDirect3DRMFrame2Impl_AddLight,
889 IDirect3DRMFrame2Impl_AddMoveCallback,
890 IDirect3DRMFrame2Impl_AddTransform,
891 IDirect3DRMFrame2Impl_AddTranslation,
892 IDirect3DRMFrame2Impl_AddScale,
893 IDirect3DRMFrame2Impl_AddRotation,
894 IDirect3DRMFrame2Impl_AddVisual,
895 IDirect3DRMFrame2Impl_GetChildren,
896 IDirect3DRMFrame2Impl_GetColor,
897 IDirect3DRMFrame2Impl_GetLights,
898 IDirect3DRMFrame2Impl_GetMaterialMode,
899 IDirect3DRMFrame2Impl_GetParent,
900 IDirect3DRMFrame2Impl_GetPosition,
901 IDirect3DRMFrame2Impl_GetRotation,
902 IDirect3DRMFrame2Impl_GetScene,
903 IDirect3DRMFrame2Impl_GetSortMode,
904 IDirect3DRMFrame2Impl_GetTexture,
905 IDirect3DRMFrame2Impl_GetTransform,
906 IDirect3DRMFrame2Impl_GetVelocity,
907 IDirect3DRMFrame2Impl_GetOrientation,
908 IDirect3DRMFrame2Impl_GetVisuals,
909 IDirect3DRMFrame2Impl_GetTextureTopology,
910 IDirect3DRMFrame2Impl_InverseTransform,
911 IDirect3DRMFrame2Impl_Load,
912 IDirect3DRMFrame2Impl_LookAt,
913 IDirect3DRMFrame2Impl_Move,
914 IDirect3DRMFrame2Impl_DeleteChild,
915 IDirect3DRMFrame2Impl_DeleteLight,
916 IDirect3DRMFrame2Impl_DeleteMoveCallback,
917 IDirect3DRMFrame2Impl_DeleteVisual,
918 IDirect3DRMFrame2Impl_GetSceneBackground,
919 IDirect3DRMFrame2Impl_GetSceneBackgroundDepth,
920 IDirect3DRMFrame2Impl_GetSceneFogColor,
921 IDirect3DRMFrame2Impl_GetSceneFogEnable,
922 IDirect3DRMFrame2Impl_GetSceneFogMode,
923 IDirect3DRMFrame2Impl_GetSceneFogParams,
924 IDirect3DRMFrame2Impl_SetSceneBackground,
925 IDirect3DRMFrame2Impl_SetSceneBackgroundRGB,
926 IDirect3DRMFrame2Impl_SetSceneBackgroundDepth,
927 IDirect3DRMFrame2Impl_SetSceneBackgroundImage,
928 IDirect3DRMFrame2Impl_SetSceneFogEnable,
929 IDirect3DRMFrame2Impl_SetSceneFogColor,
930 IDirect3DRMFrame2Impl_SetSceneFogMode,
931 IDirect3DRMFrame2Impl_SetSceneFogParams,
932 IDirect3DRMFrame2Impl_SetColor,
933 IDirect3DRMFrame2Impl_SetColorRGB,
934 IDirect3DRMFrame2Impl_GetZbufferMode,
935 IDirect3DRMFrame2Impl_SetMaterialMode,
936 IDirect3DRMFrame2Impl_SetOrientation,
937 IDirect3DRMFrame2Impl_SetPosition,
938 IDirect3DRMFrame2Impl_SetRotation,
939 IDirect3DRMFrame2Impl_SetSortMode,
940 IDirect3DRMFrame2Impl_SetTexture,
941 IDirect3DRMFrame2Impl_SetTextureTopology,
942 IDirect3DRMFrame2Impl_SetVelocity,
943 IDirect3DRMFrame2Impl_SetZbufferMode,
944 IDirect3DRMFrame2Impl_Transform,
945 /*** IDirect3DRMFrame2 methods ***/
946 IDirect3DRMFrame2Impl_AddMoveCallback2,
947 IDirect3DRMFrame2Impl_GetBox,
948 IDirect3DRMFrame2Impl_GetBoxEnable,
949 IDirect3DRMFrame2Impl_GetAxes,
950 IDirect3DRMFrame2Impl_GetMaterial,
951 IDirect3DRMFrame2Impl_GetInheritAxes,
952 IDirect3DRMFrame2Impl_GetHierarchyBox
955 /*** IUnknown methods ***/
956 static HRESULT WINAPI IDirect3DRMFrame3Impl_QueryInterface(IDirect3DRMFrame3* iface,
957 REFIID riid, void** object)
959 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
960 return IDirect3DRMFrame_QueryInterface(&This->IDirect3DRMFrame2_iface, riid, object);
963 static ULONG WINAPI IDirect3DRMFrame3Impl_AddRef(IDirect3DRMFrame3* iface)
965 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
966 return IDirect3DRMFrame2_AddRef(&This->IDirect3DRMFrame2_iface);
969 static ULONG WINAPI IDirect3DRMFrame3Impl_Release(IDirect3DRMFrame3* iface)
971 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
972 return IDirect3DRMFrame2_Release(&This->IDirect3DRMFrame2_iface);
975 /*** IDirect3DRMObject methods ***/
976 static HRESULT WINAPI IDirect3DRMFrame3Impl_Clone(IDirect3DRMFrame3* iface,
977 LPUNKNOWN unkwn, REFIID riid,
980 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
982 FIXME("(%p/%p)->(%p, %s, %p): stub\n", iface, This, unkwn, debugstr_guid(riid), object);
987 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddDestroyCallback(IDirect3DRMFrame3* iface,
988 D3DRMOBJECTCALLBACK cb,
991 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
993 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
998 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteDestroyCallback(IDirect3DRMFrame3* iface,
999 D3DRMOBJECTCALLBACK cb,
1002 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1004 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
1009 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetAppData(IDirect3DRMFrame3* iface,
1012 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1014 FIXME("(%p/%p)->(%u): stub\n", iface, This, data);
1019 static DWORD WINAPI IDirect3DRMFrame3Impl_GetAppData(IDirect3DRMFrame3* iface)
1021 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1023 FIXME("(%p/%p)->(): stub\n", iface, This);
1028 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetName(IDirect3DRMFrame3* iface, LPCSTR name)
1030 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1032 FIXME("(%p/%p)->(%s): stub\n", iface, This, name);
1037 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetName(IDirect3DRMFrame3* iface,
1038 LPDWORD size, LPSTR name)
1040 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1042 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
1047 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetClassName(IDirect3DRMFrame3* iface,
1048 LPDWORD size, LPSTR name)
1050 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1052 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
1057 /*** IDirect3DRMFrame methods ***/
1058 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddChild(IDirect3DRMFrame3* iface,
1059 LPDIRECT3DRMFRAME3 child)
1061 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1063 IDirect3DRMFrame3** children;
1065 TRACE("(%p/%p)->(%p)\n", iface, This, child);
1068 return D3DRMERR_BADOBJECT;
1070 /* Check if already existing and return gracefully without increasing ref count */
1071 for (i = 0; i < This->nb_children; i++)
1072 if (This->children[i] == child)
1075 if ((This->nb_children + 1) > This->children_capacity)
1079 if (!This->children_capacity)
1082 children = HeapAlloc(GetProcessHeap(), 0, new_capacity * sizeof(IDirect3DRMFrame3*));
1086 new_capacity = This->children_capacity * 2;
1087 children = HeapReAlloc(GetProcessHeap(), 0, This->children, new_capacity * sizeof(IDirect3DRMFrame3*));
1091 return E_OUTOFMEMORY;
1093 This->children_capacity = new_capacity;
1094 This->children = children;
1097 This->children[This->nb_children++] = child;
1098 IDirect3DRMFrame3_AddRef(child);
1103 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddLight(IDirect3DRMFrame3* iface,
1104 LPDIRECT3DRMLIGHT light)
1106 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1108 FIXME("(%p/%p)->(%p): stub\n", iface, This, light);
1113 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddMoveCallback(IDirect3DRMFrame3* iface,
1114 D3DRMFRAME3MOVECALLBACK cb, VOID *arg,
1117 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1119 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface, This, cb, arg, flags);
1124 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddTransform(IDirect3DRMFrame3* iface,
1125 D3DRMCOMBINETYPE type,
1126 D3DRMMATRIX4D matrix)
1128 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1130 FIXME("(%p/%p)->(%u,%p): stub\n", iface, This, type, matrix);
1135 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddTranslation(IDirect3DRMFrame3* iface,
1136 D3DRMCOMBINETYPE type,
1137 D3DVALUE x, D3DVALUE y, D3DVALUE z)
1139 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1141 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface, This, type, x, y, z);
1146 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddScale(IDirect3DRMFrame3* iface,
1147 D3DRMCOMBINETYPE type,
1148 D3DVALUE sx, D3DVALUE sy, D3DVALUE sz)
1150 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1152 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface, This, type, sx, sy, sz);
1157 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddRotation(IDirect3DRMFrame3* iface,
1158 D3DRMCOMBINETYPE type,
1159 D3DVALUE x, D3DVALUE y, D3DVALUE z,
1162 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1164 FIXME("(%p/%p)->(%u,%f,%f,%f,%f): stub\n", iface, This, type, x, y, z, theta);
1169 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddVisual(IDirect3DRMFrame3* iface, LPUNKNOWN vis)
1171 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1173 FIXME("(%p/%p)->(%p): stub\n", iface, This, vis);
1178 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetChildren(IDirect3DRMFrame3* iface,
1179 LPDIRECT3DRMFRAMEARRAY *children)
1181 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1183 FIXME("(%p/%p)->(%p): stub\n", iface, This, children);
1188 static D3DCOLOR WINAPI IDirect3DRMFrame3Impl_GetColor(IDirect3DRMFrame3* iface)
1190 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1192 FIXME("(%p/%p)->(): stub\n", iface, This);
1197 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetLights(IDirect3DRMFrame3* iface,
1198 LPDIRECT3DRMLIGHTARRAY *lights)
1200 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1202 FIXME("(%p/%p)->(%p): stub\n", iface, This, lights);
1207 static D3DRMMATERIALMODE WINAPI IDirect3DRMFrame3Impl_GetMaterialMode(IDirect3DRMFrame3* iface)
1209 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1211 FIXME("(%p/%p)->(): stub\n", iface, This);
1213 return D3DRMMATERIAL_FROMPARENT;
1216 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetParent(IDirect3DRMFrame3* iface,
1217 LPDIRECT3DRMFRAME3 * frame)
1219 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1221 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
1226 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetPosition(IDirect3DRMFrame3* iface,
1227 LPDIRECT3DRMFRAME3 reference,
1228 LPD3DVECTOR return_position)
1230 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1232 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, reference, return_position);
1237 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetRotation(IDirect3DRMFrame3* iface,
1238 LPDIRECT3DRMFRAME3 reference,
1239 LPD3DVECTOR axis, LPD3DVALUE return_theta)
1241 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1243 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, reference, axis, return_theta);
1248 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetScene(IDirect3DRMFrame3* iface,
1249 LPDIRECT3DRMFRAME3 * frame)
1251 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1253 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
1258 static D3DRMSORTMODE WINAPI IDirect3DRMFrame3Impl_GetSortMode(IDirect3DRMFrame3* iface)
1260 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1262 FIXME("(%p/%p)->(): stub\n", iface, This);
1264 return D3DRMSORT_FROMPARENT;
1267 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetTexture(IDirect3DRMFrame3* iface,
1268 LPDIRECT3DRMTEXTURE3 * tex)
1270 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1272 FIXME("(%p/%p)->(%p): stub\n", iface, This, tex);
1277 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetTransform(IDirect3DRMFrame3* iface,
1278 LPDIRECT3DRMFRAME3 reference,
1279 D3DRMMATRIX4D return_matrix)
1281 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1283 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, reference, return_matrix);
1288 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetVelocity(IDirect3DRMFrame3* iface,
1289 LPDIRECT3DRMFRAME3 reference,
1290 LPD3DVECTOR return_velocity,
1293 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1295 FIXME("(%p/%p)->(%p,%p,%d): stub\n", iface, This, reference, return_velocity, with_rotation);
1300 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetOrientation(IDirect3DRMFrame3* iface,
1301 LPDIRECT3DRMFRAME3 reference,
1302 LPD3DVECTOR dir, LPD3DVECTOR up)
1304 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1306 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, reference, dir, up);
1311 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetVisuals(IDirect3DRMFrame3* iface, LPDWORD num,
1314 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1316 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, num, visuals);
1321 static HRESULT WINAPI IDirect3DRMFrame3Impl_InverseTransform(IDirect3DRMFrame3* iface,
1322 D3DVECTOR *d, D3DVECTOR *s)
1324 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1326 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, d, s);
1331 static HRESULT WINAPI IDirect3DRMFrame3Impl_Load(IDirect3DRMFrame3* iface, LPVOID filename,
1332 LPVOID name, D3DRMLOADOPTIONS loadflags,
1333 D3DRMLOADTEXTURE3CALLBACK cb, LPVOID lpArg)
1335 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1337 FIXME("(%p/%p)->(%p,%p,%u,%p,%p): stub\n", iface, This, filename, name, loadflags, cb, lpArg);
1342 static HRESULT WINAPI IDirect3DRMFrame3Impl_LookAt(IDirect3DRMFrame3* iface,
1343 LPDIRECT3DRMFRAME3 target,
1344 LPDIRECT3DRMFRAME3 reference,
1345 D3DRMFRAMECONSTRAINT constraint)
1347 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1349 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface, This, target, reference, constraint);
1354 static HRESULT WINAPI IDirect3DRMFrame3Impl_Move(IDirect3DRMFrame3* iface, D3DVALUE delta)
1356 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1358 FIXME("(%p/%p)->(%f): stub\n", iface, This, delta);
1363 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteChild(IDirect3DRMFrame3* iface,
1364 LPDIRECT3DRMFRAME3 frame)
1366 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1369 TRACE("(%p/%p)->(%p)\n", iface, This, frame);
1372 return D3DRMERR_BADOBJECT;
1374 /* Check if child exists */
1375 for (i = 0; i < This->nb_children; i++)
1376 if (This->children[i] == frame)
1379 if (i == This->nb_children)
1380 return D3DRMERR_BADVALUE;
1382 memmove(This->children + i, This->children + i + 1, sizeof(IDirect3DRMFrame3*) * (This->nb_children - 1 - i));
1383 IDirect3DRMFrame3_Release(frame);
1384 This->nb_children--;
1389 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteLight(IDirect3DRMFrame3* iface,
1390 LPDIRECT3DRMLIGHT light)
1392 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1394 FIXME("(%p/%p)->(%p): stub\n", iface, This, light);
1399 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteMoveCallback(IDirect3DRMFrame3* iface,
1400 D3DRMFRAME3MOVECALLBACK cb,
1403 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1405 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, cb, arg);
1410 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteVisual(IDirect3DRMFrame3* iface, LPUNKNOWN vis)
1412 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1414 FIXME("(%p/%p)->(%p): stub\n", iface, This, vis);
1419 static D3DCOLOR WINAPI IDirect3DRMFrame3Impl_GetSceneBackground(IDirect3DRMFrame3* iface)
1421 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1423 FIXME("(%p/%p)->(): stub\n", iface, This);
1428 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetSceneBackgroundDepth(IDirect3DRMFrame3* iface,
1429 LPDIRECTDRAWSURFACE * surface)
1431 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1433 FIXME("(%p/%p)->(%p): stub\n", iface, This, surface);
1438 static D3DCOLOR WINAPI IDirect3DRMFrame3Impl_GetSceneFogColor(IDirect3DRMFrame3* iface)
1440 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1442 FIXME("(%p/%p)->(): stub\n", iface, This);
1447 static BOOL WINAPI IDirect3DRMFrame3Impl_GetSceneFogEnable(IDirect3DRMFrame3* iface)
1449 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1451 FIXME("(%p/%p)->(): stub\n", iface, This);
1456 static D3DRMFOGMODE WINAPI IDirect3DRMFrame3Impl_GetSceneFogMode(IDirect3DRMFrame3* iface)
1458 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1460 FIXME("(%p/%p)->(): stub\n", iface, This);
1462 return D3DRMFOG_LINEAR;
1465 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetSceneFogParams(IDirect3DRMFrame3* iface,
1466 D3DVALUE *return_start,
1467 D3DVALUE *return_end,
1468 D3DVALUE *return_density)
1470 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1472 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, return_start, return_end, return_density);
1477 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneBackground(IDirect3DRMFrame3* iface,
1480 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1482 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
1487 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneBackgroundRGB(IDirect3DRMFrame3* iface,
1488 D3DVALUE red, D3DVALUE green,
1491 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1493 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, red, green, blue);
1498 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneBackgroundDepth(IDirect3DRMFrame3* iface,
1499 LPDIRECTDRAWSURFACE surface)
1501 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1503 FIXME("(%p/%p)->(%p): stub\n", iface, This, surface);
1508 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneBackgroundImage(IDirect3DRMFrame3* iface,
1509 LPDIRECT3DRMTEXTURE3 texture)
1511 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1513 FIXME("(%p/%p)->(%p): stub\n", iface, This, texture);
1518 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogEnable(IDirect3DRMFrame3* iface, BOOL enable)
1520 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1522 FIXME("(%p/%p)->(%d): stub\n", iface, This, enable);
1527 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogColor(IDirect3DRMFrame3* iface,
1530 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1532 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
1537 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogMode(IDirect3DRMFrame3* iface,
1540 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1542 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
1547 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogParams(IDirect3DRMFrame3* iface,
1548 D3DVALUE start, D3DVALUE end,
1551 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1553 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, start, end, density);
1558 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetColor(IDirect3DRMFrame3* iface, D3DCOLOR color)
1560 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1562 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
1567 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetColorRGB(IDirect3DRMFrame3* iface, D3DVALUE red,
1568 D3DVALUE green, D3DVALUE blue)
1570 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1572 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, red, green, blue);
1577 static D3DRMZBUFFERMODE WINAPI IDirect3DRMFrame3Impl_GetZbufferMode(IDirect3DRMFrame3* iface)
1579 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1581 FIXME("(%p/%p)->(): stub\n", iface, This);
1583 return D3DRMZBUFFER_FROMPARENT;
1586 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetMaterialMode(IDirect3DRMFrame3* iface,
1587 D3DRMMATERIALMODE mode)
1589 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1591 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
1596 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetOrientation(IDirect3DRMFrame3* iface,
1597 LPDIRECT3DRMFRAME3 reference,
1598 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1599 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz )
1601 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1603 FIXME("(%p/%p)->(%p,%f,%f,%f,%f,%f,%f): stub\n", iface, This, reference,
1604 dx, dy, dz, ux, uy, uz);
1609 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetPosition(IDirect3DRMFrame3* iface,
1610 LPDIRECT3DRMFRAME3 reference,
1611 D3DVALUE x, D3DVALUE y, D3DVALUE z)
1613 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1615 FIXME("(%p/%p)->(%p,%f,%f,%f): stub\n", iface, This, reference, x, y, z);
1620 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetRotation(IDirect3DRMFrame3* iface,
1621 LPDIRECT3DRMFRAME3 reference,
1622 D3DVALUE x, D3DVALUE y, D3DVALUE z,
1625 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1627 FIXME("(%p/%p)->(%p,%f,%f,%f,%f): stub\n", iface, This, reference, x, y, z, theta);
1632 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSortMode(IDirect3DRMFrame3* iface,
1635 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1637 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
1642 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetTexture(IDirect3DRMFrame3* iface,
1643 LPDIRECT3DRMTEXTURE3 texture)
1645 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1647 FIXME("(%p/%p)->(%p): stub\n", iface, This, texture);
1652 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetVelocity(IDirect3DRMFrame3* iface,
1653 LPDIRECT3DRMFRAME3 reference,
1654 D3DVALUE x, D3DVALUE y, D3DVALUE z,
1657 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1659 FIXME("(%p/%p)->(%p,%f,%f,%f,%d): stub\n", iface, This, reference, x, y, z, with_rotation);
1664 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetZbufferMode(IDirect3DRMFrame3* iface,
1665 D3DRMZBUFFERMODE mode)
1667 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1669 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
1674 static HRESULT WINAPI IDirect3DRMFrame3Impl_Transform(IDirect3DRMFrame3* iface, D3DVECTOR *d,
1677 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1679 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, d, s);
1684 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetBox(IDirect3DRMFrame3* iface, LPD3DRMBOX box)
1686 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1688 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
1693 static BOOL WINAPI IDirect3DRMFrame3Impl_GetBoxEnable(IDirect3DRMFrame3* iface)
1695 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1697 FIXME("(%p/%p)->(): stub\n", iface, This);
1702 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetAxes(IDirect3DRMFrame3* iface,
1703 LPD3DVECTOR dir, LPD3DVECTOR up)
1705 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1707 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, dir, up);
1712 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetMaterial(IDirect3DRMFrame3* iface,
1713 LPDIRECT3DRMMATERIAL2 *material)
1715 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1717 FIXME("(%p/%p)->(%p): stub\n", iface, This, material);
1722 static BOOL WINAPI IDirect3DRMFrame3Impl_GetInheritAxes(IDirect3DRMFrame3* iface)
1724 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1726 FIXME("(%p/%p)->(): stub\n", iface, This);
1731 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetHierarchyBox(IDirect3DRMFrame3* iface,
1734 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1736 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
1741 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetBox(IDirect3DRMFrame3* iface, LPD3DRMBOX box)
1743 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1745 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
1750 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetBoxEnable(IDirect3DRMFrame3* iface, BOOL enable)
1752 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1754 FIXME("(%p/%p)->(%u): stub\n", iface, This, enable);
1759 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetAxes(IDirect3DRMFrame3* iface,
1760 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1761 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz)
1763 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1765 FIXME("(%p/%p)->(%f,%f,%f,%f,%f,%f): stub\n", iface, This, dx, dy, dz, ux, uy, uz);
1770 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetInheritAxes(IDirect3DRMFrame3* iface,
1771 BOOL inherit_from_parent)
1773 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1775 FIXME("(%p/%p)->(%u): stub\n", iface, This, inherit_from_parent);
1780 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetMaterial(IDirect3DRMFrame3* iface,
1781 LPDIRECT3DRMMATERIAL2 material)
1783 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1785 FIXME("(%p/%p)->(%p): stub\n", iface, This, material);
1790 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetQuaternion(IDirect3DRMFrame3* iface,
1791 LPDIRECT3DRMFRAME3 reference,
1794 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1796 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, reference, q);
1801 static HRESULT WINAPI IDirect3DRMFrame3Impl_RayPick(IDirect3DRMFrame3* iface,
1802 LPDIRECT3DRMFRAME3 reference, LPD3DRMRAY ray,
1804 LPDIRECT3DRMPICKED2ARRAY *return_visuals)
1806 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1808 FIXME("(%p/%p)->(%p,%p,%u,%p): stub\n", iface, This, reference, ray, flags, return_visuals);
1813 static HRESULT WINAPI IDirect3DRMFrame3Impl_Save(IDirect3DRMFrame3* iface, LPCSTR filename,
1814 D3DRMXOFFORMAT d3dFormat,
1815 D3DRMSAVEOPTIONS d3dSaveFlags)
1817 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1819 FIXME("(%p/%p)->(%p,%u,%u): stub\n", iface, This, filename, d3dFormat, d3dSaveFlags);
1824 static HRESULT WINAPI IDirect3DRMFrame3Impl_TransformVectors(IDirect3DRMFrame3* iface,
1825 LPDIRECT3DRMFRAME3 reference,
1826 DWORD num, LPD3DVECTOR dst,
1829 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1831 FIXME("(%p/%p)->(%p,%u,%p,%p): stub\n", iface, This, reference, num, dst, src);
1836 static HRESULT WINAPI IDirect3DRMFrame3Impl_InverseTransformVectors(IDirect3DRMFrame3* iface,
1837 LPDIRECT3DRMFRAME3 reference,
1838 DWORD num, LPD3DVECTOR dst,
1841 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1843 FIXME("(%p/%p)->(%p,%u,%p,%p): stub\n", iface, This, reference, num, dst, src);
1848 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetTraversalOptions(IDirect3DRMFrame3* iface,
1851 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1853 FIXME("(%p/%p)->(%u): stub\n", iface, This, flags);
1858 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetTraversalOptions(IDirect3DRMFrame3* iface,
1861 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1863 FIXME("(%p/%p)->(%p): stub\n", iface, This, flags);
1868 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogMethod(IDirect3DRMFrame3* iface,
1871 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1873 FIXME("(%p/%p)->(%u): stub\n", iface, This, flags);
1878 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetSceneFogMethod(IDirect3DRMFrame3* iface,
1881 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1883 FIXME("(%p/%p)->(%p): stub\n", iface, This, flags);
1888 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetMaterialOverride(IDirect3DRMFrame3* iface,
1889 LPD3DRMMATERIALOVERRIDE override)
1891 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1893 FIXME("(%p/%p)->(%p): stub\n", iface, This, override);
1898 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetMaterialOverride(IDirect3DRMFrame3* iface,
1899 LPD3DRMMATERIALOVERRIDE override)
1901 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1903 FIXME("(%p/%p)->(%p): stub\n", iface, This, override);
1908 static const struct IDirect3DRMFrame3Vtbl Direct3DRMFrame3_Vtbl =
1910 /*** IUnknown methods ***/
1911 IDirect3DRMFrame3Impl_QueryInterface,
1912 IDirect3DRMFrame3Impl_AddRef,
1913 IDirect3DRMFrame3Impl_Release,
1914 /*** IDirect3DRMObject methods ***/
1915 IDirect3DRMFrame3Impl_Clone,
1916 IDirect3DRMFrame3Impl_AddDestroyCallback,
1917 IDirect3DRMFrame3Impl_DeleteDestroyCallback,
1918 IDirect3DRMFrame3Impl_SetAppData,
1919 IDirect3DRMFrame3Impl_GetAppData,
1920 IDirect3DRMFrame3Impl_SetName,
1921 IDirect3DRMFrame3Impl_GetName,
1922 IDirect3DRMFrame3Impl_GetClassName,
1923 /*** IDirect3DRMFrame3 methods ***/
1924 IDirect3DRMFrame3Impl_AddChild,
1925 IDirect3DRMFrame3Impl_AddLight,
1926 IDirect3DRMFrame3Impl_AddMoveCallback,
1927 IDirect3DRMFrame3Impl_AddTransform,
1928 IDirect3DRMFrame3Impl_AddTranslation,
1929 IDirect3DRMFrame3Impl_AddScale,
1930 IDirect3DRMFrame3Impl_AddRotation,
1931 IDirect3DRMFrame3Impl_AddVisual,
1932 IDirect3DRMFrame3Impl_GetChildren,
1933 IDirect3DRMFrame3Impl_GetColor,
1934 IDirect3DRMFrame3Impl_GetLights,
1935 IDirect3DRMFrame3Impl_GetMaterialMode,
1936 IDirect3DRMFrame3Impl_GetParent,
1937 IDirect3DRMFrame3Impl_GetPosition,
1938 IDirect3DRMFrame3Impl_GetRotation,
1939 IDirect3DRMFrame3Impl_GetScene,
1940 IDirect3DRMFrame3Impl_GetSortMode,
1941 IDirect3DRMFrame3Impl_GetTexture,
1942 IDirect3DRMFrame3Impl_GetTransform,
1943 IDirect3DRMFrame3Impl_GetVelocity,
1944 IDirect3DRMFrame3Impl_GetOrientation,
1945 IDirect3DRMFrame3Impl_GetVisuals,
1946 IDirect3DRMFrame3Impl_InverseTransform,
1947 IDirect3DRMFrame3Impl_Load,
1948 IDirect3DRMFrame3Impl_LookAt,
1949 IDirect3DRMFrame3Impl_Move,
1950 IDirect3DRMFrame3Impl_DeleteChild,
1951 IDirect3DRMFrame3Impl_DeleteLight,
1952 IDirect3DRMFrame3Impl_DeleteMoveCallback,
1953 IDirect3DRMFrame3Impl_DeleteVisual,
1954 IDirect3DRMFrame3Impl_GetSceneBackground,
1955 IDirect3DRMFrame3Impl_GetSceneBackgroundDepth,
1956 IDirect3DRMFrame3Impl_GetSceneFogColor,
1957 IDirect3DRMFrame3Impl_GetSceneFogEnable,
1958 IDirect3DRMFrame3Impl_GetSceneFogMode,
1959 IDirect3DRMFrame3Impl_GetSceneFogParams,
1960 IDirect3DRMFrame3Impl_SetSceneBackground,
1961 IDirect3DRMFrame3Impl_SetSceneBackgroundRGB,
1962 IDirect3DRMFrame3Impl_SetSceneBackgroundDepth,
1963 IDirect3DRMFrame3Impl_SetSceneBackgroundImage,
1964 IDirect3DRMFrame3Impl_SetSceneFogEnable,
1965 IDirect3DRMFrame3Impl_SetSceneFogColor,
1966 IDirect3DRMFrame3Impl_SetSceneFogMode,
1967 IDirect3DRMFrame3Impl_SetSceneFogParams,
1968 IDirect3DRMFrame3Impl_SetColor,
1969 IDirect3DRMFrame3Impl_SetColorRGB,
1970 IDirect3DRMFrame3Impl_GetZbufferMode,
1971 IDirect3DRMFrame3Impl_SetMaterialMode,
1972 IDirect3DRMFrame3Impl_SetOrientation,
1973 IDirect3DRMFrame3Impl_SetPosition,
1974 IDirect3DRMFrame3Impl_SetRotation,
1975 IDirect3DRMFrame3Impl_SetSortMode,
1976 IDirect3DRMFrame3Impl_SetTexture,
1977 IDirect3DRMFrame3Impl_SetVelocity,
1978 IDirect3DRMFrame3Impl_SetZbufferMode,
1979 IDirect3DRMFrame3Impl_Transform,
1980 IDirect3DRMFrame3Impl_GetBox,
1981 IDirect3DRMFrame3Impl_GetBoxEnable,
1982 IDirect3DRMFrame3Impl_GetAxes,
1983 IDirect3DRMFrame3Impl_GetMaterial,
1984 IDirect3DRMFrame3Impl_GetInheritAxes,
1985 IDirect3DRMFrame3Impl_GetHierarchyBox,
1986 IDirect3DRMFrame3Impl_SetBox,
1987 IDirect3DRMFrame3Impl_SetBoxEnable,
1988 IDirect3DRMFrame3Impl_SetAxes,
1989 IDirect3DRMFrame3Impl_SetInheritAxes,
1990 IDirect3DRMFrame3Impl_SetMaterial,
1991 IDirect3DRMFrame3Impl_SetQuaternion,
1992 IDirect3DRMFrame3Impl_RayPick,
1993 IDirect3DRMFrame3Impl_Save,
1994 IDirect3DRMFrame3Impl_TransformVectors,
1995 IDirect3DRMFrame3Impl_InverseTransformVectors,
1996 IDirect3DRMFrame3Impl_SetTraversalOptions,
1997 IDirect3DRMFrame3Impl_GetTraversalOptions,
1998 IDirect3DRMFrame3Impl_SetSceneFogMethod,
1999 IDirect3DRMFrame3Impl_GetSceneFogMethod,
2000 IDirect3DRMFrame3Impl_SetMaterialOverride,
2001 IDirect3DRMFrame3Impl_GetMaterialOverride
2004 static inline IDirect3DRMFrameImpl *unsafe_impl_from_IDirect3DRMFrame2(IDirect3DRMFrame2 *iface)
2008 assert(iface->lpVtbl == &Direct3DRMFrame2_Vtbl);
2010 return impl_from_IDirect3DRMFrame2(iface);
2013 HRESULT Direct3DRMFrame_create(REFIID riid, IUnknown** ppObj)
2015 IDirect3DRMFrameImpl* object;
2017 TRACE("(%p)\n", ppObj);
2019 object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirect3DRMFrameImpl));
2022 ERR("Out of memory\n");
2023 return E_OUTOFMEMORY;
2026 object->IDirect3DRMFrame2_iface.lpVtbl = &Direct3DRMFrame2_Vtbl;
2027 object->IDirect3DRMFrame3_iface.lpVtbl = &Direct3DRMFrame3_Vtbl;
2030 if (IsEqualGUID(riid, &IID_IDirect3DRMFrame3))
2031 *ppObj = (IUnknown*)&object->IDirect3DRMFrame3_iface;
2033 *ppObj = (IUnknown*)&object->IDirect3DRMFrame2_iface;